커뮤니티

문의 드립니다!

프로필 이미지
유로파54
2022-11-25 11:22:49
734
글번호 164156
답변완료
안녕하세요! 아래 수식을 대상으로 해서 다음과같이 2가지 경우로 수정 부탁드립니다 1, 수식1과 수식2의 조건이 일치시 선이 발생토록 수정 2, 수식1과 수식3의 조건이 일치시 선이 발생토록 수정 감사합니다!! ---------------------------------------------------- <수식 1> input : N(30),색1(white),색2(white),굵기1(2),굵기2(2),형태1(1),형태2(1); input : 세로선색(White),세로선굵기(2),세로선형태(1); var : cnt(0),HH(0),LL(0),HTL1(0),LTL1(0),H1(0),L1(0),TL(0); Array : HTL[100](0),LTL[100](0),HV[100](0),LV[100](0); if Sdate != sDate[1] Then { value1 = sDate; Value2 = value1[1]; Value3 = sTime; Value4 = Value3[1]; For cnt = 1 to N { HV[cnt] = 0; LV[cnt] = 0; TL_Delete(HTL[cnt]); TL_Delete(LTL[cnt]); var1 = max(DayOpen(cnt),DayClose(cnt)); var2 = min(DayOpen(cnt),DayClose(cnt)); if cnt == 1 Then { HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); HV[cnt] = var1; TL_SetColor(HTL[cnt],색1); TL_SetSize(HTL[cnt],굵기1); TL_SetStyle(HTL[cnt],형태1); TL_SetExtRight(HTL[cnt],true); TL_SetDrawMode(HTL[cnt],0); HH = var1; LTL[cnt] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); LV[cnt] = var2; TL_SetColor(LTL[cnt],색2); TL_SetSize(LTL[cnt],굵기2); TL_SetStyle(LTL[cnt],형태2); TL_SetExtRight(LTL[cnt],true); TL_SetDrawMode(LTL[cnt],0); LL = var2; } Else { if abs(var1-DayOpen(0)) < 10 and (var1 > HH or var1 < LL) Then { HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); HV[cnt] = var1; TL_SetColor(HTL[cnt],색1); TL_SetSize(HTL[cnt],굵기1); TL_SetStyle(HTL[cnt],형태1); TL_SetExtRight(HTL[cnt],true); TL_SetDrawMode(HTL[cnt],0); } if abs(Var2-DayOpen(0)) < 10 and (Var2 > HH or Var2 < LL) Then { LTL[cnt] = TL_New(sDate,sTime,Var2,NextBarSdate,NextBarStime,Var2); LV[cnt] = var2; TL_SetColor(LTL[cnt],색2); TL_SetSize(LTL[cnt],굵기2); TL_SetStyle(LTL[cnt],형태2); TL_SetExtRight(LTL[cnt],true); TL_SetDrawMode(LTL[cnt],0); } if var1 > HH and abs(var1-DayOpen(0)) < 10 Then HH = DayHigh(cnt); if Var2 < LL and abs(Var2-DayOpen(0)) < 10 Then LL = DayLow(cnt); } var3 = max(DayOpen(cnt+1),DayClose(cnt+1)); var4 = min(DayOpen(cnt+1),DayClose(cnt+1)); if cnt == 1 Then { HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3); TL_SetColor(HTL1,색1); TL_SetSize(HTL1,굵기1); TL_SetStyle(HTL1,형태1); TL_SetDrawMode(HTL1,0); H1 = var3; LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4); TL_SetColor(LTL1,색2); TL_SetSize(LTL1,굵기2); TL_SetStyle(LTL1,형태2); TL_SetDrawMode(LTL1,0); L1 = var4; } Else { if abs(var3-DayOpen(1)) < 10 and (var3 > H1 or var3 < L1) Then { HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3); TL_SetColor(HTL1,색1); TL_SetSize(HTL1,굵기1); TL_SetStyle(HTL1,형태1); TL_SetDrawMode(HTL1,0); } if abs(Var4-DayOpen(1)) < 10 and (Var4 > H1 or Var4 < L1) Then { LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4); TL_SetColor(LTL1,색2); TL_SetSize(LTL1,굵기2); TL_SetStyle(LTL1,형태2); TL_SetDrawMode(LTL1,0); } if var3 > H1 and abs(var3-DayOpen(1)) < 10 Then H1 = Var3; if Var2 < L1 and abs(Var2-DayOpen(0)) < 10 Then L1 = Var4; } } } Else { Condition1 = False; For cnt = 1 to N { if (HV[cnt] > 0 and H >= HV[cnt] and H[1] < HV[cnt]) or (HV[cnt] > 0 and L <= HV[cnt] and L[1] > HV[cnt]) or (LV[cnt] > 0 and H >= LV[cnt] and H[1] < LV[cnt]) or (LV[cnt] > 0 and L <= LV[cnt] and L[1] > LV[cnt]) Then Condition1 = true; } if Condition1 == true Then { TL = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL,세로선색); TL_SetSize(TL,세로선굵기); TL_SetStyle(TL,세로선형태); } } <수식 2> input : 굵기1(3),굵기2(3),굵기3(3),굵기4(3); var : cond11(false,data1),cond21(false,data1); var : cond12(false,data1),cond22(false,data1); var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1); plot1(data2(highD(0)),"data2고가"); plot2(data2(LowD(0)),"data2저가"); plot3(data3(highD(0)),"data3고가"); plot4(data3(LowD(0)),"data3저가"); cond11 = data2(highD(0)) >= data3(highD(0)-PriceScale*1); cond21 = data3(lowD(0)) <= data2(lowD(0)+PriceScale*1); if sTime >= 90300 and Cond11 == true and cond11[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL1,White); TL_SetSize(TL1,굵기1); } if sTime >= 90300 and Cond21 == true and cond21[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL2,Yellow); TL_SetSize(TL2,굵기2); } cond12 = data2(LowD(0)) <= data3(lowD(0)+PriceScale*1); cond22 = data3(highD(0)) >= data2(highD(0)-PriceScale*1); if sTime >= 90300 and Cond12 == true and cond12[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL3,White); TL_SetSize(TL3,굵기3); } if sTime >= 90300 and Cond22 == true and cond22[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL4,Yellow); TL_SetSize(TL4,굵기4); } <수식 3> input : N(1); var : V1(0,data1); var : idx(0,Data1); if Bdate != Bdate[1] Then { v1 = 0; idx = 0; } idx = idx+1; if idx >= N Then { if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then { v1 = data1(C); } if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then { v1 = data1(C); } plot1(v1); plot2(v1); } Else { NoPlot(1); NoPlot(2); }
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2022-11-25 15:01:38

