开拓者期货期权程序化系统交易论坛
标题:
如何设置同一个K线上做交易后不能同时再止损
[打印本页]
作者:
visions111
时间:
2019-5-14 09:37:30
标题:
如何设置同一个K线上做交易后不能同时再止损
我是通过设置当前bar的初始布尔值为false, 做buy或sellshort交易后变成true,
然后止损的条件是当前bar的布尔值还是初始值false时,
但是我编译成功后,还是在K线图中看到了同一个K线上出现sellshort和止损的情况。
这是该如何处理呢?
Vars
Numeric PercentOfRange(0.8);
Numeric UpperLine;
Numeric LowerLine;
Numeric preDAYRange;
Numeric stopLine1;
Numeric stopLine2;
Numeric stopPrice;
Numeric myPrice;
Bool timerange;
Bool THISbar(False);设置当前bar初始值布尔变量为false
Begin
timeRange = time>0.0900 && time<0.1400;
preDAYRange = HighD[1]-LowD[1];
UpperLine = Open+preDAYRange*PercentOfRange;
LowerLine = Open-preDAYRange*PercentOfRange;
stopPrice = AvgEntryPrice;//平均建仓价格
stopLine1 = stopPrice*1.01;
stopLine2 = stopPrice*0.99;
If(MarketPosition==0 &&timeRange&& High>UpperLine){
myPrice=UpperLine;
If(open>myprice){myprice = open;}
Buy(1,myprice);
THISbar==True;//做交易后当前bar布尔值变成true
}
If(marketposition==1&&THISbar==false){//当前bar未做交易时布尔值为初始值false
If(low<=stopLine2){
Sell(0,Min(Low,stopLine2));//多头止损
}
}
If(MarketPosition==0 && timeRange&& Low<LowerLine){
myprice=lowerLine;
If(open<myprice){myprice = open;}
SellShort(1,myprice);
THISbar==True;//做交易后当前bar布尔值变成true
}
If(marketposition==-1&&THISbar==false){//当前bar未做交易时布尔值为初始值false
If(High>=stopLine1){
BuyToCover(0,Max(High,stopLine1));//空头止损
}
}
作者:
小米
时间:
2019-5-14 10:50:06
1,求昨天的highD,lowD是使用highD(1),lowD(1).而不是使用回溯的[1]
2,将sell ,buytovcover这样的止损语句放到开仓语句的前面
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2