커뮤니티

수정 부탁 드립니다.

프로필 이미지
봉별기
2019-01-03 23:59:54
120
글번호 124955
답변완료
아래식을 적용 했을때.. 반대 방향으로 진입을 못하는것 같습니다. 실시간 매매시 진입후 청산(익절,손절)후 동일 방향 진입은 되는데 반대 방향은 진입을 하지 않는것 같습니다. 신호 발생시"ONCLOSE" 신호만 나오고 체결 되지 않고 그냥 지나가는거 같습니다. 시스템을 다시 시작 하면 이전 과정은 맞게 표시 되는것 같습니다만... 수정이 가능 할까요...? 혹시 다른 오류는 없는지 확인 부탁드립니다. 익절 11틱 청산식은 틀리지 않았는지 확인 부탁 드립니다.. 감사합니다. Input : sto1(20), sto2(12), sto3(12); Input : Period(12), sigPeriod(9); var : stok(0,data1),stod(0,data1); var : TRIXv(0,data2),TRIXs(0,data2); stok = data1(StochasticsK(sto1,sto2)); stod = data1(StochasticsD(sto1,sto2,sto3)); TRIXv = data2(TRIX(Period)); TRIXs = data2(ema(TRIX(Period),sigPeriod)); If CrossUP(stok, stod) Then { if TRIXv > TRIXs Then if MarketPosition == 0 or -1 then Buy("매수"); } If CrossDown(stok, stod) Then { if TRIXv < TRIXs Then if MarketPosition == 0 or 1 Then Sell("매도"); } if MarketPosition == 1 then ExitLONG("익절1",AtLimit,AvgEntryPrice+PriceScale*11); if MarketPosition == -1 then ExitShort("익절2",AtLimit,AvgEntryPrice-PriceScale*11);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2019-01-04 13:21:59

안녕하세요 예스스탁입니다. 작성하신 수식은 무포지션에만 진입하게 되어 있습니다. if MarketPosition == 0 or -1 then if문은 비교문입니다. or 1 은 의미가 없는 조건입니다. 무포지션이거나 -1이면이라는 의미로 -1이 비교내용이 없습니다. 아래와 같이 비교식으로 추가하셔야 합니다. if MarketPosition == 0 or MarketPosition == -1 then 수정한 식입니다. Input : sto1(20), sto2(12), sto3(12); Input : Period(12), sigPeriod(9); var : stok(0,data1),stod(0,data1); var : TRIXv(0,data2),TRIXs(0,data2); stok = data1(StochasticsK(sto1,sto2)); stod = data1(StochasticsD(sto1,sto2,sto3)); TRIXv = data2(TRIX(Period)); TRIXs = data2(ema(TRIX(Period),sigPeriod)); If CrossUP(stok, stod) Then { if TRIXv > TRIXs Then if MarketPosition == 0 or MarketPosition == -1 then Buy("매수"); } If CrossDown(stok, stod) Then { if TRIXv < TRIXs Then if MarketPosition == 0 or MarketPosition == 1 Then Sell("매도"); } if MarketPosition == 1 then ExitLONG("익절1",AtLimit,AvgEntryPrice+PriceScale*11); if MarketPosition == -1 then ExitShort("익절2",AtLimit,AvgEntryPrice-PriceScale*11); 즐거운 하루되세요 > 봉별기 님이 쓴 글입니다. > 제목 : 수정 부탁 드립니다. > 아래식을 적용 했을때.. 반대 방향으로 진입을 못하는것 같습니다. 실시간 매매시 진입후 청산(익절,손절)후 동일 방향 진입은 되는데 반대 방향은 진입을 하지 않는것 같습니다. 신호 발생시"ONCLOSE" 신호만 나오고 체결 되지 않고 그냥 지나가는거 같습니다. 시스템을 다시 시작 하면 이전 과정은 맞게 표시 되는것 같습니다만... 수정이 가능 할까요...? 혹시 다른 오류는 없는지 확인 부탁드립니다. 익절 11틱 청산식은 틀리지 않았는지 확인 부탁 드립니다.. 감사합니다. Input : sto1(20), sto2(12), sto3(12); Input : Period(12), sigPeriod(9); var : stok(0,data1),stod(0,data1); var : TRIXv(0,data2),TRIXs(0,data2); stok = data1(StochasticsK(sto1,sto2)); stod = data1(StochasticsD(sto1,sto2,sto3)); TRIXv = data2(TRIX(Period)); TRIXs = data2(ema(TRIX(Period),sigPeriod)); If CrossUP(stok, stod) Then { if TRIXv > TRIXs Then if MarketPosition == 0 or -1 then Buy("매수"); } If CrossDown(stok, stod) Then { if TRIXv < TRIXs Then if MarketPosition == 0 or 1 Then Sell("매도"); } if MarketPosition == 1 then ExitLONG("익절1",AtLimit,AvgEntryPrice+PriceScale*11); if MarketPosition == -1 then ExitShort("익절2",AtLimit,AvgEntryPrice-PriceScale*11);