커뮤니티

부탁드립니다.

프로필 이미지
현우르곳
2023-06-27 23:37:40
932
글번호 170152
답변완료

첨부 이미지

안녕하세요 문의 드립니다 코드로는 아무리봐도 23일에 매도가 되는줄 알았는데 24일에 매도가 되네요..? 어떤게 잘못된지 잘 모르겠습니다.. 1. 23일에 매도가 가능하게 수정 부탁드립니다. 2. 코드에서 CurrentContracts > CurrentContracts[1] 이것을 H > H[1]로 해도 같은 의미 일까요? 감사합니다. var : hh(0), varl(0), vol(0); #매수 If MarketPosition == 0 and O <= Average(C,120) and C < Average(C,120) and C > 1.02 * Average(C,60) and C > O and V > 7.5 * V [1] and (H-C[1])/C[1] < 0.20 and H-C < C-O and Average(V,5)[1] < 450000 and V > 150000 Then Buy("매수A",OnClose,1); #추가매수, 매도 if MarketPosition ==1 Then { # 추가매수 수량 varl = (L-C[1])/C[1]*100; vol = floor(abs(varl)); #고점 갱신 if CurrentContracts > CurrentContracts[1] Then hh = h; if h > hh Then hh = h; Condition1 = False; #평단가 * 1.06배보다 고점이 같거나 클 때 매도하고 고가 대비 2%빠지면 매도 if hh >= AvgEntryPrice * 1.06 Then { Condition1 = true; ExitLong("수익매도",AtStop,hh*0.98); } if Condition1 == False and vol >= 1 and O > C Then Buy("추가매수",OnClose,Def,vol); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-06-28 11:23:50

안녕하세요 예스스탁입니다. 1 수식에서 사용하는 atstop,atlimit은 봉완성시 값을 셋팅하고 다음봉 시세와 비교해 즉시 신호를 발생합니다. if hh >= AvgEntryPrice * 1.06 Then { Condition1 = true; ExitLong("수익매도",AtStop,hh*0.98); } 추가매수 이후에 다음봉에서 위 if조건이 충족되면 hh*0.98이 셋팅되고 다음봉에서 hh값-2%이하의 시세가 발생하면 즉시 매도가 됩니다. if문은 봉완성시로만 체크가 가능합니다. 봉미완성시의 고가를 이용해 조건체크하고 신호발생은 불가능합니다 2 방법이라면 아래와 같이봉완성시에 신호가 발생하는 매도식을 추가하시는 방법뿐이 없습니다. var : hh(0), varl(0), vol(0); #매수 If MarketPosition == 0 and O <= Average(C,120) and C < Average(C,120) and C > 1.02 * Average(C,60) and C > O and V > 7.5 * V [1] and (H-C[1])/C[1] < 0.20 and H-C < C-O and Average(V,5)[1] < 450000 and V > 150000 Then Buy("매수A",OnClose,1); #추가매수, 매도 if MarketPosition ==1 Then { # 추가매수 수량 varl = (L-C[1])/C[1]*100; vol = floor(abs(varl)); #고점 갱신 if CurrentContracts > CurrentContracts[1] Then hh = h; if h > hh Then hh = h; Condition1 = False; #평단가 * 1.06배보다 고점이 같거나 클 때 매도하고 고가 대비 2%빠지면 매도 if hh >= AvgEntryPrice * 1.06 Then { Condition1 = true; ExitLong("수익매도1",AtStop,hh*0.98); } if hh >= AvgEntryPrice * 1.06 and C <= hh*0.98 Then { Condition1 = true; ExitLong("수익매도2"); } if Condition1 == False and vol >= 1 and O > C Then Buy("추가매수",OnClose,Def,vol); } 즐거운 하루되세요 > 현우르곳 님이 쓴 글입니다. > 제목 : 부탁드립니다. > 안녕하세요 문의 드립니다 코드로는 아무리봐도 23일에 매도가 되는줄 알았는데 24일에 매도가 되네요..? 어떤게 잘못된지 잘 모르겠습니다.. 1. 23일에 매도가 가능하게 수정 부탁드립니다. 2. 코드에서 CurrentContracts > CurrentContracts[1] 이것을 H > H[1]로 해도 같은 의미 일까요? 감사합니다. var : hh(0), varl(0), vol(0); #매수 If MarketPosition == 0 and O <= Average(C,120) and C < Average(C,120) and C > 1.02 * Average(C,60) and C > O and V > 7.5 * V [1] and (H-C[1])/C[1] < 0.20 and H-C < C-O and Average(V,5)[1] < 450000 and V > 150000 Then Buy("매수A",OnClose,1); #추가매수, 매도 if MarketPosition ==1 Then { # 추가매수 수량 varl = (L-C[1])/C[1]*100; vol = floor(abs(varl)); #고점 갱신 if CurrentContracts > CurrentContracts[1] Then hh = h; if h > hh Then hh = h; Condition1 = False; #평단가 * 1.06배보다 고점이 같거나 클 때 매도하고 고가 대비 2%빠지면 매도 if hh >= AvgEntryPrice * 1.06 Then { Condition1 = true; ExitLong("수익매도",AtStop,hh*0.98); } if Condition1 == False and vol >= 1 and O > C Then Buy("추가매수",OnClose,Def,vol); }