커뮤니티

장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요!

프로필 이미지
qha71
2017-10-27 17:21:40
259
글번호 113713
답변완료
아래는 장기 피보나치 신호 로직입니다! 5분에서 테스트를 하고 있는데요 몇가지 오류가 있는것 같습니다! 부탁드립니다! 1. 신호가 나왔다 안나왔다 합니다! 2. 신호가 5분 늦게 발생하는 문제가 있습니다. 예> 09:30분에 장기 로그선을 터치 했으면, 09:30분에 매도 신호가 나왔어야 하는데 그런데, 09:35분에 신호가 발생했습니다. 예> 장기 피보나치 로그선을 위로 주가가 뚫고 올라갔으면, 다음봉에서 매수가 되었어야 하는데, 5분 늦게신호가 발생합니다. // 장기 피보나치 로그선 기법 시스템 코드 //----------- Var : WH(0), WL(0); // WH : 주중 최고, DH : 일중 최고 var : DH(0), DL(0); // WL : 주중 최고, DL : 일중 최고 var : i(0), j(0); // 임시변수 var : MKPos(0); // Market Position var : onetick(0.05); // 1틱 가치 var : logT(0); // 수동 손절을 하기 위해 대기가 필요한 변수 var : NoTick(2); // 수동 손절 틱수 : 2틱 array : FLog[7](0); // 장기 로그선 값을 저장할 배열 array : FLogPos[2](0); // 로그선의 위치 값을 저장(0~6), 매수 : 0, 매도 : 1MKPos = marketposition; WH = 263.25; WL = 226.90; // 장기 피보나치 로그선 값을 배열에 저장 FLog[0] = WH; // "연중 최고선" FLog[1] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.236)); //"중기 23.6선" FLog[2] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.382)); //"중기 38.2선" FLog[3] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.500)); //"중기 50선" FLog[4] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.618)); //"중기 61.8선" FLog[5] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.764)); //"중기 76.4선" FLog[6] = WL; // "연중 최저선" // 손절매(자동 손절) : 0.6P SetStopLoss(12 * onetick, Pointstop); // >>> 매수 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 아래에 있다가 // 현재 5분봉의 종가가 로그선의 위에 올라온 경우, // 다음봉 이후로 저가가 로그선 1틱 위보다 같거나 작은 경우 시장가 매수for i = 0 to 6 { if(MKPos == 0 ) and (O <= FLog[i]) and ( C > Flog[i]) then { logT = 1; FLogPos[0] = i; } } if (logT == 1) and (O >= (FLog[FLogPos[0]])) and (L <= (FLog[FLogPos[0]] + onetick * NoTick) )then { buy( "Buy" , AtStop, FLog[FLogPos[0]] + onetick * NoTick); logT = 0; } // 매수 수동 손절 : 1틱 (MIT) if (MKPos == 1) and (O >= FLog[FLogPos[0]]) and ( C < FLog[FLogPos[0]]) then { if (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitLong("exit_buy", atStop, FLog[FLogPos[0]] - onetick * NoTick ); // 매도로 스위칭 sell( "Sell_SW", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); } } // >>> 매도 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 위에 있다가 // 현재 5분봉의 종가가 로그선의 아래로 내려온 경우, // 다음봉 이후로 고가가 로그선 1틱 위보다 같거나 큰 경우 시장가 매도for i = 0 to 6 { if(MKPos ==0) and (O >= FLog[i]) and ( C < Flog[i]) then { logT = 2; FLogPos[0] = i; // MessageLog("L75> logT : %.f Fiboline %.2f Position : %.f Open : %.2f Close : %.2f", logT, FLog[i], FlogPos[0], O, C); } } if (logT == 2) and (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { sell( "Sell", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); logT = 0; } // MessageLog("L51> logT : %.f | Open %.2f <= %.2f | High %.2f >= %.2f MKPos : %.f", logT, O , FLog[FlogPos[0]], H, FLog[FlogPos[0]] - onetick, MKPos); // 매도 수동 손절 : 1틱 (MIT) if (MKPos == -1) and (O <= FLog[FLogPos[0]]) and ( C > FLog[FLogPos[0]]) then { // debug messageLog("Line 95"); if (O >= FLog[FLogPos[0]]) and (L <= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitShort("exit_sell", atStop, FLog[FLogPos[0]] + onetick * NoTick ); // +매수로 스위칭 buy( "Buy_SW" , AtStop, FLog[FLogPos[0]] + onetick * NoTick ); } } // 매수 청산 // if (MKPos == 1) or (MKPos == -1) then /시간 if (stime == 153000) then { SetStopEndofday(1530); }// messageLog("stime : %.f ", stime);
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2017-10-30 11:41:52

