关于return问题 [开拓者 TB]
- 咨询内容:
- Params
- Numeric offSet(1); // 委托价格偏移,为了保证成交
- Numeric BeforeMins(5); // 收盘前几分钟开始操作
- Vars
- Numeric tempPos; // 仓位
- Numeric DeleteOrderTickCounter; //Tick计数器
- Numeric HasSendOrder(0); //撤单标志
- Begin
- If(BarStatus == 0) //第一个bar时,对Tick计数器、撤单标志初始化、并存放全局变量
- {
- DeleteOrderTickCounter = 9999;
- HasSendOrder = 0;
- SetGlobalVar(0,DeleteOrderTickCounter);
- SetGlobalVar(1,HasSendOrder);
- }Else //其他bar、从全局变量中读取撤单tick计数器撤单标志的值
- {
- DeleteOrderTickCounter = GetGlobalVar(0);
- HasSendOrder = GetGlobalVar(1);
- }
- If(CurrentTime > (0.1459 - 0.0001*(BeforeMins-1)) && BarStatus == 2 && HasSendOrder == 0)
- {
- If(Data0.Close != InvalidNumeric && Data0.A_GetOpenOrderCount()>0) // 商品0全部撤单
- {
- Data0.A_DeleteOrder();
- DeleteOrderTickCounter = 1;
- }
-
- DeleteOrderTickCounter = DeleteOrderTickCounter + 1;
- SetGlobalVar(0,DeleteOrderTickCounter);
- If(DeleteOrderTickCounter < 5) Return; // 撤单后需要延迟几个Tick才平仓(Tick开始计数,为了延迟5个Tick后的平仓用)
- tempPos = Data0.A_BuyPosition();
- If(tempPos > 0) // 平多单
- {
- Data0.A_SendOrder(Enum_Sell,Enum_Exit,tempPos,Data0.Q_BidPrice-offSet*Data0.MinMove*Data0.PriceScale);
- }
- tempPos = Data0.A_SellPosition();
- If(tempPos > 0) //平空单
- {
- Data0.A_SendOrder(Enum_Buy,Enum_Exit,tempPos,Data0.Q_AskPrice+offSet*Data0.MinMove*Data0.PriceScale);
- }
-
- HasSendOrder = 1;
- SetGlobalVar(1,HasSendOrder);
- }
- End
- 谁能说说 If(DeleteOrderTickCounter < 5) Return;这条语句return返回到哪吗?是不是返回程序的第一行,如果是的话那岂不是如果条件不满足的时候会一直撤单,还有一个问题就是,比如说在15分钟线上执行程序,在某一根bar上检测到撤单信号,但是这跟bar要过15分钟才转到下一根bar那么这个程序在这跟bar是不是来回的执行?
- Params
- TB技术人员:
执行到return,那么后面的语句就不再执行。待下一个tick或K线进来,从头开始新一轮的运算。
撤单执行后,那么已报单就变成0,之后就不会再满足撤单的条件了呀。所以不会一直撤单 的。
以你说的15分钟线例子,我没有看懂,不明白转到下一个bar与在当前bar来回执行的关系是什么? - TB客服:
小米 发表于 2014-8-28 15:33
执行到return,那么后面的语句就不再执行。待下一个tick或K线进来,从头开始新一轮的运算。
撤单执行后,那 ...
我的意思是,15分钟的bar不是要在一根bar上执行15分钟吗,比如说在这根bar一开始就已经撤单,是不是这个程序还要在这根bar上执行,给过一个tick执行一次 - 网友回复:
yekunpeng 发表于 2014-8-28 16:12
我的意思是,15分钟的bar不是要在一根bar上执行15分钟吗,比如说在这根bar一开始就已经撤单,是不是这个 ...
整个公式是要不停地一遍又一遍地运算的。 - 网友回复:
小米 发表于 2014-8-28 16:15
整个公式是要不停地一遍又一遍地运算的。
哦,差不多懂啦,谢谢。还想问一下AvgEntryPrice建仓平均价格怎么理解,比如说以2300点买了一手股指期货合约,是不是AvgEntryPrice==2300,如果以两手买呢?
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容