커뮤니티
진입제어 추가 요청
2015-04-27 21:20:30
171
글번호 85469
아래의 식에 매수든 매도든 진입과 청산을 각 1회하는 함수를 추가하고 싶습니다.
(그런데 오후 7시부터 익일 오전 1시까지 해외선물을 거래하고 오전 5시에 자동청산하는 함수가 맞게 들어갔는지도 확인 부탁드립니다.)
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ;
var2 = ;
var3 = ;
var4 = ;
var5 = ;
var6 = ;
var7 = ;
var8 = ;
var9 = ;
var10 = ;
if stime >= 190000 or stime < 010000 and
MarketPosition == 0 and entry == 0 Then{
if var7 > var8 Then
sell("s",AtStop,var7);
if var7 < var8 Then
buy("b",AtStop,var7);
}
if stime >= 190000 or stime < 010000 and
MarketPosition == -1 Then{
ExitShort("sp",atlimit,var9);
ExitShort("sl",AtStop,var6);
}
if MarketPosition == 1 Then{
exitlong("bp",atlimit,var6);
ExitLong("bl",AtStop,var9);
}
if stime == 0500 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong("Bx");
ExitShort("Sx");
}
답변 1
예스스탁 예스스탁 답변
2015-04-28 10:24:08
안녕하세요
예스스탁입니다.
예스랭귀지에서 시간은 6자리입니다. 5시면 050000 입니다.
오전 5시 청산을 제외하고
모든 청산을 19시에서 오전 1시까지만 동작하게 하고자 하시면
아래와 같이 처리하시면 됩니다.
if stime >= 190000 or stime < 010000 then{
if MarketPosition == -1 Then{
ExitShort("sp",atlimit,var9);
ExitShort("sl",AtStop,var6);
}
if MarketPosition == 1 Then{
exitlong("bp",atlimit,var6);
ExitLong("bl",AtStop,var9);
}
}
진입만 해당시간제한이 있고 청산은 그 이후에도 가능하게 하고자 하실려면
아래와 같이 시간제한 조건 삭제하시면 됩니다.
if MarketPosition == -1 Then{
ExitShort("sp",atlimit,var9);
ExitShort("sl",AtStop,var6);
}
if MarketPosition == 1 Then{
exitlong("bp",atlimit,var6);
ExitLong("bl",AtStop,var9);
}
아래 수정한 식입니다.
var : entry(0);
if stime == 190000 or (stime> 190000 and stime[1] < 190000) Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ;
var2 = ;
var3 = ;
var4 = ;
var5 = ;
var6 = ;
var7 = ;
var8 = ;
var9 = ;
var10 = ;
if stime >= 190000 or stime < 010000 and MarketPosition == 0 and entry == 0 Then{
if var7 > var8 Then
sell("s",AtStop,var7);
if var7 < var8 Then
buy("b",AtStop,var7);
}
if stime >= 190000 or stime < 010000 then{
if MarketPosition == -1 Then{
ExitShort("sp",atlimit,var9);
ExitShort("sl",AtStop,var6);
}
if MarketPosition == 1 Then{
exitlong("bp",atlimit,var6);
ExitLong("bl",AtStop,var9);
}
}
if stime == 050000 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong("Bx");
ExitShort("Sx");
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 진입제어 추가 요청
> 아래의 식에 매수든 매도든 진입과 청산을 각 1회하는 함수를 추가하고 싶습니다.
(그런데 오후 7시부터 익일 오전 1시까지 해외선물을 거래하고 오전 5시에 자동청산하는 함수가 맞게 들어갔는지도 확인 부탁드립니다.)
var : entry(0);
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
var1 = ;
var2 = ;
var3 = ;
var4 = ;
var5 = ;
var6 = ;
var7 = ;
var8 = ;
var9 = ;
var10 = ;
if stime >= 190000 or stime < 010000 and
MarketPosition == 0 and entry == 0 Then{
if var7 > var8 Then
sell("s",AtStop,var7);
if var7 < var8 Then
buy("b",AtStop,var7);
}
if stime >= 190000 or stime < 010000 and
MarketPosition == -1 Then{
ExitShort("sp",atlimit,var9);
ExitShort("sl",AtStop,var6);
}
if MarketPosition == 1 Then{
exitlong("bp",atlimit,var6);
ExitLong("bl",AtStop,var9);
}
if stime == 0500 or (stime > 050000 and stime[1] < 050000) Then{
ExitLong("Bx");
ExitShort("Sx");
}