> 유로파54 님이 쓴 글입니다. > 제목 : 문의 드립니다! > 안녕하세요! 아래 수식을 대상으로 해서 다음과같이 2가지 경우로 수정 부탁드립니다 1, 수식1과 수식2의 조건이 일치시 선이 발생토록 수정 2, 수식1과 수식3의 조건이 일치시 선이 발생토록 수정 감사합니다!! ---------------------------------------------------- <수식 1> input : N(30),색1(white),색2(white),굵기1(2),굵기2(2),형태1(1),형태2(1); input : 세로선색(White),세로선굵기(2),세로선형태(1); var : cnt(0),HH(0),LL(0),HTL1(0),LTL1(0),H1(0),L1(0),TL(0); Array : HTL[100](0),LTL[100](0),HV[100](0),LV[100](0); if Sdate != sDate[1] Then { value1 = sDate; Value2 = value1[1]; Value3 = sTime; Value4 = Value3[1]; For cnt = 1 to N { HV[cnt] = 0; LV[cnt] = 0; TL_Delete(HTL[cnt]); TL_Delete(LTL[cnt]); var1 = max(DayOpen(cnt),DayClose(cnt)); var2 = min(DayOpen(cnt),DayClose(cnt)); if cnt == 1 Then { HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); HV[cnt] = var1; TL_SetColor(HTL[cnt],색1); TL_SetSize(HTL[cnt],굵기1); TL_SetStyle(HTL[cnt],형태1); TL_SetExtRight(HTL[cnt],true); TL_SetDrawMode(HTL[cnt],0); HH = var1; LTL[cnt] = TL_New(sDate,sTime,var2,NextBarSdate,NextBarStime,var2); LV[cnt] = var2; TL_SetColor(LTL[cnt],색2); TL_SetSize(LTL[cnt],굵기2); TL_SetStyle(LTL[cnt],형태2); TL_SetExtRight(LTL[cnt],true); TL_SetDrawMode(LTL[cnt],0); LL = var2; } Else { if abs(var1-DayOpen(0)) < 10 and (var1 > HH or var1 < LL) Then { HTL[cnt] = TL_New(sDate,sTime,var1,NextBarSdate,NextBarStime,var1); HV[cnt] = var1; TL_SetColor(HTL[cnt],색1); TL_SetSize(HTL[cnt],굵기1); TL_SetStyle(HTL[cnt],형태1); TL_SetExtRight(HTL[cnt],true); TL_SetDrawMode(HTL[cnt],0); } if abs(Var2-DayOpen(0)) < 10 and (Var2 > HH or Var2 < LL) Then { LTL[cnt] = TL_New(sDate,sTime,Var2,NextBarSdate,NextBarStime,Var2); LV[cnt] = var2; TL_SetColor(LTL[cnt],색2); TL_SetSize(LTL[cnt],굵기2); TL_SetStyle(LTL[cnt],형태2); TL_SetExtRight(LTL[cnt],true); TL_SetDrawMode(LTL[cnt],0); } if var1 > HH and abs(var1-DayOpen(0)) < 10 Then HH = DayHigh(cnt); if Var2 < LL and abs(Var2-DayOpen(0)) < 10 Then LL = DayLow(cnt); } var3 = max(DayOpen(cnt+1),DayClose(cnt+1)); var4 = min(DayOpen(cnt+1),DayClose(cnt+1)); if cnt == 1 Then { HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3); TL_SetColor(HTL1,색1); TL_SetSize(HTL1,굵기1); TL_SetStyle(HTL1,형태1); TL_SetDrawMode(HTL1,0); H1 = var3; LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4); TL_SetColor(LTL1,색2); TL_SetSize(LTL1,굵기2); TL_SetStyle(LTL1,형태2); TL_SetDrawMode(LTL1,0); L1 = var4; } Else { if abs(var3-DayOpen(1)) < 10 and (var3 > H1 or var3 < L1) Then { HTL1 = TL_New(Value2,value4,var3,sDate[1],sTime[1],var3); TL_SetColor(HTL1,색1); TL_SetSize(HTL1,굵기1); TL_SetStyle(HTL1,형태1); TL_SetDrawMode(HTL1,0); } if abs(Var4-DayOpen(1)) < 10 and (Var4 > H1 or Var4 < L1) Then { LTL1 = TL_New(Value2,Value3,var4,sDate[1],sTime[1],var4); TL_SetColor(LTL1,색2); TL_SetSize(LTL1,굵기2); TL_SetStyle(LTL1,형태2); TL_SetDrawMode(LTL1,0); } if var3 > H1 and abs(var3-DayOpen(1)) < 10 Then H1 = Var3; if Var2 < L1 and abs(Var2-DayOpen(0)) < 10 Then L1 = Var4; } } } Else { Condition1 = False; For cnt = 1 to N { if (HV[cnt] > 0 and H >= HV[cnt] and H[1] < HV[cnt]) or (HV[cnt] > 0 and L <= HV[cnt] and L[1] > HV[cnt]) or (LV[cnt] > 0 and H >= LV[cnt] and H[1] < LV[cnt]) or (LV[cnt] > 0 and L <= LV[cnt] and L[1] > LV[cnt]) Then Condition1 = true; } if Condition1 == true Then { TL = TL_New(sDate,sTime,0,sDate,sTime,99999999); TL_SetColor(TL,세로선색); TL_SetSize(TL,세로선굵기); TL_SetStyle(TL,세로선형태); } } <수식 2> input : 굵기1(3),굵기2(3),굵기3(3),굵기4(3); var : cond11(false,data1),cond21(false,data1); var : cond12(false,data1),cond22(false,data1); var : TL1(0,Data1),TL2(0,Data1),TL3(0,Data1),TL4(0,Data1); plot1(data2(highD(0)),"data2고가"); plot2(data2(LowD(0)),"data2저가"); plot3(data3(highD(0)),"data3고가"); plot4(data3(LowD(0)),"data3저가"); cond11 = data2(highD(0)) >= data3(highD(0)-PriceScale*1); cond21 = data3(lowD(0)) <= data2(lowD(0)+PriceScale*1); if sTime >= 90300 and Cond11 == true and cond11[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL1 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL1,White); TL_SetSize(TL1,굵기1); } if sTime >= 90300 and Cond21 == true and cond21[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL2 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL2,Yellow); TL_SetSize(TL2,굵기2); } cond12 = data2(LowD(0)) <= data3(lowD(0)+PriceScale*1); cond22 = data3(highD(0)) >= data2(highD(0)-PriceScale*1); if sTime >= 90300 and Cond12 == true and cond12[1] == false Then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL3 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL3,White); TL_SetSize(TL3,굵기3); } if sTime >= 90300 and Cond22 == true and cond22[1] == false then { PlaySound("C:₩예스트레이더₩data₩Sound₩.wav"); TL4 = TL_New(sDate,stime,0,sDate,sTime,99999999); TL_SetColor(TL4,Yellow); TL_SetSize(TL4,굵기4); } <수식 3> input : N(1); var : V1(0,data1); var : idx(0,Data1); if Bdate != Bdate[1] Then { v1 = 0; idx = 0; } idx = idx+1; if idx >= N Then { if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then { v1 = data1(C); } if crossup(data6(H),data21(L)) or CrossDown(data6(L),data21(H)) Then { v1 = data1(C); } plot1(v1); plot2(v1); } Else { NoPlot(1); NoPlot(2); }