全局变量控制重复开仓问题 [开拓者 TB]
- 咨询内容:
用数据库控制重复开仓总是失败,现在换成用全局变量来控制,在本地和阿里云上测试,都出现重复开仓的现象。请帮我看一下其中的逻辑有什么问题。谢谢!
- Params
- Numeric L1(3);
- Numeric L2(6);
- Numeric Stoploss(2);
- Vars
- NumericSeries shortline;
- NumericSeries longline;
- Numeric protectprice;
- Bool SonL;
- Bool SunderL;
- Begin
- If(!CallAuctionFilter()) Return;
- shortline=XAverage(Close,L1);
- longline=XAverage(Close,L2);
- PlotNumeric("短期均线",shortline);
- PlotNumeric("长期均线",longline);
- SonL=shortline[1]>longline[1];
- SunderL=shortline[1]<longline[1];
-
- If(BarStatus==2)
- {
- Commentary("全局变量:"+Text(GetGlobalVar(0)));
- If(GetGlobalVar(0)==0 Or GetGlobalVar(0)==InvalidNumeric)
- {
- If(SonL)
- {
- A_SendOrder(Enum_Buy,Enum_Entry,1,Q_AskPrice);
- SetGlobalVar(0,1);
- }
- If(SunderL)
- {
- A_SendOrder(Enum_Sell,Enum_Entry,1,Q_BidPrice);
- SetGlobalVar(0,-1);
- }
- }
- If(GetGlobalVar(0)==1)
- {
- protectprice=A_BuyAvgPrice-Stoploss;
- If(Q_Last<protectprice)
- {
- A_SendOrder(Enum_Sell,Enum_Exit,1,Q_BidPrice);
- SetGlobalVar(0,0);
- }
- }
- If(GetGlobalVar(0)==-1)
- {
- protectprice=A_SellAvgPrice+Stoploss;
- If(Q_Last>protectprice)
- {
- A_SendOrder(Enum_Buy,Enum_Exit,1,Q_AskPrice);
- SetGlobalVar(0,0);
- }
- }
- }
- End
- Params
- TB技术人员:
仍然是是短期均线在长期均线上就开多一手,短期均线在长期均线下就开空一手。开仓后反向波动两点就平仓。
- TB客服: 这是交易记录
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容