三均線策略(TBQ版)_第1頁
三均線策略(TBQ版)_第2頁
三均線策略(TBQ版)_第3頁
三均線策略(TBQ版)_第4頁
三均線策略(TBQ版)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

三均線策略(TBQ版)交易邏輯思路該策略通過分析市場中的價格走勢,利用均線(MA)交叉信號來判斷市場趨勢,并據(jù)此生成交易信號。主要交易信號包括做多(BK)、做空(SK)、平多(SP)和平空(BP)四種類型。策略的執(zhí)行包括信號發(fā)出、信號處理、成交判斷以及委托處理四個主要環(huán)節(jié)。信號發(fā)出:使用3周期、5周期和10周期的移動平均線(MA3、MA5、MA10)來判斷市場趨勢。當MA5上穿MA10且當前無持倉時,發(fā)出做多信號(BK)。當MA3下穿MA10且當前持有多頭倉位時,發(fā)出平多信號(SP)。當MA5下穿MA10且當前無持倉時,發(fā)出做空信號(SK)。當MA3上穿MA10且當前持有空頭倉位時,發(fā)出平空信號(BP)。信號處理:通過跟蹤信號的出現(xiàn)和消失來管理交易邏輯。記錄信號類型(SIGF)、信號出現(xiàn)次數(shù)(SIGCN)、信號消失次數(shù)(SIGXN)以及信號消失時間(SIGXT)。-在信號發(fā)出時,根據(jù)信號類型設(shè)置相應(yīng)的處理標志(BKDFLG、SPDFLG、SKDFLG、BPDFLG),并嘗試發(fā)送交易委托。-當信號消失且時間間隔超過預(yù)設(shè)閾值(T)時,考慮取消該信號并采取相應(yīng)的平倉或反向開倉操作。成交判斷:實時監(jiān)控交易委托的成交狀態(tài)。一旦交易委托成交,更新相應(yīng)的委托標志(BKFLG、SPFLG、SKFLG、BPFLG)并記錄成交信息。委托處理:根據(jù)信號處理環(huán)節(jié)中設(shè)置的標志,決定是否發(fā)送新的交易委托。-考慮當前持倉量、可用持倉量以及下單手數(shù)(N)來計算委托手數(shù)。使用當前買一價(BIDP)和賣一價(ASKP)作為交易價格,發(fā)送相應(yīng)的買開(BKID)、賣開(SKID)、買平(BPID)或賣平(SPID)委托。策略特點靈活性與適應(yīng)性:通過調(diào)整均線周期(如3、5、10周期)和時間間隔(T)等參數(shù),策略能夠靈活應(yīng)對不同市場的波動特性。-支持對不同交易所和合約類型的平倉策略配置(如SH參數(shù))。自動化程度高:策略實現(xiàn)了從信號發(fā)出到委托處理的全自動化流程,減少了人工干預(yù)的需要。實時跟蹤和處理交易信號及委托狀態(tài),提高了交易執(zhí)行的效率和準確性。風險控制與管理:通過記錄信號出現(xiàn)次數(shù)、消失次數(shù)和消失時間等信息,有助于識別和分析潛在的市場風險。在信號消失且時間間隔超過預(yù)設(shè)閾值時,采取相應(yīng)的風險管理措施(如取消信號、平倉或反向開倉),以降低潛在損失。詳細記錄與注釋:策略中包含了豐富的注釋和記錄功能,有助于用戶理解和跟蹤策略的執(zhí)行過程。通過輸出評論(Commentary)的方式,向用戶提供了詳細的交易信息和信號狀態(tài)更新。本交易策略是一個基于技術(shù)分析、高度自動化且注重風險控制的交易系統(tǒng)。通過精細的信號處理和委托管理機制,該策略能夠在復雜的市場環(huán)境中實現(xiàn)穩(wěn)定的交易績效。策略代碼:VarsNumericN;//下單手數(shù)NumericT;//時間間隔NumericSH;//平倉參數(shù)NumericMA3;//3周期均線NumericMA5;//5周期均線NumericMA10;//10周期均線NumericKCP;//K線位置NumericSIGID;//指令序號NumericNOW;//當前時間NumericBIDP;//買一價NumericASKP;//賣一價NumericBRP;//多頭可用持倉NumericSRP;//空頭可用持倉NumericOPFLG;//模型處理標志NumericBKDFLG;//買開處理標志NumericSKDFLG;//賣開處理標志NumericBPDFLG;//買平處理標志NumericSPDFLG;//賣平處理標志Global_NumericSIGIDA;//記錄指令序號Global_NumericKCPA;//記錄K線位置Global_NumericKCPB;//記錄K線位置Global_NumericSIGF;//信號類型標志Global_NumericSIGCF;//當前信號類型Global_NumericSIGCN;//信號出現(xiàn)次數(shù)Global_NumericSIGXN;//信號消失次數(shù)Global_NumericSIGXT;//信號消失時間Global_NumericSIGFLG;//信號處理標志Global_NumericBKID;//買開委托Global_NumericSKID;//賣開委托Global_NumericBPID;//買平委托Global_NumericSPID;//賣平委托Global_NumericBKFLG;//買開標志Global_NumericSKFLG;//賣開標志Global_NumericBPFLG;//買平標志Global_NumericSPFLG;//賣平標志Global_NumericBKM;//買開委托手數(shù)Global_NumericSKM;//賣開委托手數(shù)Global_NumericBPM;//買平委托手數(shù)Global_NumericSPM;//賣平委托手數(shù)SettingSignalNoTrading:1;//出信號不下單Begin//------------------------處理開啟------------------------//If(A_IsExchangeOpen()==1)//如果是開盤狀態(tài){If(RunStart()==1)//如果已初始化成功{OPFLG=1;//開啟模型處理}}//------------------------變量賦值------------------------//If(OPFLG==1)//變量賦值{N=2;//下單手數(shù)T=10;//時間間隔KCP=CurrentBar;//K線位置NOW=CurrentTime();//當前時間BIDP=Price("Bid1");//買一價ASKP=Price("Ask1");//賣一價BRP=F_BuyRemainPosition();//多頭可用持倉SRP=F_SellRemainPosition();//空頭可用持倉If(A_IsSHCode()==1)//如果是上期所合約{SH=Enum_ExitToday;//平倉參數(shù)}Else//如果非上期所合約{SH=Enum_Exit;//平倉參數(shù)}}//------------------------信號發(fā)出------------------------//If(1)//信號發(fā)出{MA3=Ma(Close,3);//3周期均線MA5=Ma(Close,5);//5周期均線MA10=Ma(Close,10);//10周期均線PlotLine("Ma3",Ma3);//3周期均線PlotLine("Ma5",Ma5);//5周期均線PlotLine("Ma10",Ma10);//10周期均線If(Cross(Ma5,Ma10)==1&&MarketPosition==0)//如果滿足做多條件{BK;//發(fā)出做多信號}ElseIf(CrossDown(Ma3,Ma10)==1&&MarketPosition==1)//如果滿足平多條件{SP;//發(fā)出平多信號}ElseIf(CrossDown(Ma5,Ma10)==1&&MarketPosition==0)//如果滿足做空條件{SK;//發(fā)出做空信號}ElseIf(Cross(Ma3,Ma10)==1&&MarketPosition==-1)//如果滿足平空條件{BP;//發(fā)出平空信號}}//------------------------信號處理------------------------//If(OPFLG==1)//信號處理{If(KCP!=KCPB)//如果是新K線{If(SIGCN>0)//如果上根K線出現(xiàn)信號{Commentary("【上根K線信號出現(xiàn)次數(shù):"+Text(SIGCN)+"次!】");Commentary("【上根K線信號消失次數(shù):"+Text(SIGXN)+"次!】");If(SIGFLG==2)//如果信號已消失{Commentary("【距離信號消失時間:"+Text(TimeDiff(SIGXT,NOW))+"秒!】");}}SIGCN=0;//信號出現(xiàn)次數(shù)SIGXN=0;//信號消失次數(shù)KCPB=KCP;//記錄K線位置}SIGID=F_CurrentSigIndex;//指令序號If(SIGID!=0)//如果當筆行情發(fā)出指令{If(SIGID!=SIGIDA||KCP!=KCPA)//如果當前信號是未處理過的新信號{SIGIDA=SIGID;//記錄指令序號KCPA=KCP;//記錄K線位置If(F_CurrentSig==Sig_BK)//如果信號類型為BK{Commentary("【BK信號!】");BKDFLG=1;//開啟BK信號買開處理SIGF=1;//BK信號已發(fā)出}ElseIf(F_CurrentSig==Sig_SP)//如果信號類型為SP{Commentary("【SP信號!】");SPDFLG=1;//開啟SP信號賣平處理SIGF=2;//SP信號已發(fā)出}ElseIf(F_CurrentSig==Sig_SK)//如果信號類型為SK{Commentary("【SK信號!】");SKDFLG=1;//開啟SK信號賣開處理SIGF=3;//SK信號已發(fā)出}ElseIf(F_CurrentSig==Sig_BP)//如果信號類型為BP{Commentary("【BP信號!】");BPDFLG=1;//開啟BP信號買平處理SIGF=4;//BP信號已發(fā)出}SIGCN=SIGCN+1;//信號出現(xiàn)次數(shù)}}If(KCP==KCPA)//如果是當根K線{If(SIGCF!=SIGF)//如果是新的信號類型{SIGFLG=1;//信號已發(fā)出SIGCF=SIGF;//當前信號類型}If(SIGFLG==1)//如果信號已出現(xiàn){If(F_CurrentSig==0)//如果信號消失{If(SIGCF==1)//如果當前是BK信號{Commentary("【BK信號消失!】");}ElseIf(SIGCF==2)//如果當前是SP信號{Commentary("【SP信號消失!】");}ElseIf(SIGCF==3)//如果當前是SK信號{Commentary("【SK信號消失!】");}ElseIf(SIGCF==4)//如果當前是BP信號{Commentary("【BP信號消失!】");}SIGIDA=0;//記錄指令序號歸0SIGXT=NOW;//信號消失時間SIGXN=SIGXN+1;//信號消失次數(shù)SIGFLG=2;//信號已消失}}}If(SIGFLG==2)//如果信號已消失{If(TimeDiff(SIGXT,NOW)<=T)//如果時間間隔T秒內(nèi){If(F_CurrentSig>0)//如果信號出現(xiàn){If(SIGCF==1)//如果當前是BK信號{Commentary("【BK信號重現(xiàn)!】");}ElseIf(SIGCF==2)//如果當前是SP信號{Commentary("【SP信號重現(xiàn)!】");}ElseIf(SIGCF==3)//如果當前是SK信號{Commentary("【SK信號重現(xiàn)!】");}ElseIf(SIGCF==4)//如果當前是BP信號{Commentary("【BP信號重現(xiàn)!】");}Commentary("【距離信號消失時間:"+Text(TimeDiff(SIGXT,NOW))+"秒!】");SIGFLG=1;//信號已發(fā)出}}ElseIf(TimeDiff(SIGXT,NOW)>T)//如果時間間隔T秒{If(SIGCF==1)//如果當前是BK信號{Commentary("【BK信號取消!】");SPDFLG=2;//開啟BK信號賣平處理}ElseIf(SIGCF==2)//如果當前是SP信號{Commentary("【SP信號取消!】");BKDFLG=2;//開啟SP信號買開處理}ElseIf(SIGCF==3)//如果當前是SK信號{Commentary("【SK信號取消!】");BPDFLG=2;//開啟SK信號買平處理}ElseIf(SIGCF==4)//如果當前是BP信號{Commentary("【BP信號取消!】");SKDFLG=2;//開啟BP信號賣開處理}Commentary("【距離信號消失時間:"+Text(TimeDiff(SIGXT,NOW))+"秒!】");SIGFLG=0;//信號已取消}}}//------------------------成交判斷------------------------//If(OPFLG==1)//成交判斷{If(BKFLG>0)//如果有買開委托{If(F_OrderStatus(BKID)==Enum_Filled)//如果買開委托成交{If(BKFLG==1)//如果是BK信號買開委托{Commentary("【BK信號:買開委托成交!】");}ElseIf(BKFLG==2)//如果是SP信號買開委托{Commentary("【SP信號:買開委托成交!】");}BKFLG=0;//買開標志歸0}}If(SPFLG>0)//如果有賣平委托{If(F_OrderStatus(SPID)==Enum_Filled)//如果賣平委托成交{If(SPFLG==1)//如果是SP信號賣平委托{Commentary("【SP信號:賣平委托成交!】");}ElseIf(SPFLG==2)//如果是BK信號賣平委托{Commentary("【BK信號:賣平委托成交!】");}SPFLG=0;//賣平標志歸0}}If(SKFLG>0)//如果有賣開委托{If(F_OrderStatus(SKID)==Enum_Filled)//如果賣開委托成交{If(SKFLG==1)//如果是SK信號賣開委托{Commentary("【SK信號:賣開委托成交!】");}ElseIf(SKFLG==2)//如果是BP信號賣開委托{Commentary("【BP信號:賣開委托成交!】");}SKFLG=0;//賣開標志歸0}}If(BPFLG>0)//如果有買平委托{If(F_OrderStatus(BPID)==Enum_Filled)//如果買平委托成交{If(BPFLG==1)//如果是BP信號買平委托{Commentary("【BP信號:買平委托成交!】");}ElseIf(BPFLG==2)//如果是SK信號買平委托{Commentary("【SK信號:買平委托成交!】");}BPFLG=0;//買平標志歸0}}}//------------------------委托處理------------------------//If(OPFLG==1)//委托處理{If(BKDFLG>0)//如果已開啟買開處理{If(BKFLG==0)//如果沒有買開委托{BKM=N-BRP;//買開委托手數(shù)If(BKM>0)//如果買開委托手數(shù)大于0{If(BKDFLG==1)//如果是BK信號買開{Commentary("【BK信號:買開委托發(fā)出!】");}ElseIf(BKDFLG==2)//如果是SP信號買開{Commentary("【SP信號:買開委托發(fā)出!】");}BKID=A_SendOrder(Enum_Buy,Enum_Entry,BKM,ASKP);//發(fā)出買開委托BKFLG=BKDFLG;//已發(fā)出買開委托}}}If(SPDFLG>0)//如果已開啟賣平處理{If(SPFLG==0)//如果沒有賣平委托{If(BRP>0)//如果有多頭可用持倉{SPM=BRP;//賣平委托手數(shù)If(SPDFLG==1)//如果是SP信號賣平{Commentary("【SP信號:賣平委托發(fā)出!】");}ElseIf(SPDFLG==2)//如果是BK信號賣平{Commentary("【BK信號:賣平委托發(fā)出!】");}SPID=A_SendOrder(Enum_Sell,SH,SPM,BIDP);//發(fā)出賣平委托SPFLG=SPDFLG;//已發(fā)出賣平委托}}}If(SKDFLG>0)//如果已開啟賣開處理{If(SKFLG==0)//如果沒有賣開委托{SKM=N-SRP;//賣開委托手數(shù)If(SKM>0)//如果賣開委托手數(shù)大于0{If(SKDFLG==1)//如果是SK信號賣開{Commentary("【SK信號:賣開委托發(fā)出!】");}ElseIf(SKDFLG==2)//如果是BP信號賣開{Commentary("【BP信號:賣開委托發(fā)出!】");}SKID=A_SendOrder(Enum_Sell,Enum_Entry,SKM,BIDP);//發(fā)出賣開委托SKFLG=SKDFLG;//已發(fā)出賣開委托}}}If(BPDFLG>0)//如果已開啟買平處理{If(BPFLG==0)//如果沒有買平委托{If(SRP>0)//如果有空頭可用持倉{BPM=SRP;//買平委托手數(shù)If(BPDFLG==1)//如果是BP信號買平{Commentary("【BP信號:買平委托發(fā)出!】");}ElseIf(BPDFLG==2)//如果是SK信號買平{Commentary("【SK信號:買平委托發(fā)出!】");}BPID=A_SendOrder(Enum_Buy,SH,BPM,ASKP);//發(fā)出買平委托BPFLG=BPDFLG;//已發(fā)出買平委托}}}}End源碼[2/2]:參考解讀//基本信號:>>>省略代碼<<<If(Cross(Ma5,M

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論