안녕하세요 예스스탁입니다. 수식에 어느부분을 수정해 드려야 할지 모르겠습니다. 수식에서 사용하는 atstop/atlimit과 같은 신호타입은 봉완성(다음봉시가수신)이 되면 가격을 셋팅하고 다음봉에서 시세와 셋팅된 가격을 비교해 신호가 발생합니다. if조건 자체가 봉미완성시 만족할때 신호를 발생하는 타입이 아니며 봉미완성시 if조건이 만족할때 신호발생은 작성이 불가능합니다. 현재 신호가 발생하는 조건이 봉완성시 if조건이 만족하고 그 다음봉에서 atstop가격조건이 만족하면 신호가 나오는 구조입니다. 그러므로 9시 30분에 if조건만족하면 atstop 가격이 셋팅되고 9시 35분 봉에서 가격조건만족하면 신호가 발생하게 됩니다. 지만 올리신 수식에서는 if문으로 조건이 모두 체크되는 것 같습니다. atstop지정이 의미가 없어 보입니다. 즐거운 하루되세요 > qha71 님이 쓴 글입니다. > 제목 : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 아래는 장기 피보나치 신호 로직입니다! 5분에서 테스트를 하고 있는데요 몇가지 오류가 있는것 같습니다! 부탁드립니다! 1. 신호가 나왔다 안나왔다 합니다! 2. 신호가 5분 늦게 발생하는 문제가 있습니다. 예> 09:30분에 장기 로그선을 터치 했으면, 09:30분에 매도 신호가 나왔어야 하는데 그런데, 09:35분에 신호가 발생했습니다. 예> 장기 피보나치 로그선을 위로 주가가 뚫고 올라갔으면, 다음봉에서 매수가 되었어야 하는데, 5분 늦게신호가 발생합니다. // 장기 피보나치 로그선 기법 시스템 코드 //----------- Var : WH(0), WL(0); // WH : 주중 최고, DH : 일중 최고 var : DH(0), DL(0); // WL : 주중 최고, DL : 일중 최고 var : i(0), j(0); // 임시변수 var : MKPos(0); // Market Position var : onetick(0.05); // 1틱 가치 var : logT(0); // 수동 손절을 하기 위해 대기가 필요한 변수 var : NoTick(2); // 수동 손절 틱수 : 2틱 array : FLog[7](0); // 장기 로그선 값을 저장할 배열 array : FLogPos[2](0); // 로그선의 위치 값을 저장(0~6), 매수 : 0, 매도 : 1MKPos = marketposition; WH = 263.25; WL = 226.90; // 장기 피보나치 로그선 값을 배열에 저장 FLog[0] = WH; // "연중 최고선" FLog[1] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.236)); //"중기 23.6선" FLog[2] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.382)); //"중기 38.2선" FLog[3] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.500)); //"중기 50선" FLog[4] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.618)); //"중기 61.8선" FLog[5] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.764)); //"중기 76.4선" FLog[6] = WL; // "연중 최저선" // 손절매(자동 손절) : 0.6P SetStopLoss(12 * onetick, Pointstop); // >>> 매수 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 아래에 있다가 // 현재 5분봉의 종가가 로그선의 위에 올라온 경우, // 다음봉 이후로 저가가 로그선 1틱 위보다 같거나 작은 경우 시장가 매수for i = 0 to 6 { if(MKPos == 0 ) and (O <= FLog[i]) and ( C > Flog[i]) then { logT = 1; FLogPos[0] = i; } } if (logT == 1) and (O >= (FLog[FLogPos[0]])) and (L <= (FLog[FLogPos[0]] + onetick * NoTick) )then { buy( "Buy" , AtStop, FLog[FLogPos[0]] + onetick * NoTick); logT = 0; } // 매수 수동 손절 : 1틱 (MIT) if (MKPos == 1) and (O >= FLog[FLogPos[0]]) and ( C < FLog[FLogPos[0]]) then { if (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitLong("exit_buy", atStop, FLog[FLogPos[0]] - onetick * NoTick ); // 매도로 스위칭 sell( "Sell_SW", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); } } // >>> 매도 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 위에 있다가 // 현재 5분봉의 종가가 로그선의 아래로 내려온 경우, // 다음봉 이후로 고가가 로그선 1틱 위보다 같거나 큰 경우 시장가 매도for i = 0 to 6 { if(MKPos ==0) and (O >= FLog[i]) and ( C < Flog[i]) then { logT = 2; FLogPos[0] = i; // MessageLog("L75> logT : %.f Fiboline %.2f Position : %.f Open : %.2f Close : %.2f", logT, FLog[i], FlogPos[0], O, C); } } if (logT == 2) and (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { sell( "Sell", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); logT = 0; } // MessageLog("L51> logT : %.f | Open %.2f <= %.2f | High %.2f >= %.2f MKPos : %.f", logT, O , FLog[FlogPos[0]], H, FLog[FlogPos[0]] - onetick, MKPos); // 매도 수동 손절 : 1틱 (MIT) if (MKPos == -1) and (O <= FLog[FLogPos[0]]) and ( C > FLog[FLogPos[0]]) then { // debug messageLog("Line 95"); if (O >= FLog[FLogPos[0]]) and (L <= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitShort("exit_sell", atStop, FLog[FLogPos[0]] + onetick * NoTick ); // +매수로 스위칭 buy( "Buy_SW" , AtStop, FLog[FLogPos[0]] + onetick * NoTick ); } } // 매수 청산 // if (MKPos == 1) or (MKPos == -1) then /시간 if (stime == 153000) then { SetStopEndofday(1530); }// messageLog("stime : %.f ", stime);
프로필 이미지

