關于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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容