커뮤니티

지그재그

프로필 이미지
blueo
2020-09-10 11:44:23
789
글번호 142246
답변완료
안녕하세요 관리자님 이전 답변에 감사 드립니다. 지그재그 수식중에 특정 조건 만족시 지그재그를 셀수 있는지 셀수 있다면 예를 들어(기준선1[0]&nbsp;>=&nbsp;기준선2[0])&nbsp; hi 3번까지 매수 진입 활성화 (기준선1[0]&nbsp;<&nbsp;기준선2[0])&nbsp; Lo 3번까지 매도 진입 활성화 이런 식으로 만들수 있는지 문의 드립니다. 늘 감사 드립니다. 좋은 하루 되세요 Input:기준선기간1(20),기준선기간2(60); var:기준선1(0),기준선2(0); 기준선1&nbsp;=&nbsp;(Highest(High,&nbsp;기준선기간1)&nbsp;+&nbsp;Lowest(Low,&nbsp;기준선기간1))&nbsp;/&nbsp;2&nbsp;; 기준선2&nbsp;=&nbsp;(Highest(High,&nbsp;기준선기간2)&nbsp;+&nbsp;Lowest(Low,&nbsp;기준선기간2))&nbsp;/&nbsp;2&nbsp;; (기준선1[0]&nbsp;>=&nbsp;기준선2[0])&nbsp; (기준선1[0]&nbsp;<&nbsp;기준선2[0])&nbsp; Input:chngRate(0.1); &nbsp;&nbsp;&nbsp;Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); &nbsp;&nbsp;&nbsp;Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); &nbsp;&nbsp;&nbsp;For&nbsp;j&nbsp;=&nbsp;0&nbsp;To&nbsp;9&nbsp; &nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;barArr[j]&nbsp;=&nbsp;barArr[j]&nbsp;+&nbsp;1;&nbsp; &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;Condition1&nbsp;=&nbsp;Min(valArr[1],valArr[2])&nbsp;*&nbsp;(1&nbsp;+&nbsp;(chngRate/100))&nbsp;<&nbsp;H&nbsp;and&nbsp;lastHiVal&nbsp;<&nbsp;H; &nbsp;&nbsp;&nbsp;Condition2&nbsp;=&nbsp;Max(valArr[1],valArr[2])&nbsp;*&nbsp;(1&nbsp;-&nbsp;(chngRate/100))&nbsp;>&nbsp;L&nbsp;and&nbsp;(lastLoVal&nbsp;>&nbsp;L&nbsp;||&nbsp;lastLoVal&nbsp;==&nbsp;0); &nbsp;&nbsp;&nbsp;If&nbsp;Condition1&nbsp;Then&nbsp;{&nbsp;lastHiVal&nbsp;=&nbsp;H;&nbsp;&nbsp;lastLoVal&nbsp;=&nbsp;0;&nbsp;} &nbsp;&nbsp;&nbsp;If&nbsp;Condition2&nbsp;Then&nbsp;{&nbsp;lastLoVal&nbsp;=&nbsp;L;&nbsp;&nbsp;lastHiVal&nbsp;=&nbsp;0;&nbsp;}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;turnPntBit&nbsp;=&nbsp;""; &nbsp;&nbsp;&nbsp;If&nbsp;Condition1&nbsp;and&nbsp;Condition2&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;Max(valArr[1],valArr[2])&nbsp;<&nbsp;H&nbsp;and&nbsp;Min(valArr[1],valArr[2])&nbsp;>&nbsp;L&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turnPntBit&nbsp;=&nbsp;"HiLo"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;If&nbsp;Max(valArr[1],valArr[2])&nbsp;<&nbsp;H&nbsp;Then&nbsp;turnPntBit&nbsp;=&nbsp;"Hi"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;If&nbsp;Min(valArr[1],valArr[2])&nbsp;>&nbsp;L&nbsp;Then&nbsp;turnPntBit&nbsp;=&nbsp;"Lo"; &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;Else&nbsp;If&nbsp;Condition1&nbsp;Then&nbsp;turnPntBit&nbsp;=&nbsp;"Hi"; &nbsp;&nbsp;&nbsp;Else&nbsp;If&nbsp;Condition2&nbsp;Then&nbsp;turnPntBit&nbsp;=&nbsp;"Lo"; &nbsp;&nbsp;&nbsp;If&nbsp;turnPntBit&nbsp;<>&nbsp;""&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;turnPntBit&nbsp;==&nbsp;"HiLo"&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valArr[1]&nbsp;=&nbsp;IFF(turnPntArr[1]&nbsp;==&nbsp;"Hi",H,L); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;barArr[1]&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;turnPntArr[1]&nbsp;==&nbsp;"Hi"&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turnPntBit&nbsp;=&nbsp;"Lo"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turnPntBit&nbsp;=&nbsp;"Hi"; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;turnPntBit&nbsp;<>&nbsp;turnPntArr[1]&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;j&nbsp;=&nbsp;8&nbsp;downto&nbsp;1&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valArr[j+1]&nbsp;=&nbsp;valArr[j]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;barArr[j+1]&nbsp;=&nbsp;barArr[j]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turnPntArr[j+1]&nbsp;=&nbsp;turnPntArr[j]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;turnPntBit&nbsp;<>&nbsp;turnPntArr[1]&nbsp;or &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(turnPntBit&nbsp;==&nbsp;turnPntArr[1]&nbsp;and &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((turnPntBit&nbsp;==&nbsp;"Hi"&nbsp;and&nbsp;valArr[1]&nbsp;<&nbsp;H)&nbsp;or &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(turnPntBit&nbsp;==&nbsp;"Lo"&nbsp;and&nbsp;valArr[1]&nbsp;>&nbsp;L)))&nbsp;Then&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;valArr[1]&nbsp;=&nbsp;IFF(turnPntBit&nbsp;==&nbsp;"Hi",H,L); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;barArr[1]&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;turnPntArr[1]&nbsp;=&nbsp;turnPntBit; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;turnPntArr[1][1]&nbsp;<>&nbsp;turnPntArr[1][0]&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL1&nbsp;=&nbsp;TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;turnPntArr[1][0]=="Hi"&nbsp;Then{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;turnPntArr[1][0]&nbsp;=="Lo"&nbsp;&nbsp;Then{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sell(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;TL_SetSize(TL1,1); &nbsp;&nbsp;&nbsp;if&nbsp;turnPntArr[1][0]&nbsp;==&nbsp;"Hi"&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL_SetColor(TL1,RED); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TL_SetColor(TL1,BLUE);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-09-11 13:20:28

안녕하세요 예스스탁입니다. Input:chngRate(0.1); Input:기준선기간1(20),기준선기간2(60); Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); var:기준선1(0),기준선2(0),T(0),BuyCount(0),SellCount(0); 기준선1 = (Highest(High, 기준선기간1) + Lowest(Low, 기준선기간1)) / 2 ; 기준선2 = (Highest(High, 기준선기간2) + Lowest(Low, 기준선기간2)) / 2 ; if (기준선1[0] >= 기준선2[0]) Then T = 1; if (기준선1[0] < 기준선2[0]) Then T = -1; if T == 1 and T != T[1] then { BuyCount = 0; } if T == -1 and T != T[1] then { SellCount = 0; } For j = 0 To 9 { barArr[j] = barArr[j] + 1; } Condition1 = Min(valArr[1],valArr[2]) * (1 + (chngRate/100)) < H and lastHiVal < H; Condition2 = Max(valArr[1],valArr[2]) * (1 - (chngRate/100)) > L and (lastLoVal > L || lastLoVal == 0); If Condition1 Then { lastHiVal = H; lastLoVal = 0; } If Condition2 Then { lastLoVal = L; lastHiVal = 0; } turnPntBit = ""; If Condition1 and Condition2 Then { If Max(valArr[1],valArr[2]) < H and Min(valArr[1],valArr[2]) > L Then turnPntBit = "HiLo"; Else If Max(valArr[1],valArr[2]) < H Then turnPntBit = "Hi"; Else If Min(valArr[1],valArr[2]) > L Then turnPntBit = "Lo"; } Else If Condition1 Then turnPntBit = "Hi"; Else If Condition2 Then turnPntBit = "Lo"; If turnPntBit <> "" Then { If turnPntBit == "HiLo" Then { valArr[1] = IFF(turnPntArr[1] == "Hi",H,L); barArr[1] = 0; TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); If turnPntArr[1] == "Hi" Then turnPntBit = "Lo"; Else turnPntBit = "Hi"; } If turnPntBit <> turnPntArr[1] Then { for j = 8 downto 1 { valArr[j+1] = valArr[j]; barArr[j+1] = barArr[j]; turnPntArr[j+1] = turnPntArr[j]; } } If turnPntBit <> turnPntArr[1] or (turnPntBit == turnPntArr[1] and ((turnPntBit == "Hi" and valArr[1] < H) or (turnPntBit == "Lo" and valArr[1] > L))) Then { valArr[1] = IFF(turnPntBit == "Hi",H,L); barArr[1] = 0; turnPntArr[1] = turnPntBit; If turnPntArr[1][1] <> turnPntArr[1][0] Then { TL1 = TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); if MarketPosition <= 0 and turnPntArr[1][0]=="Hi" and T == 1 and BuyCount < 3 Then { BuyCount = BuyCount+1; buy(); } if MarketPosition >= 0 and turnPntArr[1][0] =="Lo" and T == -1 and SellCount < 3 Then { SellCount = SellCount +1; sell(); } } Else TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); } } TL_SetSize(TL1,1); if turnPntArr[1][0] == "Hi" Then TL_SetColor(TL1,RED); Else TL_SetColor(TL1,BLUE); 즐거운 하루되세요 > blueo 님이 쓴 글입니다. > 제목 : 지그재그 > 안녕하세요 관리자님 이전 답변에 감사 드립니다. 지그재그 수식중에 특정 조건 만족시 지그재그를 셀수 있는지 셀수 있다면 예를 들어(기준선1[0]&#160;>=&#160;기준선2[0])&#160; hi 3번까지 매수 진입 활성화 (기준선1[0]&#160;<&#160;기준선2[0])&#160; Lo 3번까지 매도 진입 활성화 이런 식으로 만들수 있는지 문의 드립니다. 늘 감사 드립니다. 좋은 하루 되세요 Input:기준선기간1(20),기준선기간2(60); var:기준선1(0),기준선2(0); 기준선1&#160;=&#160;(Highest(High,&#160;기준선기간1)&#160;+&#160;Lowest(Low,&#160;기준선기간1))&#160;/&#160;2&#160;; 기준선2&#160;=&#160;(Highest(High,&#160;기준선기간2)&#160;+&#160;Lowest(Low,&#160;기준선기간2))&#160;/&#160;2&#160;; (기준선1[0]&#160;>=&#160;기준선2[0])&#160; (기준선1[0]&#160;<&#160;기준선2[0])&#160; Input:chngRate(0.1); &#160;&#160;&#160;Var:j(0),lastHiVal(0),lastLoVal(0),turnPntBit(""),TL1(0); &#160;&#160;&#160;Array:valArr[10](0),barArr[10](0),turnPntArr[10](""); &#160;&#160;&#160;For&#160;j&#160;=&#160;0&#160;To&#160;9&#160; &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;barArr[j]&#160;=&#160;barArr[j]&#160;+&#160;1;&#160; &#160;&#160;&#160;} &#160;&#160;&#160;Condition1&#160;=&#160;Min(valArr[1],valArr[2])&#160;*&#160;(1&#160;+&#160;(chngRate/100))&#160;<&#160;H&#160;and&#160;lastHiVal&#160;<&#160;H; &#160;&#160;&#160;Condition2&#160;=&#160;Max(valArr[1],valArr[2])&#160;*&#160;(1&#160;-&#160;(chngRate/100))&#160;>&#160;L&#160;and&#160;(lastLoVal&#160;>&#160;L&#160;||&#160;lastLoVal&#160;==&#160;0); &#160;&#160;&#160;If&#160;Condition1&#160;Then&#160;{&#160;lastHiVal&#160;=&#160;H;&#160;&#160;lastLoVal&#160;=&#160;0;&#160;} &#160;&#160;&#160;If&#160;Condition2&#160;Then&#160;{&#160;lastLoVal&#160;=&#160;L;&#160;&#160;lastHiVal&#160;=&#160;0;&#160;}&#160;&#160;&#160; &#160;&#160;&#160;turnPntBit&#160;=&#160;""; &#160;&#160;&#160;If&#160;Condition1&#160;and&#160;Condition2&#160;Then&#160; &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;Max(valArr[1],valArr[2])&#160;<&#160;H&#160;and&#160;Min(valArr[1],valArr[2])&#160;>&#160;L&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;turnPntBit&#160;=&#160;"HiLo"; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;Max(valArr[1],valArr[2])&#160;<&#160;H&#160;Then&#160;turnPntBit&#160;=&#160;"Hi"; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;If&#160;Min(valArr[1],valArr[2])&#160;>&#160;L&#160;Then&#160;turnPntBit&#160;=&#160;"Lo"; &#160;&#160;&#160;} &#160;&#160;&#160;Else&#160;If&#160;Condition1&#160;Then&#160;turnPntBit&#160;=&#160;"Hi"; &#160;&#160;&#160;Else&#160;If&#160;Condition2&#160;Then&#160;turnPntBit&#160;=&#160;"Lo"; &#160;&#160;&#160;If&#160;turnPntBit&#160;<>&#160;""&#160;Then&#160; &#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;If&#160;turnPntBit&#160;==&#160;"HiLo"&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;valArr[1]&#160;=&#160;IFF(turnPntArr[1]&#160;==&#160;"Hi",H,L); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;barArr[1]&#160;=&#160;0; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;turnPntArr[1]&#160;==&#160;"Hi"&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;turnPntBit&#160;=&#160;"Lo"; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;turnPntBit&#160;=&#160;"Hi"; &#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;If&#160;turnPntBit&#160;<>&#160;turnPntArr[1]&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for&#160;j&#160;=&#160;8&#160;downto&#160;1&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;valArr[j+1]&#160;=&#160;valArr[j]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;barArr[j+1]&#160;=&#160;barArr[j]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;turnPntArr[j+1]&#160;=&#160;turnPntArr[j]; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;If&#160;turnPntBit&#160;<>&#160;turnPntArr[1]&#160;or &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(turnPntBit&#160;==&#160;turnPntArr[1]&#160;and &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;((turnPntBit&#160;==&#160;"Hi"&#160;and&#160;valArr[1]&#160;<&#160;H)&#160;or &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;(turnPntBit&#160;==&#160;"Lo"&#160;and&#160;valArr[1]&#160;>&#160;L)))&#160;Then&#160; &#160;&#160;&#160;&#160;&#160;&#160;{&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;valArr[1]&#160;=&#160;IFF(turnPntBit&#160;==&#160;"Hi",H,L); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;barArr[1]&#160;=&#160;0; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;turnPntArr[1]&#160;=&#160;turnPntBit; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;If&#160;turnPntArr[1][1]&#160;<>&#160;turnPntArr[1][0]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL1&#160;=&#160;TL_New(sDate[barArr[2]],sTime[barArr[2]],valArr[2],sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&#160;turnPntArr[1][0]=="Hi"&#160;Then{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;buy(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&#160;turnPntArr[1][0]&#160;=="Lo"&#160;&#160;Then{ &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sell(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Else &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetEnd(TL1,sDate[barArr[1]],sTime[barArr[1]],valArr[1]); &#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160; &#160;&#160;&#160;} &#160;&#160;&#160;TL_SetSize(TL1,1); &#160;&#160;&#160;if&#160;turnPntArr[1][0]&#160;==&#160;"Hi"&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetColor(TL1,RED); &#160;&#160;&#160;&#160;&#160;&#160;Else &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;TL_SetColor(TL1,BLUE);