커뮤니티

부탁드립니다.

프로필 이미지
상중하
2020-01-03 15:12:18
287
글번호 134868
답변완료
아래수식을 65467번의 수식추가 부탁드립니다. 아래1번수식의 이부분을 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); 2번수식에서 사용할수 있게 변환 부탁드립니다. 번거롭게 해서 죄송합니다. 한번더 부탁드립니다. ---------------------------------------------- 1. (65467번의 수식) Input:length(20),익청(20),손절(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then Buy("B1",AtStop,고[2,1]); If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then Buy("B2",AtStop,고[1,1]); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1); } If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then Sell("S1",AtStop,저[2,1]); If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then Sell("S2",AtStop,저[1,1]); if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1); } SetStoploss(PriceScale*손절,PointStop); if MarketPosition == 1 Then { Condition1 = false; Condition4 = false; } if MarketPosition == -1 Then { Condition2 = false; Condition3 = false; } --------------------------------------------------------- 2. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } -----------------------------------------------------------------------------
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2020-01-03 15:19:51

안녕하세요 예스스탁입니다. 하단으로 추가해 드립니다. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime Input:기간(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit); 즐거운 하루되세요 > 상중하 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 아래수식을 65467번의 수식추가 부탁드립니다. 아래1번수식의 이부분을 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); 2번수식에서 사용할수 있게 변환 부탁드립니다. 번거롭게 해서 죄송합니다. 한번더 부탁드립니다. ---------------------------------------------- 1. (65467번의 수식) Input:length(20),익청(20),손절(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then Buy("B1",AtStop,고[2,1]); If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then Buy("B2",AtStop,고[1,1]); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1); } If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then Sell("S1",AtStop,저[2,1]); If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then Sell("S2",AtStop,저[1,1]); if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1); } SetStoploss(PriceScale*손절,PointStop); if MarketPosition == 1 Then { Condition1 = false; Condition4 = false; } if MarketPosition == -1 Then { Condition2 = false; Condition3 = false; } --------------------------------------------------------- 2. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } -----------------------------------------------------------------------------
프로필 이미지

상중하

2020-01-03 15:37:04

2번수식의 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } 이부분이 한파동에 한번 진입할도록 한거잖아요. 2번 수식에서 이부분을 요청드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁드립니다. > 안녕하세요 예스스탁입니다. 하단으로 추가해 드립니다. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime Input:기간(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit); 즐거운 하루되세요 > 상중하 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 아래수식을 65467번의 수식추가 부탁드립니다. 아래1번수식의 이부분을 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); 2번수식에서 사용할수 있게 변환 부탁드립니다. 번거롭게 해서 죄송합니다. 한번더 부탁드립니다. ---------------------------------------------- 1. (65467번의 수식) Input:length(20),익청(20),손절(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then Buy("B1",AtStop,고[2,1]); If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then Buy("B2",AtStop,고[1,1]); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1); } If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then Sell("S1",AtStop,저[2,1]); If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then Sell("S2",AtStop,저[1,1]); if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1); } SetStoploss(PriceScale*손절,PointStop); if MarketPosition == 1 Then { Condition1 = false; Condition4 = false; } if MarketPosition == -1 Then { Condition2 = false; Condition3 = false; } --------------------------------------------------------- 2. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } -----------------------------------------------------------------------------
프로필 이미지

예스스탁 예스스탁 답변

2020-01-03 16:03:07

