커뮤니티
재문의
2013-11-21 08:19:25
209
글번호 69675
답변감사합니다 수정해주신 식으로 적용해보니 진입시간과가격은 동일한데요 결과가다릅니다 그리고 당일청산에서 2개다 15:00에 적용했는데 C.T 는 15:00에 청산인데 Y.T는 15:05분에 청산이되네요 그래서 02:55분으로 바꿔보니 15:00에 청산이됩니다 수수료 와 슬리피지는 2개다 동일하게했는데 왜다른결과가 나오나요 ? 다시좀 살펴주십시요 감사합니다
( 11월 20일 )
Y.T
1신호 -355.000 ( - 0.71pt )
2신호 -280.000 ( - 0.56 pt )
3신호 +445.000 ( + 0.89 pt )
총손익 , -190.000 원
*********************************************************
C.T
1신호 -110.000 ( - 0.22 pt )
2신호 -85.000 ( - 0.17 pt )
3신호 +185.000 ( + 0.37 pt )
총손익 , -37.000 원
수수료 0.0015 %
슬리피지 0.05 pt
************************************************************
안녕하세요
예스스탁입니다.
역매수와 역매도 수식의 매개변수 지정이 잘못되어 있었습니다.
아래식으로 다시 적용하시면 됩니다.
If stime < 150000 Then{
if stime > 090000 then{
If MarketPosition==0 then{
buy("매수",Atstop,DayOpen+0.8);
sell("매도",Atstop,DayOpen-0.8);
}
if MarketPosition == -1 Then
buy("역매수",Atstop,lowest(low,BarsSinceEntry+1)+0.9);
if MarketPosition == 1 Then
sell("역매도",Atstop,highest(high,BarsSinceEntry+1)-0.9);
}
}
******************************************************************
If ttime<1500 Then
If ttime>0900 Then
If position=0 Then
Call buy("매수",Atstop,Def,opend+0.8)
Call sell("매도",Atstop,Def,opend-0.8)
Else
Call buy("역매수",Atstop,Def,llv(1,low,barnumsinceentry+1)+0.9)
Call sell("역매도",Atstop,Def,hhv(1,high,barnumsinceentry+1)-0.9)
End If
End if
End if
답변 1
예스스탁 예스스탁 답변
2013-11-21 14:57:46
안녕하세요
예스스탁입니다.
수식에서 시간지정에서 차이가 있는것 같습니다.
예스랭귀지에서 첫봉은 90000이라는 시간을 가지므로
stime > 090000은 두번째 봉부터를 의미하는데
atstop이 if조건만족하고 다음봉에 신호가 발생하므로 세번째 봉부터 신호가 발생할수 있습니다.
해당 부분 두번째 봉에서 신호가 발생할수 있게 변경했습니다.
If stime < 150000 Then{
if stime >= 090000 then{
If MarketPosition==0 then{
buy("매수",Atstop,DayOpen+0.8);
sell("매도",Atstop,DayOpen-0.8);
}
if MarketPosition == -1 Then
buy("역매수",Atstop,lowest(low,BarsSinceEntry+1)+0.9);
if MarketPosition == 1 Then
sell("역매도",Atstop,highest(high,BarsSinceEntry+1)-0.9);
}
}
위식으로 차트에 적용하면
시초가에서 0.8 움직이면 "매수"나 "매도"가 진입하고
역매수와 역매도도 진입이후의 최고가나 최저가를 기준으로 0.9 움직일때 정확히 리버션진입합니다.
당일청산의 경우 실전에서는 해당 시간이 되면 즉시 주문이 집행됩니다.
리포트에는 강제청산으로 지정된 시간이 포함된 봉의 시간을 표시하게 되고
당일청산이 봉미완성시에 나오므로 그때의 가격을 알수 없어
리포트에는 해당봉의 종가로 표시됩니다.
예스트레이더의 수식은 모두 봉을 시작시간으로 시간을 사용합니다.
예스트레이더 상단 관리메뉴의 종합환경설정창으세
봉의 X축표시를 시작시간기준으로 하시고 보시기 바랍니다.
즐거운 하루되세요
> 민선생1 님이 쓴 글입니다.
> 제목 : 재문의
> 답변감사합니다 수정해주신 식으로 적용해보니 진입시간과가격은 동일한데요 결과가다릅니다 그리고 당일청산에서 2개다 15:00에 적용했는데 C.T 는 15:00에 청산인데 Y.T는 15:05분에 청산이되네요 그래서 02:55분으로 바꿔보니 15:00에 청산이됩니다 수수료 와 슬리피지는 2개다 동일하게했는데 왜다른결과가 나오나요 ? 다시좀 살펴주십시요 감사합니다
( 11월 20일 )
Y.T
1신호 -355.000 ( - 0.71pt )
2신호 -280.000 ( - 0.56 pt )
3신호 +445.000 ( + 0.89 pt )
총손익 , -190.000 원
*********************************************************
C.T
1신호 -110.000 ( - 0.22 pt )
2신호 -85.000 ( - 0.17 pt )
3신호 +185.000 ( + 0.37 pt )
총손익 , -37.000 원
수수료 0.0015 %
슬리피지 0.05 pt
************************************************************
안녕하세요
예스스탁입니다.
역매수와 역매도 수식의 매개변수 지정이 잘못되어 있었습니다.
아래식으로 다시 적용하시면 됩니다.
If stime < 150000 Then{
if stime > 090000 then{
If MarketPosition==0 then{
buy("매수",Atstop,DayOpen+0.8);
sell("매도",Atstop,DayOpen-0.8);
}
if MarketPosition == -1 Then
buy("역매수",Atstop,lowest(low,BarsSinceEntry+1)+0.9);
if MarketPosition == 1 Then
sell("역매도",Atstop,highest(high,BarsSinceEntry+1)-0.9);
}
}
******************************************************************
If ttime<1500 Then
If ttime>0900 Then
If position=0 Then
Call buy("매수",Atstop,Def,opend+0.8)
Call sell("매도",Atstop,Def,opend-0.8)
Else
Call buy("역매수",Atstop,Def,llv(1,low,barnumsinceentry+1)+0.9)
Call sell("역매도",Atstop,Def,hhv(1,high,barnumsinceentry+1)-0.9)
End If
End if
End if