开拓者期货期权程序化系统交易论坛
标题:
请教高手,这个代码有什么错误?
[打印本页]
作者:
qwas121
时间:
2018-11-11 16:18:23
标题:
请教高手,这个代码有什么错误?
这是我写的,根据前根K的高点决定开多仓,盈利30点止盈,亏损10点止损。时间限制是白盘和夜盘都是开盘后五分钟开始执行,收盘前10分钟结束。
但实际执行下来,全部都是在每天第6或第7分钟开仓,到了收盘前9分钟平仓。
我找不出错误,请教各位老师,各位高手,问题在哪?
Params
Numeric D1(5);
Numeric D2(5);
Numeric EARNPOINT(30);
Numeric LOSSPOINT(10);
Vars
BoolSeries KDALLOW(False);
BoolSeries PDALLOW(False);
NumericSeries BKPRICE;
Numeric SKPRICE;
Numeric STOPPRICE;
Numeric EARNPRICE;
Bool Time1(False);
Bool Time2(False);
Begin
Time1=(Time>=0.0905) And (Time<=0.1450);
Time2=(Time>=0.2105 And Time<=0.2320);
IF(Time1 Or Time2)
{
If(High>Highest(High[1],D1))
{
KDALLOW=True;
}
If(Low<Lowest(Low[1],D2))
{
PDALLOW=True;
}
If(KDALLOW[1]==True And PDALLOW[1]==True)
{
KDALLOW=False;
PDALLOW=False;
}
If(KDALLOW[1]==True And MarketPosition==0)
{
SellShort(1,Open);
KDALLOW=False;
BKPRICE=Open;
Commentary("开仓价:"+Text(BKPRICE));
}
If(MarketPosition==1)
{
EARNPRICE=BKPRICE+EARNPOINT*MinMove*PriceScale;
STOPPRICE=BKPRICE-LOSSPOINT*MinMove*PriceScale;
If(LOW<STOPPRICE)
{
SKPRICE=Min(STOPPRICE,Open);
BuyToCover(1,SKPRICE);
BKPRICE=0;
Commentary("止损:"+Text(SKPRICE));
}
Else If(High>EARNPRICE)
{
SKPRICE=Max(EARNPRICE,Open);
BuyToCover(1,SKPRICE);
BKPRICE=0;
Commentary("止盈:"+Text(SKPRICE));
}
}
}
Else If(MarketPosition<>0)
{
SKPRICE=Open;
BuyToCover(1,SKPRICE);
BKPRICE=0;
Commentary("时间平仓:"+Text(SKPRICE));
KDALLOW=False;
PDALLOW=False;
}
Commentary("BKPRICE"+Text(BKPRICE));
Commentary("KDALLOW"+IIFString(KDALLOW,"True","False"));
Commentary("PDALLOW"+IIFString(KDALLOW,"True","False"));
End
复制代码
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2