-저녁 21:00 부터 다음날 새벽05:00 사이에 크루드 오일 매매하려고 합니다.
신호 발생시 익절 손절 없이 계속 스위칭 하는전략 인데 스위칭 횟수를 제한하고 싶습니다.
1) 21:00 이후 신호 발생시 진입
2) 당일 4번 매매가 되면 그 다음은 스위칭 신호 발생시 청산후 당일 매매종료
(4번은 외부변수로 해서 조절)
3) 장마감 2시간 이내부터는
-역신호 발생시 스위칭 없이 청산후 당일 매매 종료
-또는 목표 수익률 달성시 익절후 당일 매매종료
4)스위칭과 익절 신호 없을시 장마감 10분전 청산
수식 작성 부탁드립니다~javascript:OnWrite();
답변 1
예스스탁
예스스탁 답변
2020-11-04 15:09:02
안녕하세요
예스스탁입니다.
input : StartTime(210000),EndTime(50000),xTime(65000),per(3);
var : Tcond(0),entry(0);
if sdate != sdate[1] Then
SetStopEndofday(065000);
if (sdate != sdate[1] and stime >= xTime) or
(sdate == sdate[1] and stime >= xTime and stime[1] < xTime) Then
Tcond = 0;
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
{
Tcond = 2;
}
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = 1;
entry = 0;
}
var1 = ma(C,5);
Var2 = ma(C,20);
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
if tcond == 1 Then
{
if CrossUp(var1,Var2) Then
{
if entry < 4 then
Buy("b");
Else
ExitShort("sx1");
}
if CrossDown(var1,Var2) Then
{
if entry < 4 then
Sell("s");
Else
exitlong("bx1");
}
}
if tcond == 2 Then
{
if MarketPosition == -1 then
{
ExitShort("sx",atlimit,EntryPrice*(1-per/100));
if CrossUp(var1,Var2) Then
{
ExitShort("sx2");
}
}
if MarketPosition == 1 then
{
Exitlong("bx",atlimit,EntryPrice*(1+per/100));
if CrossDown(var1,Var2) Then
{
exitlong("bx2");
}
}
}
즐거운 하루되세요
> 마지너 님이 쓴 글입니다.
> 제목 : 해외선물 시스템식 문의입니다.
> -저녁 21:00 부터 다음날 새벽05:00 사이에 크루드 오일 매매하려고 합니다.
신호 발생시 익절 손절 없이 계속 스위칭 하는전략 인데 스위칭 횟수를 제한하고 싶습니다.
1) 21:00 이후 신호 발생시 진입
2) 당일 4번 매매가 되면 그 다음은 스위칭 신호 발생시 청산후 당일 매매종료
(4번은 외부변수로 해서 조절)
3) 장마감 2시간 이내부터는
-역신호 발생시 스위칭 없이 청산후 당일 매매 종료
-또는 목표 수익률 달성시 익절후 당일 매매종료
4)스위칭과 익절 신호 없을시 장마감 10분전 청산
수식 작성 부탁드립니다~javascript:OnWrite();