커뮤니티

양매도 일괄청산식이 이상합니다.

프로필 이미지
자마이카
2023-08-27 19:58:28
815
글번호 171865
답변완료
안녕하세요 예스스탁입니다. 1 하나의 차트에서는 기본차트 한개에만 주문이 가능합니다. 양매도식을 구현하려면 차트가 2개 필요하고 각 콜풋차트에 반대종목을 참조데이타로 추가하고 식을 적용하셔야 합니다. 차트1 - 기본차트 등가콜, 참조데이타 등가풋 차트2 - 기본차트 등가풋, 참조데이타 등가콜 2 시스템 시스템 수식은 2개 차트 모두 동일합니다. 차트의 종목만 기본차트와 참조종목이 반대이면 됩니다. var : C1(0,Data1),C2(0,Data1),PL1(0,Data1),PL2(0,Data1),sumPL(0,Data1); if data1(sTime == 100000) Then { Sell("s",OnClose,Def,10); C1 = Data1(c); C2 = Data2(c); } if sTime >= 100000 Then { PL1 = C1-Data1(c); PL2 = C2-Data2(c); sumPL = Data1(PL1*BigPointValue) + Data2(PL2*BigPointValue); if sumPL >= 600000 Then ExitShort("sx"); } SetStopEndofday(151000); ================================================================================ 1. 요전에 작성해주신 위 수식을 적용해보니 콜풋이 동시에 청산되는 경우도 있고 각기 다른시각에 별개로 청산되는 경우도 있습니다. 그 원인이 무엇인지요. 저의 의도는 당일매매로 진입후 최초로 콜풋의 합계손익이 60만원이 되면 동시에 모두 청산하고 매매를 종료하려고 하는 것입니다. countif를 써도 잘 안되고, 합계손익이 진입후 처음으로 60만원이 되는 봉을 저장하여 그 다음봉에 청산하려고도 해 보았으나 마찬가지였습니다. (추신: 위 글은 8/26일 쓴 것인데, 다음날 HTS를 다시 켜고 실행해 보니 이상이 없었습니다. 혹시 자료 수신에 오류가 있었던 것일까요? 2. 그리고 위와같은 수식를 오픈API로도 구현할 수 있나요? (API관련 수식을 부탁드리는것은 아닙니다^^) 알려주시면 큰 도움이 될것입니다. 미리 감사드립니다! 도움 부탁드리며 미리 감사드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2023-08-28 10:47:38

안녕하세요 예스스탁입니다. 1 랭귀지에서 if문은 봉완성시 입니다. 봉완성은 다음봉 시가가 수신될 때입니다. 기본종목 완성시에 if조건 만족하면 신호가 발생하고 주문이 집행되는데 2개 차트가 다른종목이고 봉완성의 시점차이가 발생하면 신호 발생시간에 차이가 날 수 있습니다. 또한 위 내용은 신호발생과 주문에 관련된 내용입니다. 주문이후 체결은 시장상황에 따라 시간차가 많이 발생할 수 있습니다. 2 예 가능합니다. 즐거운 하루되세요 > 자마이카 님이 쓴 글입니다. > 제목 : 양매도 일괄청산식이 이상합니다. > 안녕하세요 예스스탁입니다. 1 하나의 차트에서는 기본차트 한개에만 주문이 가능합니다. 양매도식을 구현하려면 차트가 2개 필요하고 각 콜풋차트에 반대종목을 참조데이타로 추가하고 식을 적용하셔야 합니다. 차트1 - 기본차트 등가콜, 참조데이타 등가풋 차트2 - 기본차트 등가풋, 참조데이타 등가콜 2 시스템 시스템 수식은 2개 차트 모두 동일합니다. 차트의 종목만 기본차트와 참조종목이 반대이면 됩니다. var : C1(0,Data1),C2(0,Data1),PL1(0,Data1),PL2(0,Data1),sumPL(0,Data1); if data1(sTime == 100000) Then { Sell("s",OnClose,Def,10); C1 = Data1(c); C2 = Data2(c); } if sTime >= 100000 Then { PL1 = C1-Data1(c); PL2 = C2-Data2(c); sumPL = Data1(PL1*BigPointValue) + Data2(PL2*BigPointValue); if sumPL >= 600000 Then ExitShort("sx"); } SetStopEndofday(151000); ================================================================================ 1. 요전에 작성해주신 위 수식을 적용해보니 콜풋이 동시에 청산되는 경우도 있고 각기 다른시각에 별개로 청산되는 경우도 있습니다. 그 원인이 무엇인지요. 저의 의도는 당일매매로 진입후 최초로 콜풋의 합계손익이 60만원이 되면 동시에 모두 청산하고 매매를 종료하려고 하는 것입니다. countif를 써도 잘 안되고, 합계손익이 진입후 처음으로 60만원이 되는 봉을 저장하여 그 다음봉에 청산하려고도 해 보았으나 마찬가지였습니다. (추신: 위 글은 8/26일 쓴 것인데, 다음날 HTS를 다시 켜고 실행해 보니 이상이 없었습니다. 혹시 자료 수신에 오류가 있었던 것일까요? 2. 그리고 위와같은 수식를 오픈API로도 구현할 수 있나요? (API관련 수식을 부탁드리는것은 아닙니다^^) 알려주시면 큰 도움이 될것입니다. 미리 감사드립니다! 도움 부탁드리며 미리 감사드립니다.