打印本文
關(guān)閉窗口
[求助]MQ 手動(dòng)下單輔助加入Tick問(wèn)題
作者:文華財(cái)經(jīng) 來(lái)源:cxh99.com 發(fā)布時(shí)間:2018年06月02日
咨詢(xún)內(nèi)容:
?我想在手動(dòng)下單輔助中加入Tick數(shù)據(jù),以幫助判斷是否需要成交,具體如下
首先定義全局變量COD,然后賦值:COD = M_GetTradeContract(); //合約編碼 然后定義Tick數(shù)據(jù)區(qū)并引用Tick數(shù)據(jù) VAR_TICKDATA m_TickData; m_TickData = Def_TickData(COD,1,50);
此時(shí)報(bào)錯(cuò):第101行 "COD附近" DEF_TICKDATA函數(shù)第一個(gè)參數(shù)只能是字符常量
這個(gè)該如何解決?在手動(dòng)下單輔助模型中如何引用Tick數(shù)據(jù)?
全部代碼如下: //----------------------------------------------------------------------------------------------------------/*【策略】1、取得手動(dòng)下單的合約、手?jǐn)?shù)、買(mǎi)賣(mài)方向、開(kāi)平方向;自設(shè)委托價(jià)格。2、如果為開(kāi)倉(cāng):? ? ? ? 1)如果為買(mǎi)入開(kāi)倉(cāng):
3、如果為平倉(cāng):? ? ? ?1)如果為買(mǎi)入平倉(cāng):
? ? ? 2)如果為賣(mài)出平倉(cāng):
*///----------------------------------------------------------------------------------------------------------
Vars? ?Global_String TAC; //賬號(hào)? ?Global_String COD; //合約編碼? ?Global_Numeric TBS; //買(mǎi)賣(mài)方向? ?Global_Numeric TEE; //開(kāi)平方向? ?Global_Numeric TVL; //交易手?jǐn)?shù)? ?Global_Numeric BIDP; //買(mǎi)一價(jià)? ?Global_Numeric ASKP; //賣(mài)一價(jià)? ?Global_Numeric BIDV; //買(mǎi)一量? ?Global_Numeric ASKV; //賣(mài)一量? ?Global_Numeric SH; //上海合約標(biāo)志? ?Global_Numeric MINP; //最小變動(dòng)價(jià)位? ?Global_Numeric BRP; //多頭可用持倉(cāng)? ?Global_Numeric SRP; //空頭可用持倉(cāng)? ?Global_Numeric BRP0; //多頭今倉(cāng)可用持倉(cāng)? ?Global_Numeric SRP0; //空頭今倉(cāng)可用持倉(cāng)? ?Global_Numeric BRP1; //多頭老倉(cāng)可用持倉(cāng)? ?Global_Numeric SRP1; //空頭老倉(cāng)可用持倉(cāng)? ?Global_Numeric BKID; //買(mǎi)開(kāi)委托? ?Global_Numeric SKID; //賣(mài)開(kāi)委托? ?Global_Numeric BPID0; //買(mǎi)平今倉(cāng)委托? ?Global_Numeric BPID1; //買(mǎi)平老倉(cāng)委托? ?Global_Numeric BPID; //買(mǎi)平委托? ?Global_Numeric SPID0; //賣(mài)平今倉(cāng)委托? ?Global_Numeric SPID1; //賣(mài)平老倉(cāng)委托? ?Global_Numeric SPID; //賣(mài)平委托? ?Global_Numeric BKFLG; //買(mǎi)開(kāi)標(biāo)志? ?Global_Numeric SKFLG; //賣(mài)開(kāi)標(biāo)志? ?Global_Numeric BPFLG0; //買(mǎi)平今倉(cāng)標(biāo)志? ?Global_Numeric BPFLG1; //買(mǎi)平老倉(cāng)標(biāo)志? ?Global_Numeric BPFLG; //買(mǎi)平標(biāo)志? ?Global_Numeric SPFLG0; //賣(mài)平今倉(cāng)標(biāo)志? ?Global_Numeric SPFLG1; //賣(mài)平老倉(cāng)標(biāo)志? ?Global_Numeric SPFLG; //賣(mài)平標(biāo)志? ?Global_Numeric BKM; //買(mǎi)開(kāi)委托手?jǐn)?shù)? ?Global_Numeric SKM; //賣(mài)開(kāi)委托手?jǐn)?shù)? ?Global_Numeric BPM0; //買(mǎi)平今倉(cāng)委托手?jǐn)?shù)? ?Global_Numeric BPM1; //買(mǎi)平老倉(cāng)委托手?jǐn)?shù)? ?Global_Numeric BPM; //買(mǎi)平委托手?jǐn)?shù)? ?Global_Numeric SPM0; //賣(mài)平今倉(cāng)委托手?jǐn)?shù)? ?Global_Numeric SPM1; //賣(mài)平老倉(cāng)委托手?jǐn)?shù)? ?Global_Numeric SPM; //賣(mài)平委托手?jǐn)?shù)? ?Global_Numeric BKP; //買(mǎi)開(kāi)委托價(jià)格? ?Global_Numeric SKP; //賣(mài)開(kāi)委托價(jià)格? ?Global_Numeric BPP0; //買(mǎi)平今倉(cāng)委托價(jià)格? ?Global_Numeric BPP1; //買(mǎi)平老倉(cāng)委托價(jià)格? ?Global_Numeric BPP; //買(mǎi)平委托價(jià)格? ?Global_Numeric SPP0; //賣(mài)平今倉(cāng)委托價(jià)格? ?Global_Numeric SPP1; //賣(mài)平老倉(cāng)委托價(jià)格? ?Global_Numeric SPP; //賣(mài)平委托價(jià)格? ?Global_Numeric KPFLG; //委托處理標(biāo)志? ?Global_Numeric KT; ? ? ? ? ? ? ? ? ? ? ? ? ? //開(kāi)倉(cāng)委托發(fā)出時(shí)間?
? ?Numeric Lost(2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //止損參數(shù)? ?Numeric Win(10); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //止盈參數(shù)? ?Numeric m_CurrTime; ? ? ? ? ? ? ? ? ? ? ? ?//當(dāng)前時(shí)間? ?Numeric m_BuyAvg; ? ? ? ? ? ? ? ? ? ? ? ? ? //多頭持倉(cāng)均價(jià)? ?Numeric m_New; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 最新價(jià)? ?Numeric m_MinPrice; ? ? ? ? ? ? ? ? ? ? ? ? // 最小變動(dòng)價(jià)位? ?Numeric m_isClose; ? ? ? ? ? ? ? ? ? ? ? ? ? ?//收盤(pán)清倉(cāng)標(biāo)志,1 = 收盤(pán)0 = 盤(pán)中? ?Numeric T(2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//停頓2秒平倉(cāng)? ?VAR_TICKDATA m_TickData;
Begin
//<1 數(shù)據(jù)準(zhǔn)備>? ?m_New = COD.Price("New");? ?m_BuyAvg = A_BuyAvgPrice(); //取得持倉(cāng)欄中該合約多頭持倉(cāng)均價(jià)? ?m_MinPrice = COD.Price("MinPrice");//取最小變動(dòng)價(jià)? ?//m_TickData = Def_TickData("m1705",1,4); // 保存最近四筆的tick 數(shù)據(jù)? ?m_CurrTime = CurrentTime(); // 獲取當(dāng)前時(shí)間? ?//m_isClose = (m_CurrTime >=0.101430 && m_CurrTime <=0.101510)||(m_CurrTime >=0.112930 && m_CurrTime <=0.113010)||(m_CurrTime >=0.145930 && m_CurrTime <=0.150010);? ?//</1>
? ?//------------------------------------委托獲取------------------------------------//? ?If(KPFLG == 0) //如果未開(kāi)啟委托處理? ?{? ? ? TAC = M_GetTradeAccount(0); //賬號(hào)? ? ? COD = M_GetTradeContract(); //合約編碼? ? ? TBS = M_GetTradeBuySell(); //買(mǎi)賣(mài)方向? ? ? TEE = M_GetTradeEntryExit(); //開(kāi)平方向? ? ? TVL = M_GetTradeVol(); //交易手?jǐn)?shù) m_TickData = Def_TickData(COD,1,50);? ? ? If(TVL > 0 && COD.A_IsExchangeOpen() == 1) //如果交易手?jǐn)?shù)大于0,且當(dāng)前狀態(tài)是開(kāi)盤(pán)? ? ? { ? If(TBS == Enum_Buy && TEE == Enum_Entry) //如果是買(mǎi)開(kāi)方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "做多:手動(dòng)買(mǎi)開(kāi)" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 1; //開(kāi)啟買(mǎi)開(kāi)委托處理? ? ? ? ?}? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_Entry) //如果是賣(mài)開(kāi)方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "做空:手動(dòng)賣(mài)開(kāi)" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 2; //開(kāi)啟賣(mài)開(kāi)委托處理? ? ? ? ?}? ? ? ? ?Else If(TBS == Enum_Buy && TEE == Enum_Exit) //如果是買(mǎi)平方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平空:手動(dòng)買(mǎi)平" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 3; //開(kāi)啟買(mǎi)平委托處理? ? ? ? ?}? ? ? ? ?Else If(TBS == Enum_Buy && TEE == Enum_ExitToday) //如果是買(mǎi)平今方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平今空:手動(dòng)買(mǎi)平" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 4; //開(kāi)啟買(mǎi)平今倉(cāng)委托處理? ? ? ? ?}? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_Exit) //如果是賣(mài)平方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平多:手動(dòng)賣(mài)平" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 5; //開(kāi)啟賣(mài)平委托處理? ? ? ? ?}? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_ExitToday) //如果是賣(mài)平今方向? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平今多:手動(dòng)賣(mài)平" + Text(TVL) + "手!】");? ? ? ? ? ? KPFLG = 6; //開(kāi)啟賣(mài)平今倉(cāng)委托處理? ? ? ? ?} SH = COD.A_IsSHCode(); //上海合約標(biāo)志? ? ? ? ?MINP = COD.Price("MinPrice"); //最小變動(dòng)價(jià)位? ? ? }? ?}
? ?//------------------------------------委托處理------------------------------------//? ?If(KPFLG > 0 && COD.A_IsExchangeOpen() == 1) //如果已開(kāi)啟委托處理,且當(dāng)前狀態(tài)是開(kāi)盤(pán)? ?{? ? ? BIDP = COD.Price("Bid1"); //買(mǎi)一價(jià)? ? ? ASKP = COD.Price("Ask1"); //賣(mài)一價(jià)? ? ? BIDV = COD.Price("BidVol1"); //買(mǎi)一量? ? ? ASKV = COD.Price("AskVol1"); //賣(mài)一量? ? ? BRP = COD.A_BuyRemainPosition(); //多頭可用持倉(cāng)? ? ? SRP = COD.A_SellRemainPosition(); //空頭可用持倉(cāng)? ? ? If(SH == 1) //如果當(dāng)前合約是上海市場(chǎng)合約 {? ? ? ? ?BRP0 = COD.A_TodayBuyRemainPosition(); //多頭今倉(cāng)可用持倉(cāng)? ? ? ? ?SRP0 = COD.A_TodaySellRemainPosition(); //空頭今倉(cāng)可用持倉(cāng)? ? ? ? ?BRP1 = BRP - BRP0; //多頭老倉(cāng)可用持倉(cāng)? ? ? ? ?SRP1 = SRP - SRP0; //空頭老倉(cāng)可用持倉(cāng) ? }
//------------------------------------成交判斷------------------------------------//? ? ? If(BKFLG == 1) //如果有買(mǎi)開(kāi)委托? ? ? {? ? ? ? ?If(F_OrderStatus(BKID) == Enum_Filled) //如果買(mǎi)開(kāi)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托成交!】");? ? ? ? ? ? TVL = TVL - BKM; //交易手?jǐn)?shù)自減買(mǎi)開(kāi)委托手?jǐn)?shù)? ? ? ? ? ? BKFLG = 0; //買(mǎi)開(kāi)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(SKFLG == 1) //如果有賣(mài)開(kāi)委托? ? ? {? ? ? ? ?If(F_OrderStatus(SKID) == Enum_Filled) //如果賣(mài)開(kāi)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "做空:賣(mài)開(kāi)委托成交!】");? ? ? ? ? ? TVL = TVL - SKM; //交易手?jǐn)?shù)自減賣(mài)開(kāi)委托手?jǐn)?shù)? ? ? ? ? ? SKFLG = 0; //賣(mài)開(kāi)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(BPFLG0 == 1) //如果有買(mǎi)平今倉(cāng)委托? ? ? {? ? ? ? ?If(F_OrderStatus(BPID0) == Enum_Filled) //如果買(mǎi)平今倉(cāng)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平今倉(cāng)委托成交!】");? ? ? ? ? ? TVL = TVL - BPM0; //交易手?jǐn)?shù)自減買(mǎi)平今倉(cāng)委托手?jǐn)?shù)? ? ? ? ? ? BPFLG0 = 0; //買(mǎi)平今倉(cāng)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(BPFLG1 == 1) //如果有買(mǎi)平老倉(cāng)委托? ? ? {? ? ? ? ?If(F_OrderStatus(BPID1) == Enum_Filled) //如果買(mǎi)平老倉(cāng)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平老倉(cāng)委托成交!】");? ? ? ? ? ? TVL = TVL - BPM1; //交易手?jǐn)?shù)自減買(mǎi)平老倉(cāng)委托手?jǐn)?shù)? ? ? ? ? ? BPFLG1 = 0; //買(mǎi)平老倉(cāng)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(BPFLG == 1) //如果有買(mǎi)平委托? ? ? {? ? ? ? ?If(F_OrderStatus(BPID) == Enum_Filled) //如果買(mǎi)平委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平委托成交!】");? ? ? ? ? ? TVL = TVL - BPM; //交易手?jǐn)?shù)自減買(mǎi)平委托手?jǐn)?shù)? ? ? ? ? ? BPFLG = 0; //買(mǎi)平標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(SPFLG0 == 1) //如果有賣(mài)平今倉(cāng)委托? ? ? {? ? ? ? ?If(F_OrderStatus(SPID0) == Enum_Filled) //如果賣(mài)平今倉(cāng)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平今倉(cāng)委托成交!】");? ? ? ? ? ? TVL = TVL - SPM0; //交易手?jǐn)?shù)自減賣(mài)平今倉(cāng)委托手?jǐn)?shù)? ? ? ? ? ? SPFLG0 = 0; //賣(mài)平今倉(cāng)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(SPFLG1 == 1) //如果有賣(mài)平老倉(cāng)委托? ? ? {? ? ? ? ?If(F_OrderStatus(SPID1) == Enum_Filled) //如果賣(mài)平老倉(cāng)委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平老倉(cāng)委托成交!】");? ? ? ? ? ? TVL = TVL - SPM1; //交易手?jǐn)?shù)自減賣(mài)平老倉(cāng)委托手?jǐn)?shù)? ? ? ? ? ? SPFLG1 = 0; //賣(mài)平老倉(cāng)標(biāo)志歸0? ? ? ? ?}? ? ? }
? ? ? If(SPFLG == 1) //如果有賣(mài)平委托? ? ? {? ? ? ? ?If(F_OrderStatus(SPID) == Enum_Filled) //如果賣(mài)平委托成交? ? ? ? ?{? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平委托成交!】");? ? ? ? ? ? TVL = TVL - SPM; //交易手?jǐn)?shù)自減賣(mài)平委托手?jǐn)?shù)? ? ? ? ? ? SPFLG = 0; //賣(mài)平標(biāo)志歸0? ? ? ? ?} }
? ? ? //------------------------------------委托處理------------------------------------//? ? ? If(KPFLG == 1) //如果已開(kāi)啟買(mǎi)開(kāi)委托處理? ? ? {? ? ? ? ?If(BKFLG == 0) //如果沒(méi)有買(mǎi)開(kāi)委托? ? ? ? ?{? ? ? ? ? ? BKM = Min(ASKV,TVL); //買(mǎi)開(kāi)委托手?jǐn)?shù) ? ? ? ? ? ASKV賣(mài)一量 ? TVL 下單手?jǐn)?shù)
? /**? ?* ?這里才是需要修改的條件,基于條件就要下單了!~ ?? ?*/? ? ? ? ? ? If(BKM > 0) //如果買(mǎi)開(kāi)委托手?jǐn)?shù)大于0? ? ? ? ? ? {? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:公式買(mǎi)開(kāi)" + Text(BKM) + "手!】");? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托發(fā)出!】");? ? ? ? ? ? ? ?BKP = ASKP; //買(mǎi)開(kāi)委托價(jià)格設(shè)為賣(mài)一價(jià) ? KT = CurrentTime();? ? ? ? ? ? ? ?BKID = COD.A_SendOrder(Enum_Buy,Enum_Entry,BKM,BKP,TAC); //以買(mǎi)開(kāi)委托價(jià)格發(fā)出買(mǎi)開(kāi)委托手?jǐn)?shù)的買(mǎi)開(kāi)委托? ? ? ? ? ? ? ?BKFLG = 1; //已發(fā)出買(mǎi)開(kāi)委托? ? ? ? ? ? }? ? ? ? ? ? Else If(BKM == 0) //如果買(mǎi)開(kāi)委托手?jǐn)?shù)等于0? ? ? ? ? ? {? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托完成!】"); ?? ? /** * ?這里退出是有疑問(wèn)的,如果退出,如何止盈止損? */? ? ? ? ? ? ? ?Exit(); //退出公式? ? ? ? ? ? }? ? ? ? ?}? ? ? } ? Else If(KPFLG == 2) //如果已開(kāi)啟賣(mài)開(kāi)委托處理? ? ? {? ? ? ? ?If(SKFLG == 0) //如果沒(méi)有賣(mài)開(kāi)委托? ? ? ? ?{? ? ? ? ? ? SKM = Min(BIDV,TVL); //賣(mài)開(kāi)委托手?jǐn)?shù)
? ? ? ? ? ? /**? ?* ?這里才是需要修改的條件,基于條件就要下單了!~ ?? ?*/? ? ? ? ? ? If(SKM > 0) //如果賣(mài)開(kāi)委托手?jǐn)?shù)大于0? ? ? ? ? ? {? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:公式賣(mài)開(kāi)" + Text(SKM) + "手!】");? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:賣(mài)開(kāi)委托發(fā)出!】");? ? ? ? ? ? ? ?SKP = BIDP; //賣(mài)開(kāi)委托價(jià)格設(shè)為買(mǎi)一價(jià) KT = CurrentTime();? ? ? ? ? ? ? ?SKID = COD.A_SendOrder(Enum_Sell,Enum_Entry,SKM,SKP,TAC); //以賣(mài)開(kāi)委托價(jià)格發(fā)出賣(mài)開(kāi)委托手?jǐn)?shù)的賣(mài)開(kāi)委托? ? ? ? ? ? ? ?SKFLG = 1; //已發(fā)出賣(mài)開(kāi)委托? ? ? ? ? ? }? ? ? ? ? ? Else If(SKM == 0) //如果賣(mài)開(kāi)委托手?jǐn)?shù)等于0? ? ? ? ? ? {? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:賣(mài)開(kāi)委托完成!】"); ?/** * ?這里退出是有疑問(wèn)的,如果退出,如何止盈止損? */? ? ? ? ? ? ? ?Exit(); //退出公式? ? ? ? ? ? }? ? ? ? ?}? ? ? }
?//止損 ?If(m_BuyAvg-m_New >=Lost*m_MinPrice && BRP >0) ?{ Commentary("止損"); A_SendOrder(Enum_Sell,Enum_Exit, F_BuyRemainPosition(),COD.Price("bid1")); Commentary("止損完成,準(zhǔn)備退出"); Exit(); //退出公式 ?} ? //止盈或平推 ?If(TimeDiff(m_CurrTime,KT) >= T && (m_BuyAvg-m_New ?<=m_MinPrice) && BRP >0) { Commentary(Text(T) + "秒價(jià)格不前進(jìn)就平倉(cāng)"); A_SendOrder(Enum_Sell,Enum_Exit, F_BuyRemainPosition(),COD.Price("bid1")); Commentary("止盈平推完成,準(zhǔn)備退出"); Exit(); //退出公式 ?}
? ?}End
?
?來(lái)源:程序化99
文華技術(shù)人員:
?這樣調(diào)整下:
Vars
? ?Global_String TAC;?
//賬號(hào)
? ?Global_String COD;?
//合約編碼
? ?Global_Numeric TBS;?
//買(mǎi)賣(mài)方向
? ?Global_Numeric TEE;?
//開(kāi)平方向
? ?Global_Numeric TVL;?
//交易手?jǐn)?shù)
? ?Global_Numeric BIDP;?
//買(mǎi)一價(jià)
? ?Global_Numeric ASKP;
//賣(mài)一價(jià)
? ?Global_Numeric BIDV;?
//買(mǎi)一量
? ?Global_Numeric ASKV;?
//賣(mài)一量
? ?Global_Numeric SH;?
//上海合約標(biāo)志
? ?Global_Numeric MINP;?
//最小變動(dòng)價(jià)位
? ?Global_Numeric BRP;?
//多頭可用持倉(cāng)
? ?Global_Numeric SRP;?
//空頭可用持倉(cāng)
? ?Global_Numeric BRP0;?
//多頭今倉(cāng)可用持倉(cāng)
? ?Global_Numeric SRP0;?
//空頭今倉(cāng)可用持倉(cāng)
? ?Global_Numeric BRP1;?
//多頭老倉(cāng)可用持倉(cāng)
? ?Global_Numeric SRP1;?
//空頭老倉(cāng)可用持倉(cāng)
? ?Global_Numeric BKID;?
//買(mǎi)開(kāi)委托
? ?Global_Numeric SKID;?
//賣(mài)開(kāi)委托
? ?Global_Numeric BPID0;?
//買(mǎi)平今倉(cāng)委托
? ?Global_Numeric BPID1;?
//買(mǎi)平老倉(cāng)委托
? ?Global_Numeric BPID;?
//買(mǎi)平委托
? ?Global_Numeric SPID0;?
//賣(mài)平今倉(cāng)委托
? ?Global_Numeric SPID1;?
//賣(mài)平老倉(cāng)委托
? ?Global_Numeric SPID;?
//賣(mài)平委托
? ?Global_Numeric BKFLG;?
//買(mǎi)開(kāi)標(biāo)志
? ?Global_Numeric SKFLG;?
//賣(mài)開(kāi)標(biāo)志
? ?Global_Numeric BPFLG0;?
//買(mǎi)平今倉(cāng)標(biāo)志
? ?Global_Numeric BPFLG1;?
//買(mǎi)平老倉(cāng)標(biāo)志
? ?Global_Numeric BPFLG;?
//買(mǎi)平標(biāo)志
? ?Global_Numeric SPFLG0;?
//賣(mài)平今倉(cāng)標(biāo)志
? ?Global_Numeric SPFLG1;?
//賣(mài)平老倉(cāng)標(biāo)志
? ?Global_Numeric SPFLG;?
//賣(mài)平標(biāo)志
? ?Global_Numeric BKM;?
//買(mǎi)開(kāi)委托手?jǐn)?shù)
? ?Global_Numeric SKM;?
//賣(mài)開(kāi)委托手?jǐn)?shù)
? ?Global_Numeric BPM0;?
//買(mǎi)平今倉(cāng)委托手?jǐn)?shù)
? ?Global_Numeric BPM1;?
//買(mǎi)平老倉(cāng)委托手?jǐn)?shù)
? ?Global_Numeric BPM;?
//買(mǎi)平委托手?jǐn)?shù)
? ?Global_Numeric SPM0;?
//賣(mài)平今倉(cāng)委托手?jǐn)?shù)
? ?Global_Numeric SPM1;?
//賣(mài)平老倉(cāng)委托手?jǐn)?shù)
? ?Global_Numeric SPM;?
//賣(mài)平委托手?jǐn)?shù)
? ?Global_Numeric BKP;?
//買(mǎi)開(kāi)委托價(jià)格
? ?Global_Numeric SKP;?
//賣(mài)開(kāi)委托價(jià)格
? ?Global_Numeric BPP0;?
//買(mǎi)平今倉(cāng)委托價(jià)格
? ?Global_Numeric BPP1;?
//買(mǎi)平老倉(cāng)委托價(jià)格
? ?Global_Numeric BPP;?
//買(mǎi)平委托價(jià)格
? ?Global_Numeric SPP0;?
//賣(mài)平今倉(cāng)委托價(jià)格
? ?Global_Numeric SPP1;?
//賣(mài)平老倉(cāng)委托價(jià)格
? ?Global_Numeric SPP;?
//賣(mài)平委托價(jià)格
? ?Global_Numeric KPFLG;?
//委托處理標(biāo)志
? ?Global_Numeric KT; ? ? ? ? ? ? ? ? ? ? ? ? ? //開(kāi)倉(cāng)委托發(fā)出時(shí)間?
? ?Numeric Lost(2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //止損參數(shù)
? ?Numeric Win(10); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //止盈參數(shù)
? ?Numeric m_CurrTime; ? ? ? ? ? ? ? ? ? ? ? ?//當(dāng)前時(shí)間
? ?Numeric m_BuyAvg; ? ? ? ? ? ? ? ? ? ? ? ? ? //多頭持倉(cāng)均價(jià)
? ?Numeric m_New; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 最新價(jià)
? ?Numeric m_MinPrice; ? ? ? ? ? ? ? ? ? ? ? ? // 最小變動(dòng)價(jià)位
? ?Numeric m_isClose; ? ? ? ? ? ? ? ? ? ? ? ? ? ?//收盤(pán)清倉(cāng)標(biāo)志,1 = 收盤(pán)0 = 盤(pán)中
? ?Numeric T(2); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//停頓2秒平倉(cāng)
? Var_TickData m_TickData;
Begin
//<1 數(shù)據(jù)準(zhǔn)備>
? ?m_New = COD.Price("New");
? ?m_BuyAvg = A_BuyAvgPrice(); //取得持倉(cāng)欄中該合約多頭持倉(cāng)均價(jià)
? ?m_MinPrice = COD.Price("MinPrice");//取最小變動(dòng)價(jià)
? ?//m_TickData = Def_TickData("m1705",1,4); // 保存最近四筆的tick 數(shù)據(jù)
? ?m_CurrTime = CurrentTime(); // 獲取當(dāng)前時(shí)間
? ?//m_isClose = (m_CurrTime >=0.101430 && m_CurrTime <=0.101510)||(m_CurrTime >=0.112930 && m_CurrTime <=0.113010)||(m_CurrTime >=0.145930 && m_CurrTime <=0.150010);
? ?
//</1>
? ?//------------------------------------委托獲取------------------------------------//
? ?If(KPFLG == 0) //如果未開(kāi)啟委托處理
? ?{
? ? ? TAC = M_GetTradeAccount(0); //賬號(hào)
? ? ? COD = M_GetTradeContract(); //合約編碼
? ? ? TBS = M_GetTradeBuySell(); //買(mǎi)賣(mài)方向
? ? ? TEE = M_GetTradeEntryExit(); //開(kāi)平方向
? ? ? TVL = M_GetTradeVol(); //交易手?jǐn)?shù)
m_TickData = Def_TickData("COD",1,50);
? ? ? If(TVL > 0 && COD.A_IsExchangeOpen() == 1) //如果交易手?jǐn)?shù)大于0,且當(dāng)前狀態(tài)是開(kāi)盤(pán)
? ? ? {
?? If(TBS == Enum_Buy && TEE == Enum_Entry) //如果是買(mǎi)開(kāi)方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "做多:手動(dòng)買(mǎi)開(kāi)" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 1; //開(kāi)啟買(mǎi)開(kāi)委托處理
? ? ? ? ?}
? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_Entry) //如果是賣(mài)開(kāi)方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "做空:手動(dòng)賣(mài)開(kāi)" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 2; //開(kāi)啟賣(mài)開(kāi)委托處理
? ? ? ? ?}
? ? ? ? ?Else If(TBS == Enum_Buy && TEE == Enum_Exit) //如果是買(mǎi)平方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平空:手動(dòng)買(mǎi)平" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 3; //開(kāi)啟買(mǎi)平委托處理
? ? ? ? ?}
? ? ? ? ?Else If(TBS == Enum_Buy && TEE == Enum_ExitToday) //如果是買(mǎi)平今方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平今空:手動(dòng)買(mǎi)平" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 4; //開(kāi)啟買(mǎi)平今倉(cāng)委托處理
? ? ? ? ?}
? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_Exit) //如果是賣(mài)平方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平多:手動(dòng)賣(mài)平" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 5; //開(kāi)啟賣(mài)平委托處理
? ? ? ? ?}
? ? ? ? ?Else If(TBS == Enum_Sell && TEE == Enum_ExitToday) //如果是賣(mài)平今方向
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平今多:手動(dòng)賣(mài)平" + Text(TVL) + "手!】");
? ? ? ? ? ? KPFLG = 6; //開(kāi)啟賣(mài)平今倉(cāng)委托處理
? ? ? ? ?}
SH = COD.A_IsSHCode(); //上海合約標(biāo)志
? ? ? ? ?MINP = COD.Price("MinPrice"); //最小變動(dòng)價(jià)位
? ? ? }
? ?}
? ?//------------------------------------委托處理------------------------------------//
? ?If(KPFLG > 0 && COD.A_IsExchangeOpen() == 1) //如果已開(kāi)啟委托處理,且當(dāng)前狀態(tài)是開(kāi)盤(pán)
? ?{
? ? ? BIDP = COD.Price("Bid1"); //買(mǎi)一價(jià)
? ? ? ASKP = COD.Price("Ask1"); //賣(mài)一價(jià)
? ? ? BIDV = COD.Price("BidVol1"); //買(mǎi)一量
? ? ? ASKV = COD.Price("AskVol1"); //賣(mài)一量
? ? ? BRP = COD.A_BuyRemainPosition(); //多頭可用持倉(cāng)
? ? ? SRP = COD.A_SellRemainPosition(); //空頭可用持倉(cāng)
? ? ? If(SH == 1) //如果當(dāng)前合約是上海市場(chǎng)合約
{
? ? ? ? ?BRP0 = COD.A_TodayBuyRemainPosition(); //多頭今倉(cāng)可用持倉(cāng)
? ? ? ? ?SRP0 = COD.A_TodaySellRemainPosition(); //空頭今倉(cāng)可用持倉(cāng)
? ? ? ? ?BRP1 = BRP - BRP0; //多頭老倉(cāng)可用持倉(cāng)
? ? ? ? ?SRP1 = SRP - SRP0; //空頭老倉(cāng)可用持倉(cāng)
?? }
//------------------------------------成交判斷------------------------------------//
? ? ? If(BKFLG == 1) //如果有買(mǎi)開(kāi)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(BKID) == Enum_Filled) //如果買(mǎi)開(kāi)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托成交!】");
? ? ? ? ? ? TVL = TVL - BKM; //交易手?jǐn)?shù)自減買(mǎi)開(kāi)委托手?jǐn)?shù)
? ? ? ? ? ? BKFLG = 0; //買(mǎi)開(kāi)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(SKFLG == 1) //如果有賣(mài)開(kāi)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(SKID) == Enum_Filled) //如果賣(mài)開(kāi)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "做空:賣(mài)開(kāi)委托成交!】");
? ? ? ? ? ? TVL = TVL - SKM; //交易手?jǐn)?shù)自減賣(mài)開(kāi)委托手?jǐn)?shù)
? ? ? ? ? ? SKFLG = 0; //賣(mài)開(kāi)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(BPFLG0 == 1) //如果有買(mǎi)平今倉(cāng)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(BPID0) == Enum_Filled) //如果買(mǎi)平今倉(cāng)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平今倉(cāng)委托成交!】");
? ? ? ? ? ? TVL = TVL - BPM0; //交易手?jǐn)?shù)自減買(mǎi)平今倉(cāng)委托手?jǐn)?shù)
? ? ? ? ? ? BPFLG0 = 0; //買(mǎi)平今倉(cāng)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(BPFLG1 == 1) //如果有買(mǎi)平老倉(cāng)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(BPID1) == Enum_Filled) //如果買(mǎi)平老倉(cāng)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平老倉(cāng)委托成交!】");
? ? ? ? ? ? TVL = TVL - BPM1; //交易手?jǐn)?shù)自減買(mǎi)平老倉(cāng)委托手?jǐn)?shù)
? ? ? ? ? ? BPFLG1 = 0; //買(mǎi)平老倉(cāng)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(BPFLG == 1) //如果有買(mǎi)平委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(BPID) == Enum_Filled) //如果買(mǎi)平委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平空:買(mǎi)平委托成交!】");
? ? ? ? ? ? TVL = TVL - BPM; //交易手?jǐn)?shù)自減買(mǎi)平委托手?jǐn)?shù)
? ? ? ? ? ? BPFLG = 0; //買(mǎi)平標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(SPFLG0 == 1) //如果有賣(mài)平今倉(cāng)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(SPID0) == Enum_Filled) //如果賣(mài)平今倉(cāng)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平今倉(cāng)委托成交!】");
? ? ? ? ? ? TVL = TVL - SPM0; //交易手?jǐn)?shù)自減賣(mài)平今倉(cāng)委托手?jǐn)?shù)
? ? ? ? ? ? SPFLG0 = 0; //賣(mài)平今倉(cāng)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(SPFLG1 == 1) //如果有賣(mài)平老倉(cāng)委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(SPID1) == Enum_Filled) //如果賣(mài)平老倉(cāng)委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平老倉(cāng)委托成交!】");
? ? ? ? ? ? TVL = TVL - SPM1; //交易手?jǐn)?shù)自減賣(mài)平老倉(cāng)委托手?jǐn)?shù)
? ? ? ? ? ? SPFLG1 = 0; //賣(mài)平老倉(cāng)標(biāo)志歸0
? ? ? ? ?}
? ? ? }
? ? ? If(SPFLG == 1) //如果有賣(mài)平委托
? ? ? {
? ? ? ? ?If(F_OrderStatus(SPID) == Enum_Filled) //如果賣(mài)平委托成交
? ? ? ? ?{
? ? ? ? ? ? Commentary("【" + COD + "平多:賣(mài)平委托成交!】");
? ? ? ? ? ? TVL = TVL - SPM; //交易手?jǐn)?shù)自減賣(mài)平委托手?jǐn)?shù)
? ? ? ? ? ? SPFLG = 0; //賣(mài)平標(biāo)志歸0
? ? ? ? ?}
?}
? ? ? //------------------------------------委托處理------------------------------------//
? ? ? If(KPFLG == 1) //如果已開(kāi)啟買(mǎi)開(kāi)委托處理
? ? ? {
? ? ? ? ?If(BKFLG == 0) //如果沒(méi)有買(mǎi)開(kāi)委托
? ? ? ? ?{
? ? ? ? ? ? BKM = Min(ASKV,TVL); //買(mǎi)開(kāi)委托手?jǐn)?shù) ? ? ? ? ? ASKV賣(mài)一量 ? TVL 下單手?jǐn)?shù)
?? /**?
??* ?這里才是需要修改的條件,基于條件就要下單了!~ ??
??*/
? ? ? ? ? ? If(BKM > 0) //如果買(mǎi)開(kāi)委托手?jǐn)?shù)大于0
? ? ? ? ? ? {
? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:公式買(mǎi)開(kāi)" + Text(BKM) + "手!】");
? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托發(fā)出!】");
? ? ? ? ? ? ? ?BKP = ASKP; //買(mǎi)開(kāi)委托價(jià)格設(shè)為賣(mài)一價(jià)
?? KT = CurrentTime();
? ? ? ? ? ? ? ?BKID = COD.A_SendOrder(Enum_Buy,Enum_Entry,BKM,BKP,TAC); //以買(mǎi)開(kāi)委托價(jià)格發(fā)出買(mǎi)開(kāi)委托手?jǐn)?shù)的買(mǎi)開(kāi)委托
? ? ? ? ? ? ? ?BKFLG = 1; //已發(fā)出買(mǎi)開(kāi)委托
? ? ? ? ? ? }
? ? ? ? ? ? Else If(BKM == 0) //如果買(mǎi)開(kāi)委托手?jǐn)?shù)等于0
? ? ? ? ? ? {
? ? ? ? ? ? ? ?Commentary("【" + COD + "做多:買(mǎi)開(kāi)委托完成!】");
???
?? /**
?* ?這里退出是有疑問(wèn)的,如果退出,如何止盈止損?
?*/
? ? ? ? ? ? ? ?Exit(); //退出公式
? ? ? ? ? ? }
? ? ? ? ?}
? ? ? }
?? Else If(KPFLG == 2) //如果已開(kāi)啟賣(mài)開(kāi)委托處理
? ? ? {
? ? ? ? ?If(SKFLG == 0) //如果沒(méi)有賣(mài)開(kāi)委托
? ? ? ? ?{
? ? ? ? ? ? SKM = Min(BIDV,TVL); //賣(mài)開(kāi)委托手?jǐn)?shù)
? ? ? ? ? ? /**?
??* ?這里才是需要修改的條件,基于條件就要下單了!~ ??
??*/
? ? ? ? ? ? If(SKM > 0) //如果賣(mài)開(kāi)委托手?jǐn)?shù)大于0
? ? ? ? ? ? {
? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:公式賣(mài)開(kāi)" + Text(SKM) + "手!】");
? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:賣(mài)開(kāi)委托發(fā)出!】");
? ? ? ? ? ? ? ?SKP = BIDP; //賣(mài)開(kāi)委托價(jià)格設(shè)為買(mǎi)一價(jià)
KT = CurrentTime();
? ? ? ? ? ? ? ?SKID = COD.A_SendOrder(Enum_Sell,Enum_Entry,SKM,SKP,TAC); //以賣(mài)開(kāi)委托價(jià)格發(fā)出賣(mài)開(kāi)委托手?jǐn)?shù)的賣(mài)開(kāi)委托
? ? ? ? ? ? ? ?SKFLG = 1; //已發(fā)出賣(mài)開(kāi)委托
? ? ? ? ? ? }
? ? ? ? ? ? Else If(SKM == 0) //如果賣(mài)開(kāi)委托手?jǐn)?shù)等于0
? ? ? ? ? ? {
? ? ? ? ? ? ? ?Commentary("【" + COD + "做空:賣(mài)開(kāi)委托完成!】");
??/**
?* ?這里退出是有疑問(wèn)的,如果退出,如何止盈止損?
?*/
? ? ? ? ? ? ? ?Exit(); //退出公式
? ? ? ? ? ? }
? ? ? ? ?}
? ? ? }
??//止損
??If(m_BuyAvg-m_New >=Lost*m_MinPrice && BRP >0)?
??{
?Commentary("止損");
?A_SendOrder(Enum_Sell,Enum_Exit, F_BuyRemainPosition(),COD.Price("bid1"));
?Commentary("止損完成,準(zhǔn)備退出");
?Exit(); //退出公式
??}
?
//止盈或平推
??If(TimeDiff(m_CurrTime,KT) >= T && (m_BuyAvg-m_New ?<=m_MinPrice) && BRP >0) {
?Commentary(Text(T) + "秒價(jià)格不前進(jìn)就平倉(cāng)");
?A_SendOrder(Enum_Sell,Enum_Exit, F_BuyRemainPosition(),COD.Price("bid1"));
?Commentary("止盈平推完成,準(zhǔn)備退出");
?Exit(); //退出公式
??}
? ?}
End
?
?
?來(lái)源: www.tumamayizhan.com
文華客服:
這么厲害,
?來(lái)源: www.tumamayizhan.com
文華客服:
?來(lái)源: www.tumamayizhan.com
文華客服:
m_TickData = Def_TickData("COD",1,50); ?
引用"COD"字符就能自動(dòng)匹配到當(dāng)前手動(dòng)的合約?請(qǐng)教這是什么機(jī)制?
?
網(wǎng)友回復(fù):
?是的,這個(gè)是根據(jù)您當(dāng)前手動(dòng)下單頁(yè)面上所選合約來(lái)自動(dòng)指定的,
這個(gè)是一種常見(jiàn)的寫(xiě)法,您可以參考MQ說(shuō)明書(shū)中算法模型使用這部分來(lái)詳細(xì)了解一下關(guān)于算法模型手動(dòng)下單的使用:
http://mq.wenhua.com.cn/Solution/index?flag=0
打印本文
關(guān)閉窗口
主站蜘蛛池模板:
日本在线高清视频
|
中文字幕av无码无卡免费
|
欧美视频自拍偷拍
|
动漫成人在线观看
|
香蕉久久久久久AV成人
|
最近2019中文字幕无吗
|
国产精品久久久久乳精品爆
|
99久久精品九九亚洲精品
|
成人a级高清视频在线观看
|
久久精品99久久香蕉国产
|
欧美性色一级在线观看
|
伊人色综合久久
|
精品女同一区二区三区免费站
|
热99精品只有里视频最新
|
十二以下岁女子毛片免费
|
被窝影院午夜无码国产
|
国产成人a毛片在线
|
中文字幕亚洲色图
|
国产色司机在线视频免费观看
|
nanana最新在线视频免费观看网
|
成人午夜精品视频在线观看
|
丰满少妇作爱视频免费观看
|
日本高清有码视频
|
久久综合色综合
|
欧美va天堂在线电影
|
亚洲最大色视频
|
毛片在线看免费
|
交换年轻夫妇无删减
|
男男调教军警奴跪下抽打
|
公交车上驯服冷艳麻麻
|
精品无码久久久久久尤物
|
可以看污视频的网站
|
美女脱下裤子让男人捅
|
国产∨亚洲v天堂无码久久久
|
试看120秒做受小视频免费
|
国产动作大片中文字幕
|
顾明月媚肉生香全文
|
国产剧情AV麻豆香蕉精品
|
91精品国产免费久久久久久青草
|
国产激情电影综合在线看
|
四虎1515hh永久久免费
|