커뮤니티
stime과 진입 시점
2015-10-12 20:40:32
137
글번호 91167
안녕하세요.
지정한 특정 시간에 현재봉에서 이전 5봉의 고가 갱신시 매수, 저가 갱신시 매도하려고 할 때, stime을 쓰면 메세지 로그상으로는 해당 시점에 메세지 로그상으로는 atStop으로 주문이 걸린 것으로 표시됩니다. 하지만 시뮬레이션 적용시는 evtTime1에서의 현재봉이 아니라 그 다음 봉에서 atStop 주문이 체결된 것으로 표시됩니다. 그리고 가격도 evtTime1에서 계산한 이전 5봉의 저가가 아니라 다음 봉의 시가로 체결된 것으로 나옵니다. stime 오류인가요?
If (sTime == evtTime1) Then
{
Condition2 = True;
LowPivot = Lowest(L, 5)[1];
MessageLog("EvtOn : %.f, SellCondition %.4f at 1st bar, sTime %.f", evtOn, LowPivot, sTime);
If MarketPosition() == -1 Then
Condition2 = False;
If MarketPosition() != -1 Then
{
Sell ("PvS-E0", AtStop, LowPivot - 1*PriceScale);
MessageLog("EvtOn Sell %.4f at 1st bar, sTime %.f", LowPivot - 1*PriceScale, sTime);
}
}
감사합니다.
답변 1
예스스탁 예스스탁 답변
2015-10-13 13:46:06
안녕하세요
예스스탁입니다.
문의하신 내용은 오류가 아닙니다.
If MarketPosition() != -1 Then
{
Sell ("PvS-E0", AtStop, LowPivot - 1*PriceScale);
MessageLog("EvtOn Sell %.4f at 1st bar, sTime %.f", LowPivot - 1*PriceScale, sTime);
}
MessageLog는 sell(매도신호발생)에 종속되는 실행문이 아니고 if문에 종속되는 실행문입니다.
AtStop 신호타입은
봉완성시 값을 셋팅하고
다음봉에서 세팅된 값과 비교해 즉시 신호가 발생되는 타입입니다.
작성하신 식은
봉완성시에 매도포지션이 아니면(if문) 지정한 값을 셋팅하고
다음봉의 시세가 셋팅된 값보다 작거나 같은 시세가 발생하면 신호가 발생하는데
다음봉 시가가 셋팅된 값보다 작거나 같으면 시가에 바로 신호가 발생합니다.
랭귀지에서 현재봉에서 값을 셋팅해서 현재가와 비교해
현재봉에 신호가 발생하게는 작성이 가능하지 않습니다.
즐거운 하루되세요
> 빌딩오너 님이 쓴 글입니다.
> 제목 : stime과 진입 시점
> 안녕하세요.
지정한 특정 시간에 현재봉에서 이전 5봉의 고가 갱신시 매수, 저가 갱신시 매도하려고 할 때, stime을 쓰면 메세지 로그상으로는 해당 시점에 메세지 로그상으로는 atStop으로 주문이 걸린 것으로 표시됩니다. 하지만 시뮬레이션 적용시는 evtTime1에서의 현재봉이 아니라 그 다음 봉에서 atStop 주문이 체결된 것으로 표시됩니다. 그리고 가격도 evtTime1에서 계산한 이전 5봉의 저가가 아니라 다음 봉의 시가로 체결된 것으로 나옵니다. stime 오류인가요?
If (sTime == evtTime1) Then
{
Condition2 = True;
LowPivot = Lowest(L, 5)[1];
MessageLog("EvtOn : %.f, SellCondition %.4f at 1st bar, sTime %.f", evtOn, LowPivot, sTime);
If MarketPosition() == -1 Then
Condition2 = False;
If MarketPosition() != -1 Then
{
Sell ("PvS-E0", AtStop, LowPivot - 1*PriceScale);
MessageLog("EvtOn Sell %.4f at 1st bar, sTime %.f", LowPivot - 1*PriceScale, sTime);
}
}
감사합니다.
다음글
이전글