안녕하세요 예스스탁입니다. 2번수식에 1번수식의 개념으로 신호가 나오게 수정했습니다. Input: length(20),익청(20),손절(20);; Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest(L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { value1 = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { value1 = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then Buy("B1",AtStop,HH[2,1]); If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then Buy("B2",AtStop,HH[1,1]); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1); } If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then Sell("S1",AtStop,LL[2,1]); If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then Sell("S2",AtStop,LL[1,1]); if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1); } SetStoploss(PriceScale*손절,PointStop); if MarketPosition == 1 Then { Condition1 = false; Condition4 = false; } if MarketPosition == -1 Then { Condition2 = false; Condition3 = false; } 즐거운 하루되세요 > 상중하 님이 쓴 글입니다. > 제목 : Re : Re : 부탁드립니다. > 2번수식의 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } 이부분이 한파동에 한번 진입할도록 한거잖아요. 2번 수식에서 이부분을 요청드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 부탁드립니다. > 안녕하세요 예스스탁입니다. 하단으로 추가해 드립니다. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime Input:기간(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } Value1 = HiLoLineZigZag(기간,종가사용여부,고,저,TL_NewBit); 즐거운 하루되세요 > 상중하 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 아래수식을 65467번의 수식추가 부탁드립니다. 아래1번수식의 이부분을 Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); 2번수식에서 사용할수 있게 변환 부탁드립니다. 번거롭게 해서 죄송합니다. 한번더 부탁드립니다. ---------------------------------------------- 1. (65467번의 수식) Input:length(20),익청(20),손절(20); Var:종가사용여부(0),TL_NewBit(0); Array:고[10,4](0),저[10,4](0); Value1 = HiLoLineZigZag(length,종가사용여부,고,저,TL_NewBit); if value1 == 1 and value1 != value1[1] Then { Condition1 = true; Condition2 = true; } if value1 == -1 and value1 != value1[1] Then { Condition3 = true; Condition4 = true; } If MarketPosition <= 0 and value1 == 1 and Condition1 == true Then Buy("B1",AtStop,고[2,1]); If MarketPosition <= 0 and value1 == -1 and Condition4 == true Then Buy("B2",AtStop,고[1,1]); if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,EntryPrice+PriceScale*익청,"",1,1); } If MarketPosition >= 0 and value1 == -1 and Condition3 == true Then Sell("S1",AtStop,저[2,1]); If MarketPosition >= 0 and value1 == 1 and Condition2 == true Then Sell("S2",AtStop,저[1,1]); if MarketPosition == -1 Then { ExitShort("Sp",AtLimit,EntryPrice-PriceScale*익청,"",1,1); } SetStoploss(PriceScale*손절,PointStop); if MarketPosition == 1 Then { Condition1 = false; Condition4 = false; } if MarketPosition == -1 Then { Condition2 = false; Condition3 = false; } --------------------------------------------------------- 2. Input: length(20); Var : j(0),jj(0),T(0); var : 최종고가(0),최종저가(0),최종꼭지점(""),처리구분(""),TL1(0); Array:HH[10,4](0),LL[10,4](0); // 1:가격,2:Index,3:sDate,4:sTime If Index == 0 Then { HH[1,1] = H; LL[1,1] = L; } Condition1 = Highest(H,length) == H and 최종고가 <> H; Condition2 = Lowest (L,length) == L and 최종저가 <> L; 처리구분 = ""; If Condition1 and Condition2 Then // 기간고점과 기간저점 동시 발생 { If 최종꼭지점 == "저점" Then { If LL[1,1] > L Then 처리구분 = "저점처리"; Else 처리구분 = "고점처리"; } Else If 최종꼭지점 == "고점" Then { If HH[1,1] < H Then 처리구분 = "고점처리"; Else 처리구분 = "저점처리"; } } Else If Condition1 Then 처리구분 = "고점처리"; Else If Condition2 Then 처리구분 = "저점처리"; #==========================================# If 처리구분 == "고점처리" Then { T = 1; 최종고가 = H; // 신규고점을 체크하기 위해 저장 If 최종꼭지점 == "저점" Then { For j = 10 DownTo 2 { For jj = 1 To 4 { HH[j,jj] = HH[j-1,jj]; } } HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL1 = TL_New(LL[1,3],LL[1,4],LL[1,1],HH[1,3],HH[1,4],HH[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,RED); } Else If HH[1,1] < H Then // 1번 고점보다 높은 고가 출현 { HH[1,1] = H; HH[1,2] = Index; HH[1,3] = sDate; HH[1,4] = sTime; TL_SetEnd(TL1,HH[1,3],HH[1,4],HH[1,1]); // 시작점은 변동없고 끝점의 위치가 현재 봉으로 연장된 것임 } 최종꼭지점 = "고점"; } #==========================================# If 처리구분 == "저점처리" Then { T = -1; 최종저가 = L; If 최종꼭지점 == "고점" then { For j = 10 DownTo 2 { For jj = 1 To 4 { LL[j,jj] = LL[j-1,jj]; } } LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL1 = TL_New(HH[1,3],HH[1,4],HH[1,1],LL[1,3],LL[1,4],LL[1,1]); TL_SetSize(TL1,1); TL_SetColor(TL1,BLUE); } Else If LL[1,1] > L then { LL[1,1] = L; LL[1,2] = Index; LL[1,3] = sDate; LL[1,4] = sTime; TL_SetEnd(TL1,LL[1,3],LL[1,4],LL[1,1]); } 최종꼭지점 = "저점"; } -----------------------------------------------------------------------------