关于交易中超级图表买卖数只显示一下消失问题 [开拓者 TB]
- 咨询内容:
我编了一个程序,内容如下,但以模拟帐号运行时,发现了个问题,就是在超级图表买卖数只显示一下,就会消失了,但实现模拟帐户是可以实现当笔交易的。但当下个信号出现时,却不再运行,请教大家,如何解决这个问题?
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
BoolSeries condBuy(false);
BoolSeries condSell(false);
String time_sr;//交易bar时间
String time_now;//当前bar时间
Numeric N1(1);//买卖数量
Numeric minpoint;//最少变化价格
Begin
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
condBuy=CrossOver(MACDValue,AvgMACD);
condSell=CrossUnder(MACDValue,AvgMACD);
minpoint=MinMove*PriceScale;
//1、加入交易时间控制,被免同一根bar反复执行
time_now=DateTimeToString(date+time);
time_sr=GetTBProfileString("data","bartime");//赋值到time_sr
if(Marketposition<>1 and (condBuy[1]==true and time_sr<>time_now))//判断是否持多仓,条件穿越是否成功
{
SetTBProfileString("data","bartime",DateTimeToString(date+time));//将当前交易的bar时间记录
Buy(N1,Open+minpoint);
}
if(MarketPosition<>-1 and (condSell[1]==true and time_sr<>time_now))//判断是否持空仓,条件穿越是否成功
{
SetTBProfileString("data","bartime",DateTimeToString(date+time));//将当前交易的bar时间记录
SellShort(N1,Open-minpoint);
}
End - TB技术人员:
你所使用的读写数据文件来判断,此写法会导致信号消失。
TB本身就有控制,不会反复发单。你只要使用稳定的条件做发单信号就行了。
去掉现在的这个控制,这个是不必要的。
- TB客服: 好的,谢谢!管理员,如果我要实现这个判断,不用读写数据文件来实现,有没有更好的办法,又不让这个信号消失?请赐教,谢谢!
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容