이제 갓 배운 초보로 간단한 수식을 만들어서 테스트 중입니다.
1. 예스스팟으로 간단한 전략을 작성해서 시험적용을 해봤는데. 신호를 받아서 주문이 나가긴 하는데 체결가가 0으로 뜨는 이유는 뭘까요? 원래 그런건지 제가 뭘 잘못한건지요^^
2. 예스랭귀지로 시스템을 만들어서 매매신호가 뜨면 예스스팟으로 매매주문이 나가게 했는데
제가 알기로 예스랭귀지는 봉이 완성되야 주문이 나가지만 예스스팟은 예비 신호만 떠도 주문이 나가는 걸로 알고 있는데 테스트 해보니 똑같이 봉이 완성되니까 주문이 나가더라고요.
아래 수식으로 만들었는데 예스스팟도 봉이 완성되야 주문이 나가는 건가요?
if (Signal.signalKind == 3 ) //Sell신호를 받은 경우
{
Start = 1;
A1.OrderSell(Code2, Vol, 0, 1);
A1.OrderBuy(Code1, Vol, 0, 1);
Main.MessageLog("1매수,2매도");
}
이렇게 만들었습니다~
답변 1
예스스탁
예스스탁 답변
2015-09-18 17:03:49
안녕하세요
예스스탁입니다.
1
시험적용은 주문이 나가지 않습니다.
주문이 나가지 않으므로 체결가격등이 없습니다.
2.
현재 사용하시는 이벤트는 완성신호 이벤트입니다
차트객체에 보시면 미완성신호가 발생했을떄
알려주는 이벤트가 따로 있습니다.
이벤트 중 Chart1_OnRiseIncompleteSignal가 미완성 신호 이벤트 이고
이벤트가 발생하면 IncompleteSignal 객체에 정보를 담아 넘겨주게 됩니다.
var Sellcnt;
function Chart1_OnBarAppended(nData)
{
SellCnt = 0;
}
function Chart1_OnRiseIncompleteSignal(IncompleteSignal)
{
if (IncompleteSignal.signalKind == 3 ) //Sell신호를 받은 경우
{
Start = 1;
Sellcnt = Sellcnt+1;
if (Sellcnt == 1)
{
A1.OrderSell(Code2, Vol, 0, 1);
A1.OrderBuy(Code1, Vol, 0, 1);
Main.MessageLog("1매수,2매도");
}
}
}
미완성 신호는 봉 미완성시에 조건만 만족하면 계속 발생합니다.
즉 하나의 봉에서 많은 수가 발생을 하고 미완성신호가 발생시마다
주문이 집행되게 하면 많은 주문이 나가게 됩니다.
그러므로 사용자분이 이에 대해 제어하는 내용이 필요합니다.
위 식에서는 하나의 예로 봉에서 첫번째 매도 미완성신호가 발생할때만 주문이 나가게
작성했습니다.참고하시기 바랍니다.
즐거운 하루되세요
> 산개대형 님이 쓴 글입니다.
> 제목 : 시험적용시 체결가가 0으로 뜨며 예비신호시 주문방법
> 이제 갓 배운 초보로 간단한 수식을 만들어서 테스트 중입니다.
1. 예스스팟으로 간단한 전략을 작성해서 시험적용을 해봤는데. 신호를 받아서 주문이 나가긴 하는데 체결가가 0으로 뜨는 이유는 뭘까요? 원래 그런건지 제가 뭘 잘못한건지요^^
2. 예스랭귀지로 시스템을 만들어서 매매신호가 뜨면 예스스팟으로 매매주문이 나가게 했는데
제가 알기로 예스랭귀지는 봉이 완성되야 주문이 나가지만 예스스팟은 예비 신호만 떠도 주문이 나가는 걸로 알고 있는데 테스트 해보니 똑같이 봉이 완성되니까 주문이 나가더라고요.
아래 수식으로 만들었는데 예스스팟도 봉이 완성되야 주문이 나가는 건가요?
if (Signal.signalKind == 3 ) //Sell신호를 받은 경우
{
Start = 1;
A1.OrderSell(Code2, Vol, 0, 1);
A1.OrderBuy(Code1, Vol, 0, 1);
Main.MessageLog("1매수,2매도");
}
이렇게 만들었습니다~