커뮤니티

문의 드립니다.

프로필 이미지
회원
2014-02-05 00:35:41
122
글번호 72174
답변완료
동일 캔들에 청산과 신규 진입을 방지 하는 방법도 있나요? 아래 는 매도 진입식 입니다. if marketposition() == 0 then{ If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then Sell("매도1",AtLimit,C+pricescale*1); If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then Sell("매도2",AtLimit,C+pricescale*1); If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then Sell("매도3",AtLimit,C+pricescale*1); If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then Sell("매도4",AtLimit,C+pricescale*2); If value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then Sell("매도5"); If value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then Sell("매도6"); } 1번으로 매도 후 청산한 캔들에 6번이 다시 매도를 하는 현상이 발생 됩니다.다른 신호도 마찬가지 경우가 가끔 발생을 합니다. 그래서 매도후 청산한 캔들에 다른 진입 신호가 있을때 진입이 안되게 하려고 합니다. 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-02-05 10:39:15

안녕하세요 예스스탁입니다. 현재 수식상의 매도5나 매도6은 보완성시 종가기준으로 진입이 발생하는 식입니다. 청산 강제청산이거나 atstop이나 atlimit으로 작성된 식이면 봉 중간에 발생하게 되고 해당봉이 완성시에는 무포지션이므로 조건만족하면 진입하게 됩니다. onclose타입의 진입조건에 (TotalTrades == 0 or BarsSinceExit(1) != 0) 조건을 추가하시면 됩니다. if marketposition() == 0 then{ If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then Sell("매도1",AtLimit,C+pricescale*1); If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then Sell("매도2",AtLimit,C+pricescale*1); If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then Sell("매도3",AtLimit,C+pricescale*1); If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then Sell("매도4",AtLimit,C+pricescale*2); If (TotalTrades == 0 or BarsSinceExit(1) != 0) and value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then Sell("매도5"); If (TotalTrades == 0 or BarsSinceExit(1) != 0) and value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then Sell("매도6"); } 즐거운 하루되세요 > HI_h6***** 님이 쓴 글입니다. > 제목 : 문의 드립니다. > 동일 캔들에 청산과 신규 진입을 방지 하는 방법도 있나요? 아래 는 매도 진입식 입니다. if marketposition() == 0 then{ If CrossDown(var4,var5) and (C<value20) and (dis3<100) and (C<O) and (value21>value20) and stime >= 090500 and stime < 150000 Then Sell("매도1",AtLimit,C+pricescale*1); If (var4>var5) and CrossDown(value20,var5) and (C<O) and (dis1<100) and (dis6<100.05) and (dis5>99.08) and stime >= 090500 and stime < 150000 Then Sell("매도2",AtLimit,C+pricescale*1); If (var4<var5) and CrossDown(C, value20) and CrossDown(C, var4) and (C<var4) and (C<O) and (dis3<100) and (dis4<99.97) and (dis5<100) and stime >= 090500 and stime < 150000 Then Sell("매도3",AtLimit,C+pricescale*1); If CrossDown(var4,var5) and (C<value20) and (dis3<100) and !(C>O) and (value21>value20) and (H[0]<value20) and stime >= 090500 and stime < 150000 Then Sell("매도4",AtLimit,C+pricescale*2); If value6 == -1 and value7 == -1 and CrossDown(StoK,Stod) and CrossDown(value25,value26) and var11[1] == 50 and var7>var6 and var6>var5 and var5>var4 and dis6<99.95 and stime >= 090500 and stime < 145000 Then Sell("매도5"); If value7 == -1 and value7[7] == -1 and ma_Disparity1[1]<99.95 and ma_Disparity[1]>99.95 and dis1<100 and dis2<100 and dis3<100 and dis4<100 and dis5<100 and dis6<100 and dis7<100 and C<O and dis7[2]<100 and dis6[2]<100 and stime >= 090500 and stime < 145000 Then Sell("매도6"); } 1번으로 매도 후 청산한 캔들에 6번이 다시 매도를 하는 현상이 발생 됩니다.다른 신호도 마찬가지 경우가 가끔 발생을 합니다. 그래서 매도후 청산한 캔들에 다른 진입 신호가 있을때 진입이 안되게 하려고 합니다. 감사합니다.