qha71

2017-10-30 15:09:36

안녕하세요! 저는 그냥 일반적인 조건에 만족하는 즉, 조건에 만족라는 봉이 완성되면 신호가 나오는 일반적인 신호 조건을 원합니다! 꼭 if조건을 원하는건 아닙니다! 지금까지 만들어 주신것 처럼 만들어 주시면 만족합니다! 부탁드려요! > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 안녕하세요 예스스탁입니다. 수식에 어느부분을 수정해 드려야 할지 모르겠습니다. 수식에서 사용하는 atstop/atlimit과 같은 신호타입은 봉완성(다음봉시가수신)이 되면 가격을 셋팅하고 다음봉에서 시세와 셋팅된 가격을 비교해 신호가 발생합니다. if조건 자체가 봉미완성시 만족할때 신호를 발생하는 타입이 아니며 봉미완성시 if조건이 만족할때 신호발생은 작성이 불가능합니다. 현재 신호가 발생하는 조건이 봉완성시 if조건이 만족하고 그 다음봉에서 atstop가격조건이 만족하면 신호가 나오는 구조입니다. 그러므로 9시 30분에 if조건만족하면 atstop 가격이 셋팅되고 9시 35분 봉에서 가격조건만족하면 신호가 발생하게 됩니다. 지만 올리신 수식에서는 if문으로 조건이 모두 체크되는 것 같습니다. atstop지정이 의미가 없어 보입니다. 즐거운 하루되세요 > qha71 님이 쓴 글입니다. > 제목 : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 아래는 장기 피보나치 신호 로직입니다! 5분에서 테스트를 하고 있는데요 몇가지 오류가 있는것 같습니다! 부탁드립니다! 1. 신호가 나왔다 안나왔다 합니다! 2. 신호가 5분 늦게 발생하는 문제가 있습니다. 예> 09:30분에 장기 로그선을 터치 했으면, 09:30분에 매도 신호가 나왔어야 하는데 그런데, 09:35분에 신호가 발생했습니다. 예> 장기 피보나치 로그선을 위로 주가가 뚫고 올라갔으면, 다음봉에서 매수가 되었어야 하는데, 5분 늦게신호가 발생합니다. // 장기 피보나치 로그선 기법 시스템 코드 //----------- Var : WH(0), WL(0); // WH : 주중 최고, DH : 일중 최고 var : DH(0), DL(0); // WL : 주중 최고, DL : 일중 최고 var : i(0), j(0); // 임시변수 var : MKPos(0); // Market Position var : onetick(0.05); // 1틱 가치 var : logT(0); // 수동 손절을 하기 위해 대기가 필요한 변수 var : NoTick(2); // 수동 손절 틱수 : 2틱 array : FLog[7](0); // 장기 로그선 값을 저장할 배열 array : FLogPos[2](0); // 로그선의 위치 값을 저장(0~6), 매수 : 0, 매도 : 1MKPos = marketposition; WH = 263.25; WL = 226.90; // 장기 피보나치 로그선 값을 배열에 저장 FLog[0] = WH; // "연중 최고선" FLog[1] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.236)); //"중기 23.6선" FLog[2] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.382)); //"중기 38.2선" FLog[3] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.500)); //"중기 50선" FLog[4] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.618)); //"중기 61.8선" FLog[5] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.764)); //"중기 76.4선" FLog[6] = WL; // "연중 최저선" // 손절매(자동 손절) : 0.6P SetStopLoss(12 * onetick, Pointstop); // >>> 매수 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 아래에 있다가 // 현재 5분봉의 종가가 로그선의 위에 올라온 경우, // 다음봉 이후로 저가가 로그선 1틱 위보다 같거나 작은 경우 시장가 매수for i = 0 to 6 { if(MKPos == 0 ) and (O <= FLog[i]) and ( C > Flog[i]) then { logT = 1; FLogPos[0] = i; } } if (logT == 1) and (O >= (FLog[FLogPos[0]])) and (L <= (FLog[FLogPos[0]] + onetick * NoTick) )then { buy( "Buy" , AtStop, FLog[FLogPos[0]] + onetick * NoTick); logT = 0; } // 매수 수동 손절 : 1틱 (MIT) if (MKPos == 1) and (O >= FLog[FLogPos[0]]) and ( C < FLog[FLogPos[0]]) then { if (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitLong("exit_buy", atStop, FLog[FLogPos[0]] - onetick * NoTick ); // 매도로 스위칭 sell( "Sell_SW", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); } } // >>> 매도 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 위에 있다가 // 현재 5분봉의 종가가 로그선의 아래로 내려온 경우, // 다음봉 이후로 고가가 로그선 1틱 위보다 같거나 큰 경우 시장가 매도for i = 0 to 6 { if(MKPos ==0) and (O >= FLog[i]) and ( C < Flog[i]) then { logT = 2; FLogPos[0] = i; // MessageLog("L75> logT : %.f Fiboline %.2f Position : %.f Open : %.2f Close : %.2f", logT, FLog[i], FlogPos[0], O, C); } } if (logT == 2) and (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { sell( "Sell", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); logT = 0; } // MessageLog("L51> logT : %.f | Open %.2f <= %.2f | High %.2f >= %.2f MKPos : %.f", logT, O , FLog[FlogPos[0]], H, FLog[FlogPos[0]] - onetick, MKPos); // 매도 수동 손절 : 1틱 (MIT) if (MKPos == -1) and (O <= FLog[FLogPos[0]]) and ( C > FLog[FLogPos[0]]) then { // debug messageLog("Line 95"); if (O >= FLog[FLogPos[0]]) and (L <= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitShort("exit_sell", atStop, FLog[FLogPos[0]] + onetick * NoTick ); // +매수로 스위칭 buy( "Buy_SW" , AtStop, FLog[FLogPos[0]] + onetick * NoTick ); } } // 매수 청산 // if (MKPos == 1) or (MKPos == -1) then /시간 if (stime == 153000) then { SetStopEndofday(1530); }// messageLog("stime : %.f ", stime);
프로필 이미지

