커뮤니티
날짜 변경에 따른 내부변수 리셋
2015-07-22 09:44:17
130
글번호 88751
안녕하세요, 시스템을 작성해서 테스트를 어제 시작하고 있습니다.
S&P 500 mini를 거래하려 하고,
한국 시각으로, 9:30pm에 시작해서 새벽3시경에 마치려 합니다. 하루에 딱 한번만 거래를 하려하는데,
아래와 같은 방식으로 시스템을 작성하면, "시스템트레이딩" 메뉴에서 보면 딱 처음에 한번만 거래를 하고, Done을 다시 0으로 날짜가 바뀌면서 리셋하진 않습니다.
질문은 1) 하루에 딱 한번만 거래를 하게 할 수있게 체크하는 내부변수가 있을까요?
> 다르게 생각해본건 당일의 PnL이 0 이면 들어가고, 이미 PnL이 있으면 거래 않케 하는 것도 방법같구요.
2) 아니면, 해당 티커의 날짜가 바뀌면 Done 변수를 리셋하는 방법이 있을까요?
Var: std20d(0.05), Done(0);
std20d = STD(DayClose,20);
Done = 0;
If MarketPosition == 0 and C >= DayClose[1] + std20d and Done == 0 Then {
Buy("Long",AtMarket);
Done = 1;
}
If MarketPosition > 0 then {
ExitLong("ExL",AtMarket, Highest(H,BarsSinceEntry+1) - std20d );
}
if stime == 0300 then {
ExitLong();
Done = 0;
}
답변 1
예스스탁 예스스탁 답변
2015-07-22 15:49:56
안녕하세요
예스스탁입니다.
1.
예스랭귀지에서 시간표현은 6자리입니다,
0300 --> 030000으로 변경하시면 됩니다.
2
영업일 변경시간에 0으로 초기화하고 작성하셔도 됩니다.
Var: std20d(0.05), Done(0);
std20d = STD(DayClose,20);
if Bdate != Bdate[1] Then
Done = 0;
If MarketPosition == 0 and C >= DayClose[1] + std20d and Done == 0 Then {
Buy("Long",AtMarket);
Done = 1;
}
If MarketPosition > 0 then {
ExitLong("ExL",AtMarket, Highest(H,BarsSinceEntry+1) - std20d );
}
if stime == 030000 then {
ExitLong();
}
즐거운 하루되세요
> 쭈꾸미제엔장 님이 쓴 글입니다.
> 제목 : 날짜 변경에 따른 내부변수 리셋
> 안녕하세요, 시스템을 작성해서 테스트를 어제 시작하고 있습니다.
S&P 500 mini를 거래하려 하고,
한국 시각으로, 9:30pm에 시작해서 새벽3시경에 마치려 합니다. 하루에 딱 한번만 거래를 하려하는데,
아래와 같은 방식으로 시스템을 작성하면, "시스템트레이딩" 메뉴에서 보면 딱 처음에 한번만 거래를 하고, Done을 다시 0으로 날짜가 바뀌면서 리셋하진 않습니다.
질문은 1) 하루에 딱 한번만 거래를 하게 할 수있게 체크하는 내부변수가 있을까요?
> 다르게 생각해본건 당일의 PnL이 0 이면 들어가고, 이미 PnL이 있으면 거래 않케 하는 것도 방법같구요.
2) 아니면, 해당 티커의 날짜가 바뀌면 Done 변수를 리셋하는 방법이 있을까요?
Var: std20d(0.05), Done(0);
std20d = STD(DayClose,20);
Done = 0;
If MarketPosition == 0 and C >= DayClose[1] + std20d and Done == 0 Then {
Buy("Long",AtMarket);
Done = 1;
}
If MarketPosition > 0 then {
ExitLong("ExL",AtMarket, Highest(H,BarsSinceEntry+1) - std20d );
}
if stime == 0300 then {
ExitLong();
Done = 0;
}
다음글
이전글