운영자가 작성해준 프로그램을 참고로 하여 매매를 하고 있습니다. 작성해준프로그램에 하나의 문제가 있어 문의드립니다.
시스템프로그램에 의해 7월10일 어제 매도포지션으로 다음과 같이 장을 마쳤습니다.
2023-07-10 12:55매도 _SellNo2 331.32
2023-07-10 15:45평가 331.22
오늘 7월11일 장이 오픈하면서 시가가 어제 (10일)종가를 상회하면서 장이 개장했습니다.
따라서 다음과 같은 명령문에 의해 시가에 매수를 했는데
if MarketPosition >=0 and NextBarSdate != sDate and NextBarOpen<=C-0.1 Then Sell();
if MarketPosition <= 0 and NextBarSdate != sDate and NextBarOpen >= C + 0.1 Then Buy();
다음과 같이 "시스템성능보고서"에 나타났습니다.
2023-07-10 12:55 매도 _SellNo2 331.32
2023-07-10 16:03 매도청산ExitShort_#1 331.22
2023-07-10 16:03 매수 _BuyNo1 331.22
2023-07-11 14:56 평가 336.06
즉, 매수가 어제 (7월 10일) 발생한 것으로 나타납니다. 매수가격이 331.22로 어제 매수한 것으로 오늘(7월 11일)나타났습니다.
실제는 오늘 (7월11일) 매수가 시초가 333.42에서 이루어졌습니다.
위의 성능보고서에는 어제 매수가 이루어진 것으로 나타나고 있습니다.
성능보고서가 위에서 처럼 나타나는 것을 수정할 수 있습니까?
답변 1
예스스탁
예스스탁 답변
2023-07-12 08:41:16
안녕하세요
예스스탁입니다.
신호를 시가에 표시되게 수정해 드립니다.
buy(),sell()과 같이 타입을 지정하지 않으면 모두 onclose 입니다.
atmarket타입으로 변경해 드립니다.
onclose와 atmarket은 모두 봉완성시(다음봉시가수신)될때 신호와 주문이 집행됩니다.
onclose는 완성봉종가에 신호를 표시하고 종가를 리포트의 가격으로 사용하고
atmarket은 다음봉시가에 신호를 표시하고 다음봉시가를 리포트의 가격으로 사용합니다.
신호발생시 실제 주문가격은 설정창에서 지정한 매매가격으로 주문이 집행되므로
onclose와 atmarket모두 신호발생 시점과 주문은 모두 동일합니다.
신호표시 위치와 가격만 다른 타입입니다.
if MarketPosition >=0 and NextBarSdate != sDate and NextBarOpen<=C-0.1 Then
Sell("s",atmarket);
if MarketPosition <= 0 and NextBarSdate != sDate and NextBarOpen >= C + 0.1 Then
Buy("b",atmarket);
즐거운 하루되세요
> hello 님이 쓴 글입니다.
> 제목 : 프로그램작동문의
> 운영자가 작성해준 프로그램을 참고로 하여 매매를 하고 있습니다. 작성해준프로그램에 하나의 문제가 있어 문의드립니다.
시스템프로그램에 의해 7월10일 어제 매도포지션으로 다음과 같이 장을 마쳤습니다.
2023-07-10 12:55매도 _SellNo2 331.32
2023-07-10 15:45평가 331.22
오늘 7월11일 장이 오픈하면서 시가가 어제 (10일)종가를 상회하면서 장이 개장했습니다.
따라서 다음과 같은 명령문에 의해 시가에 매수를 했는데
if MarketPosition >=0 and NextBarSdate != sDate and NextBarOpen<=C-0.1 Then Sell();
if MarketPosition <= 0 and NextBarSdate != sDate and NextBarOpen >= C + 0.1 Then Buy();
다음과 같이 "시스템성능보고서"에 나타났습니다.
2023-07-10 12:55 매도 _SellNo2 331.32
2023-07-10 16:03 매도청산ExitShort_#1 331.22
2023-07-10 16:03 매수 _BuyNo1 331.22
2023-07-11 14:56 평가 336.06
즉, 매수가 어제 (7월 10일) 발생한 것으로 나타납니다. 매수가격이 331.22로 어제 매수한 것으로 오늘(7월 11일)나타났습니다.
실제는 오늘 (7월11일) 매수가 시초가 333.42에서 이루어졌습니다.
위의 성능보고서에는 어제 매수가 이루어진 것으로 나타나고 있습니다.
성능보고서가 위에서 처럼 나타나는 것을 수정할 수 있습니까?