예스스탁 예스스탁 답변

2017-10-30 17:22:16

안녕하세요 예스스탁입니다. 구현하고자 하는 전략내용을 다시 올려주시기 바랍니다. 올리신 수식과 주석으로는 정확히 파악되지 않습니다. 즐거운 하루되세요 > qha71 님이 쓴 글입니다. > 제목 : Re : Re : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 안녕하세요! 저는 그냥 일반적인 조건에 만족하는 즉, 조건에 만족라는 봉이 완성되면 신호가 나오는 일반적인 신호 조건을 원합니다! 꼭 if조건을 원하는건 아닙니다! 지금까지 만들어 주신것 처럼 만들어 주시면 만족합니다! 부탁드려요! > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 안녕하세요 예스스탁입니다. 수식에 어느부분을 수정해 드려야 할지 모르겠습니다. 수식에서 사용하는 atstop/atlimit과 같은 신호타입은 봉완성(다음봉시가수신)이 되면 가격을 셋팅하고 다음봉에서 시세와 셋팅된 가격을 비교해 신호가 발생합니다. if조건 자체가 봉미완성시 만족할때 신호를 발생하는 타입이 아니며 봉미완성시 if조건이 만족할때 신호발생은 작성이 불가능합니다. 현재 신호가 발생하는 조건이 봉완성시 if조건이 만족하고 그 다음봉에서 atstop가격조건이 만족하면 신호가 나오는 구조입니다. 그러므로 9시 30분에 if조건만족하면 atstop 가격이 셋팅되고 9시 35분 봉에서 가격조건만족하면 신호가 발생하게 됩니다. 지만 올리신 수식에서는 if문으로 조건이 모두 체크되는 것 같습니다. atstop지정이 의미가 없어 보입니다. 즐거운 하루되세요 > qha71 님이 쓴 글입니다. > 제목 : 장기 피보나치 시스템 신호 입니다! 검토 좀 부탁드려요! > 아래는 장기 피보나치 신호 로직입니다! 5분에서 테스트를 하고 있는데요 몇가지 오류가 있는것 같습니다! 부탁드립니다! 1. 신호가 나왔다 안나왔다 합니다! 2. 신호가 5분 늦게 발생하는 문제가 있습니다. 예> 09:30분에 장기 로그선을 터치 했으면, 09:30분에 매도 신호가 나왔어야 하는데 그런데, 09:35분에 신호가 발생했습니다. 예> 장기 피보나치 로그선을 위로 주가가 뚫고 올라갔으면, 다음봉에서 매수가 되었어야 하는데, 5분 늦게신호가 발생합니다. // 장기 피보나치 로그선 기법 시스템 코드 //----------- Var : WH(0), WL(0); // WH : 주중 최고, DH : 일중 최고 var : DH(0), DL(0); // WL : 주중 최고, DL : 일중 최고 var : i(0), j(0); // 임시변수 var : MKPos(0); // Market Position var : onetick(0.05); // 1틱 가치 var : logT(0); // 수동 손절을 하기 위해 대기가 필요한 변수 var : NoTick(2); // 수동 손절 틱수 : 2틱 array : FLog[7](0); // 장기 로그선 값을 저장할 배열 array : FLogPos[2](0); // 로그선의 위치 값을 저장(0~6), 매수 : 0, 매도 : 1MKPos = marketposition; WH = 263.25; WL = 226.90; // 장기 피보나치 로그선 값을 배열에 저장 FLog[0] = WH; // "연중 최고선" FLog[1] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.236)); //"중기 23.6선" FLog[2] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.382)); //"중기 38.2선" FLog[3] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.500)); //"중기 50선" FLog[4] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.618)); //"중기 61.8선" FLog[5] = 10^((LOG10(WH) -(LOG10(WH)-LOG10(WL))*0.764)); //"중기 76.4선" FLog[6] = WL; // "연중 최저선" // 손절매(자동 손절) : 0.6P SetStopLoss(12 * onetick, Pointstop); // >>> 매수 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 아래에 있다가 // 현재 5분봉의 종가가 로그선의 위에 올라온 경우, // 다음봉 이후로 저가가 로그선 1틱 위보다 같거나 작은 경우 시장가 매수for i = 0 to 6 { if(MKPos == 0 ) and (O <= FLog[i]) and ( C > Flog[i]) then { logT = 1; FLogPos[0] = i; } } if (logT == 1) and (O >= (FLog[FLogPos[0]])) and (L <= (FLog[FLogPos[0]] + onetick * NoTick) )then { buy( "Buy" , AtStop, FLog[FLogPos[0]] + onetick * NoTick); logT = 0; } // 매수 수동 손절 : 1틱 (MIT) if (MKPos == 1) and (O >= FLog[FLogPos[0]]) and ( C < FLog[FLogPos[0]]) then { if (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitLong("exit_buy", atStop, FLog[FLogPos[0]] - onetick * NoTick ); // 매도로 스위칭 sell( "Sell_SW", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); } } // >>> 매도 <<< // 현재 5분봉의 시가가 로그선의 값과 같거나 로그선 값의 위에 있다가 // 현재 5분봉의 종가가 로그선의 아래로 내려온 경우, // 다음봉 이후로 고가가 로그선 1틱 위보다 같거나 큰 경우 시장가 매도for i = 0 to 6 { if(MKPos ==0) and (O >= FLog[i]) and ( C < Flog[i]) then { logT = 2; FLogPos[0] = i; // MessageLog("L75> logT : %.f Fiboline %.2f Position : %.f Open : %.2f Close : %.2f", logT, FLog[i], FlogPos[0], O, C); } } if (logT == 2) and (O <= FLog[FLogPos[0]]) and (H >= (FLog[FLogPos[0]] - onetick * NoTick )) then { sell( "Sell", AtStop, FLog[FLogPos[0]] - onetick * NoTick ); logT = 0; } // MessageLog("L51> logT : %.f | Open %.2f <= %.2f | High %.2f >= %.2f MKPos : %.f", logT, O , FLog[FlogPos[0]], H, FLog[FlogPos[0]] - onetick, MKPos); // 매도 수동 손절 : 1틱 (MIT) if (MKPos == -1) and (O <= FLog[FLogPos[0]]) and ( C > FLog[FLogPos[0]]) then { // debug messageLog("Line 95"); if (O >= FLog[FLogPos[0]]) and (L <= (FLog[FLogPos[0]] - onetick * NoTick )) then { ExitShort("exit_sell", atStop, FLog[FLogPos[0]] + onetick * NoTick ); // +매수로 스위칭 buy( "Buy_SW" , AtStop, FLog[FLogPos[0]] + onetick * NoTick ); } } // 매수 청산 // if (MKPos == 1) or (MKPos == -1) then /시간 if (stime == 153000) then { SetStopEndofday(1530); }// messageLog("stime : %.f ", stime);