平滑價(jià)格波動(dòng)策略(TBQ版)_第1頁
平滑價(jià)格波動(dòng)策略(TBQ版)_第2頁
平滑價(jià)格波動(dòng)策略(TBQ版)_第3頁
平滑價(jià)格波動(dòng)策略(TBQ版)_第4頁
平滑價(jià)格波動(dòng)策略(TBQ版)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

平滑價(jià)格波動(dòng)策略(TBQ版)本策略旨在通過技術(shù)分析指標(biāo)和資金管理策略來實(shí)現(xiàn)穩(wěn)健的交易決策。核心思想是通過計(jì)算特定時(shí)間段內(nèi)的價(jià)格平均值,并結(jié)合止損和止盈機(jī)制,來優(yōu)化交易風(fēng)險(xiǎn)和收益。策略的核心在于利用Heikin-Ashi(平均K線圖)指標(biāo)來過濾市場噪音,識別并跟隨主要趨勢。Heikin-Ashi指標(biāo)通過平滑價(jià)格波動(dòng),使得交易者能夠更清晰地看到價(jià)格的趨勢方向,從而減少因短期波動(dòng)引起的誤判。技術(shù)分析指標(biāo)1.Heikin-Ashi指標(biāo):該指標(biāo)通過計(jì)算開盤價(jià)、最高價(jià)、最低價(jià)和收盤價(jià)的加權(quán)平均值,生成新的K線圖。這種平滑處理有助于識別趨勢,并減少市場噪音的影響。2.移動(dòng)平均線:策略中使用了簡單移動(dòng)平均線(SMA)來計(jì)算一段時(shí)間內(nèi)的價(jià)格平均值,以此作為買賣信號的參考。策略交易邏輯1.開倉邏輯:-當(dāng)價(jià)格突破Heikin-Ashi指標(biāo)的上軌(HH1)或下軌(LL1)時(shí),分別觸發(fā)多頭或空頭開倉信號。-開倉時(shí),根據(jù)當(dāng)前資金總額和每筆交易承擔(dān)的風(fēng)險(xiǎn)比例,計(jì)算出合理的頭寸規(guī)模。2.止損邏輯:-設(shè)置止損百分比,當(dāng)市場價(jià)格觸及止損點(diǎn)時(shí),自動(dòng)平倉以控制風(fēng)險(xiǎn)。-止損點(diǎn)的計(jì)算基于開倉價(jià)格和設(shè)定的止損百分比。3.止盈邏輯:-設(shè)置止盈百分比,當(dāng)市場價(jià)格達(dá)到預(yù)期的盈利目標(biāo)時(shí),自動(dòng)平倉以實(shí)現(xiàn)利潤。-止盈點(diǎn)的計(jì)算同樣基于開倉價(jià)格和設(shè)定的止盈百分比。資金管理1.初始資金:策略開始時(shí),設(shè)定初始資金總額。2.風(fēng)險(xiǎn)控制:每筆交易承擔(dān)的風(fēng)險(xiǎn)比例固定為總資金的2%,通過計(jì)算頭寸規(guī)模來控制每筆交易的風(fēng)險(xiǎn)。3.動(dòng)態(tài)調(diào)整:根據(jù)當(dāng)前資金總額和市場波動(dòng)情況,動(dòng)態(tài)調(diào)整頭寸規(guī)模,確保交易的安全性和盈利性。事件函數(shù)1.OnInit():初始化事件函數(shù),在策略運(yùn)行初期執(zhí)行一次,主要用于設(shè)置數(shù)據(jù)源和交易相關(guān)的參數(shù)。2.OnBar():Bar更新事件函數(shù),每當(dāng)有新的Bar數(shù)據(jù)時(shí)觸發(fā),用于計(jì)算技術(shù)指標(biāo)、生成買賣信號并執(zhí)行交易。代碼結(jié)構(gòu)1.Params:定義策略所需的參數(shù),如N(時(shí)間窗口)、stopLossPercent(止損百分比)、takeProfitPercent(止盈百分比)和riskPerTrade(每筆交易承擔(dān)的風(fēng)險(xiǎn)比例)。2.Vars:定義策略所需的變量,如是否多頭開倉(tolong)、是否空頭開倉(toshort)、開倉價(jià)格(entryPrice)、資金總額(capital)和頭寸規(guī)模(positionSize)。3.Defs:定義公式函數(shù),如SUM用于計(jì)算周期內(nèi)價(jià)格的和。4.Events:實(shí)現(xiàn)事件函數(shù),包括初始化事件函數(shù)(OnInit)和Bar更新事件函數(shù)(OnBar)。策略特點(diǎn)1.趨勢跟隨:通過Heikin-Ashi指標(biāo)和移動(dòng)平均線,策略能夠有效識別并跟隨市場的主要趨勢,減少因短期波動(dòng)引起的誤判。2.風(fēng)險(xiǎn)控制:通過設(shè)置止損和止盈百分比,策略能夠在保證收益的同時(shí),有效控制交易風(fēng)險(xiǎn)。3.資金管理:通過設(shè)定每筆交易承擔(dān)的風(fēng)險(xiǎn)比例,策略能夠動(dòng)態(tài)調(diào)整頭寸規(guī)模,確保交易的安全性和盈利性。4.自動(dòng)化交易:策略通過事件函數(shù)自動(dòng)執(zhí)行買賣操作,減少了人為干預(yù)的可能性,提高了交易的效率和準(zhǔn)確性。本策略通過結(jié)合技術(shù)分析指標(biāo)和資金管理策略,實(shí)現(xiàn)了穩(wěn)健的交易決策。通過Heikin-Ashi指標(biāo)過濾市場噪音,識別并跟隨主要趨勢;通過止損和止盈機(jī)制控制交易風(fēng)險(xiǎn);通過資金管理策略優(yōu)化交易頭寸。整體而言,該策略具有較高的實(shí)用性和有效性,適用于多種市場環(huán)境。指標(biāo)代碼:Params//此處添加參數(shù)NumericN(100);Vars//此處添加變量Series<Numeric>Vars1;Defs//此處添加公式函數(shù)//周期內(nèi)求和NumericSUM(NumericPRICE,NumericLENGTH){ReturnSummationFC(PRICE,LENGTH);}Events//此處實(shí)現(xiàn)事件函數(shù)//初始化事件函數(shù),策略運(yùn)行期間,首先運(yùn)行且只有一次,應(yīng)用在訂閱數(shù)據(jù)等操作OnInit(){//多圖層訂閱行情//freqString訂閱頻率'mon':月,'w':周,'d':日,'h':時(shí),'m':分,'s':秒,'tick':tick,字符串前面可以添加數(shù)字,如'3d'表示周期是3天;//flagIntegerEnum_Data_OnlyNight()表示僅夜盤,Enum_Data_OnlyDay()表示僅日盤,Enum_Data_RolloverBackWard()表示后復(fù)權(quán),可做或運(yùn)算,表示多種情況//SubscribeBar(Data0.Symbol,"1h",Data0.BeginDateTime);//按樣本數(shù)訂閱//SubscribeBarCounts(Data0.Symbol,"1h",1000);//與數(shù)據(jù)源有關(guān)Range[0:DataCount-1]{//=========數(shù)據(jù)源相關(guān)設(shè)置==============AddDataFlag(Enum_Data_RolloverBackWard());//設(shè)置后復(fù)權(quán)AddDataFlag(Enum_Data_RolloverRealPrice());//設(shè)置映射真實(shí)價(jià)格AddDataFlag(Enum_Data_AutoSwapPosition());//設(shè)置自動(dòng)換倉AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設(shè)置忽略換倉信號計(jì)算SetSwapPosVolType(2);//換月時(shí)頭寸:1=等市值,2=等持倉量//AddDataFlag(Enum_Data_NotGenReport());//設(shè)置數(shù)據(jù)源不參與生成報(bào)告標(biāo)志//=========交易相關(guān)設(shè)置==============//SetOrderPriceOffset(2);//設(shè)置委托價(jià)為叫買/賣價(jià)偏移2跳//SetOrderMap2MainSymbol();//設(shè)置委托映射到主力}//與數(shù)據(jù)源無關(guān)//SetBeginBarMaxCount(10);//設(shè)置最大起始bar數(shù)為10//SetBackBarMaxCount(10);//設(shè)置最大回溯bar數(shù)為10//=========交易相關(guān)設(shè)置==============//SetInitCapital(Fund*10000);//設(shè)置初始資金為50萬}//Bar更新事件函數(shù),參數(shù)indexs表示變化的數(shù)據(jù)源圖層ID數(shù)組OnBar(ArrayRef<Integer>indexs){NumericSMMA1=SUM(CLOSE,N)/N;NumericMACLOSE=(SUM(CLOSE,N)-SMMA1+CLOSE)/N;NumericSMMA2=SUM(OPEN,N)/N;NumericMAOPEN=(SUM(OPEN,N)-SMMA2+OPEN)/N;NumericSMMA3=SUM(HIGH,N)/N;NumericMAHIGH=(SUM(HIGH,N)-SMMA3+HIGH)/N;NumericSMMA4=SUM(LOW,N)/N;NumericMALOW=(SUM(LOW,N)-SMMA4+LOW)/N;NumericHACLOSE=(MAOPEN+MAHIGH+MALOW+MACLOSE)/4;NumericHAOPEN=(REF(OPEN,1)+REF(HACLOSE,1))/2;NumericHAHIGH=MAX(MAHIGH,MAX(HAOPEN,HACLOSE));NumericHALOW=MIN(MALOW,MIN(HAOPEN,HACLOSE));NumericHH=HAHIGH;NumericLL=HALOW;//NumericHH1=BARSLAST((HH>=REF(HH,1)));//NumericLL1=BARSLAST((LL<REF(LL,1)));NumericHH1=IIF((HH>=REF(HH,1)),HH,REF(HH,1));NumericLL1=IIF((LL<REF(LL,1)),LL,REF(LL,1));//PlotNumeric("HH1",HH1);//PlotNumeric("LL1",LL1);Commentary(IIFString((HH>=REF(HH,1)),"HHT","HHFF"));Commentary(IIFString((LL<REF(LL,1)),"LLT","LLFF"));//設(shè)定畫線類型,如:Enum_Dot,Enum_Line,Enum_Bar,Enum_Cross,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線風(fēng)格,如:Enum_Solid,Enum_Dash,Enum_Broken,Enum_Dash_Dot,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線線寬,如:Enum_1Pix,Enum_2Pix,Enum_3Pix,Enum_4Pix,Enum_5Pix,Enum_6Pix,Enum_7Pix,默認(rèn)為屬性框中設(shè)定If(C>=HH1&&C>=LL1){PlotAuto("HHLL",HH1,0,Red,Enum_Line,Enum_Dash,Enum_2Pix);}ElseIf(C<=HH1&&C<=LL1){PlotAuto("HHLL",LL1,0,Green,Enum_Line,Enum_Dash,Enum_2Pix);}Else{PlotAuto("HHLL",(HH1+LL1)/2,0,White,Enum_Line,Enum_Dash,Enum_2Pix);}//If(HH>=REF(HH,1)AndLL<REF(LL,1))//{//PlotNumeric("HH1",HH1);//}//Else//{//PlotNumeric("LL1",LL1);//}}主策略代碼:Params//此處添加參數(shù)NumericN(100);Vars//此處添加變量Series<Numeric>Vars1;Booltolong(False);Booltoshort(False);Defs//此處添加公式函數(shù)//周期內(nèi)求和NumericSUM(NumericPRICE,NumericLENGTH){ReturnSummationFC(PRICE,LENGTH);}Events//此處實(shí)現(xiàn)事件函數(shù)//初始化事件函數(shù),策略運(yùn)行期間,首先運(yùn)行且只有一次,應(yīng)用在訂閱數(shù)據(jù)等操作OnInit(){//多圖層訂閱行情//freqString訂閱頻率'mon':月,'w':周,'d':日,'h':時(shí),'m':分,'s':秒,'tick':tick,字符串前面可以添加數(shù)字,如'3d'表示周期是3天;//flagIntegerEnum_Data_OnlyNight()表示僅夜盤,Enum_Data_OnlyDay()表示僅日盤,Enum_Data_RolloverBackWard()表示后復(fù)權(quán),可做或運(yùn)算,表示多種情況//SubscribeBar(Data0.Symbol,"1h",Data0.BeginDateTime);//按樣本數(shù)訂閱//SubscribeBarCounts(Data0.Symbol,"1h",1000);//與數(shù)據(jù)源有關(guān)Range[0:DataCount-1]{//=========數(shù)據(jù)源相關(guān)設(shè)置==============AddDataFlag(Enum_Data_RolloverBackWard());//設(shè)置后復(fù)權(quán)AddDataFlag(Enum_Data_RolloverRealPrice());//設(shè)置映射真實(shí)價(jià)格AddDataFlag(Enum_Data_AutoSwapPosition());//設(shè)置自動(dòng)換倉AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設(shè)置忽略換倉信號計(jì)算SetSwapPosVolType(2);//換月時(shí)頭寸:1=等市值,2=等持倉量//AddDataFlag(Enum_Data_NotGenReport());//設(shè)置數(shù)據(jù)源不參與生成報(bào)告標(biāo)志//=========交易相關(guān)設(shè)置==============//SetOrderPriceOffset(2);//設(shè)置委托價(jià)為叫買/賣價(jià)偏移2跳//SetOrderMap2MainSymbol();//設(shè)置委托映射到主力}//與數(shù)據(jù)源無關(guān)//SetBeginBarMaxCount(10);//設(shè)置最大起始bar數(shù)為10//SetBackBarMaxCount(10);//設(shè)置最大回溯bar數(shù)為10//=========交易相關(guān)設(shè)置==============//SetInitCapital(Fund*10000);//設(shè)置初始資金為50萬}//Bar更新事件函數(shù),參數(shù)indexs表示變化的數(shù)據(jù)源圖層ID數(shù)組OnBar(ArrayRef<Integer>indexs){NumericSMMA1=SUM(CLOSE,N)/N;NumericMACLOSE=(SUM(CLOSE,N)-SMMA1+CLOSE)/N;NumericSMMA2=SUM(OPEN,N)/N;NumericMAOPEN=(SUM(OPEN,N)-SMMA2+OPEN)/N;NumericSMMA3=SUM(HIGH,N)/N;NumericMAHIGH=(SUM(HIGH,N)-SMMA3+HIGH)/N;NumericSMMA4=SUM(LOW,N)/N;NumericMALOW=(SUM(LOW,N)-SMMA4+LOW)/N;NumericHACLOSE=(MAOPEN+MAHIGH+MALOW+MACLOSE)/4;NumericHAOPEN=(REF(OPEN,1)+REF(HACLOSE,1))/2;NumericHAHIGH=MAX(MAHIGH,MAX(HAOPEN,HACLOSE));NumericHALOW=MIN(MALOW,MIN(HAOPEN,HACLOSE));NumericHH=HAHIGH;NumericLL=HALOW;//NumericHH1=BARSLAST((HH>=REF(HH,1)));//NumericLL1=BARSLAST((LL<REF(LL,1)));NumericHH1=IIF((HH>=REF(HH,1)),HH,REF(HH,1));NumericLL1=IIF((LL<REF(LL,1)),LL,REF(LL,1));//PlotNumeric("HH1",HH1);//PlotNumeric("LL1",LL1);Commentary(IIFString((HH>=REF(HH,1)),"HHT","HHFF"));Commentary(IIFString((LL<REF(LL,1)),"LLT","LLFF"));//設(shè)定畫線類型,如:Enum_Dot,Enum_Line,Enum_Bar,Enum_Cross,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線風(fēng)格,如:Enum_Solid,Enum_Dash,Enum_Broken,Enum_Dash_Dot,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線線寬,如:Enum_1Pix,Enum_2Pix,Enum_3Pix,Enum_4Pix,Enum_5Pix,Enum_6Pix,Enum_7Pix,默認(rèn)為屬性框中設(shè)定If(C>=HH1&&C>=LL1){PlotAuto("HHLL",HH1,0,Red,Enum_Line,Enum_Dash,Enum_2Pix);tolong=True;}ElseIf(C<=HH1&&C<=LL1){PlotAuto("HHLL",LL1,0,Green,Enum_Line,Enum_Dash,Enum_2Pix);toshort=True;}Else{PlotAuto("HHLL",(HH1+LL1)/2,0,White,Enum_Line,Enum_Dash,Enum_2Pix);}If(MarketPosition!=1&&tolong){Buy();}If(MarketPosition!=-1&&toshort){SellShort();}//If(HH>=REF(HH,1)AndLL<REF(LL,1))//{//PlotNumeric("HH1",HH1);//}//Else//{//PlotNumeric("LL1",LL1);//}}以下是上述主策略代碼添加了止損和止盈邏輯的代碼:Params//此處添加參數(shù)NumericN(100);NumericstopLossPercent(2);//止損百分比NumerictakeProfitPercent(5);//止盈百分比Vars//此處添加變量Series<Numeric>Vars1;Booltolong(False);Booltoshort(False);NumericentryPrice;//記錄開倉價(jià)格Defs//此處添加公式函數(shù)//周期內(nèi)求和NumericSUM(NumericPRICE,NumericLENGTH){ReturnSummationFC(PRICE,LENGTH);}Events//此處實(shí)現(xiàn)事件函數(shù)//初始化事件函數(shù),策略運(yùn)行期間,首先運(yùn)行且只有一次,應(yīng)用在訂閱數(shù)據(jù)等操作OnInit(){//多圖層訂閱行情//freqString訂閱頻率'mon':月,'w':周,'d':日,'h':時(shí),'m':分,'s':秒,'tick':tick,字符串前面可以添加數(shù)字,如'3d'表示周期是3天;//flagIntegerEnum_Data_OnlyNight()表示僅夜盤,Enum_Data_OnlyDay()表示僅日盤,Enum_Data_RolloverBackWard()表示后復(fù)權(quán),可做或運(yùn)算,表示多種情況//SubscribeBar(Data0.Symbol,"1h",Data0.BeginDateTime);//按樣本數(shù)訂閱//SubscribeBarCounts(Data0.Symbol,"1h",1000);//與數(shù)據(jù)源有關(guān)Range[0:DataCount-1]{//=========數(shù)據(jù)源相關(guān)設(shè)置==============AddDataFlag(Enum_Data_RolloverBackWard());//設(shè)置后復(fù)權(quán)AddDataFlag(Enum_Data_RolloverRealPrice());//設(shè)置映射真實(shí)價(jià)格AddDataFlag(Enum_Data_AutoSwapPosition());//設(shè)置自動(dòng)換倉AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設(shè)置忽略換倉信號計(jì)算SetSwapPosVolType(2);//換月時(shí)頭寸:1=等市值,2=等持倉量//AddDataFlag(Enum_Data_NotGenReport());//設(shè)置數(shù)據(jù)源不參與生成報(bào)告標(biāo)志//=========交易相關(guān)設(shè)置==============//SetOrderPriceOffset(2);//設(shè)置委托價(jià)為叫買/賣價(jià)偏移2跳//SetOrderMap2MainSymbol();//設(shè)置委托映射到主力}//與數(shù)據(jù)源無關(guān)//SetBeginBarMaxCount(10);//設(shè)置最大起始bar數(shù)為10//SetBackBarMaxCount(10);//設(shè)置最大回溯bar數(shù)為10//=========交易相關(guān)設(shè)置==============//SetInitCapital(Fund*10000);//設(shè)置初始資金為50萬}//Bar更新事件函數(shù),參數(shù)indexs表示變化的數(shù)據(jù)源圖層ID數(shù)組OnBar(ArrayRef<Integer>indexs){NumericSMMA1=SUM(CLOSE,N)/N;NumericMACLOSE=(SUM(CLOSE,N)-SMMA1+CLOSE)/N;NumericSMMA2=SUM(OPEN,N)/N;NumericMAOPEN=(SUM(OPEN,N)-SMMA2+OPEN)/N;NumericSMMA3=SUM(HIGH,N)/N;NumericMAHIGH=(SUM(HIGH,N)-SMMA3+HIGH)/N;NumericSMMA4=SUM(LOW,N)/N;NumericMALOW=(SUM(LOW,N)-SMMA4+LOW)/N;NumericHACLOSE=(MAOPEN+MAHIGH+MALOW+MACLOSE)/4;NumericHAOPEN=(REF(OPEN,1)+REF(HACLOSE,1))/2;NumericHAHIGH=MAX(MAHIGH,MAX(HAOPEN,HACLOSE));NumericHALOW=MIN(MALOW,MIN(HAOPEN,HACLOSE));NumericHH=HAHIGH;NumericLL=HALOW;//NumericHH1=BARSLAST((HH>=REF(HH,1)));//NumericLL1=BARSLAST((LL<REF(LL,1)));NumericHH1=IIF((HH>=REF(HH,1)),HH,REF(HH,1));NumericLL1=IIF((LL<REF(LL,1)),LL,REF(LL,1));//PlotNumeric("HH1",HH1);//PlotNumeric("LL1",LL1);Commentary(IIFString((HH>=REF(HH,1)),"HHT","HHFF"));Commentary(IIFString((LL<REF(LL,1)),"LLT","LLFF"));//設(shè)定畫線類型,如:Enum_Dot,Enum_Line,Enum_Bar,Enum_Cross,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線風(fēng)格,如:Enum_Solid,Enum_Dash,Enum_Broken,Enum_Dash_Dot,默認(rèn)為屬性框中設(shè)定//設(shè)定畫線線寬,如:Enum_1Pix,Enum_2Pix,Enum_3Pix,Enum_4Pix,Enum_5Pix,Enum_6Pix,Enum_7Pix,默認(rèn)為屬性框中設(shè)定If(C>=HH1&&C>=LL1){PlotAuto("HHLL",HH1,0,Red,Enum_Line,Enum_Dash,Enum_2Pix);tolong=True;}ElseIf(C<=HH1&&C<=LL1){PlotAuto("HHLL",LL1,0,Green,Enum_Line,Enum_Dash,Enum_2Pix);toshort=True;}Else{PlotAuto("HHLL",(HH1+LL1)/2,0,White,Enum_Line,Enum_Dash,Enum_2Pix);}//開倉邏輯If(MarketPosition==0&&tolong){Buy();entryPrice=C;}If(MarketPosition==0&&toshort){SellShort();entryPrice=C;}//止損邏輯If(MarketPosition==1&&C<=entryPrice*(1-stopLossPercent/100)){Sell();}If(MarketPosition==-1&&C>=entryPrice*(1+stopLossPercent/100)){BuyToCover();}//止盈邏輯If(MarketPosition==1&&C>=entryPrice*(1+takeProfitPercent/100)){Sell();}If(MarketPosition==-1&&C<=entryPrice*(1-takeProfitPercent/100)){BuyToCover();}}以下是在止損和止盈邏輯中添加資金管理功能后的代碼://*平均K線圖(HeikemAshi)指標(biāo)代表了一類與我們習(xí)慣的在K線圖上所見的價(jià)格柱不同的特定類型的價(jià)格柱。HeikemAsmi,指標(biāo)并不反映市場的開盤價(jià)、最高價(jià)、最低價(jià)和收盤價(jià),而是計(jì)算主導(dǎo)趨勢中的單根K線的價(jià)值,再通過顏色的變化來表明趨勢的變化。該指標(biāo)的主要目的是過濾掉市場噪音,可以更加清晰地看懂當(dāng)前價(jià)格的趨勢,能夠讓交易者避免某些錯(cuò)誤的交易信號。"http://Params//此處添加參數(shù)NumericN(100);NumericstopLossPercent(2);//止損百分比NumerictakeProfitPercent(5);//止盈百分比NumericriskPerTrade(0.02);//每筆交易承擔(dān)的風(fēng)險(xiǎn)比例Vars//此處添加變量Series<Numeric>Vars1;Booltolong(False);Booltoshort(False);NumericentryPrice;//記錄開倉價(jià)格Numericcapital;//資金總額NumericpositionSize;//頭寸規(guī)模Defs//此處添加公式函數(shù)//周期內(nèi)求和NumericSUM(NumericPRICE,NumericLENGTH){ReturnSummationFC(PRICE,LENGTH);}Events//此處實(shí)現(xiàn)事件函數(shù)//初始化事件函數(shù),策略運(yùn)行期間,首先運(yùn)行且只有一次,應(yīng)用在訂閱數(shù)據(jù)等操作OnInit(){//多圖層訂閱行情//freqString訂閱頻率'mon':月,'w':周,'d':日,'h':時(shí),'m':分,'s':秒,'tick':tick,字符串前面可以添加數(shù)字,如'3d'表示周期是3天;//flagIntegerEnum_Data_OnlyNight()表示僅夜盤,Enum_Data_OnlyDay()表示僅日盤,Enum_Data_RolloverBackWard()表示后復(fù)權(quán),可做或運(yùn)算,表示多種情況//SubscribeBar(Data0.Symbol,"1h",Data0.BeginDateTime);//按樣本數(shù)訂閱//SubscribeBarCounts(Data0.Symbol,"1h",1000);//與數(shù)據(jù)源有關(guān)Range[0:DataCount-1]{//=========數(shù)據(jù)源相關(guān)設(shè)置==============AddDataFlag(Enum_Data_RolloverBackWard());//設(shè)置后復(fù)權(quán)AddDataFlag(Enum_Data_RolloverRealPrice());//設(shè)置映射真實(shí)價(jià)格AddDataFlag(Enum_Data_AutoSwapPosition());//設(shè)置自動(dòng)換倉AddDataFlag(Enum_Data_IgnoreSwapSignalCalc());//設(shè)置忽略換倉信號計(jì)算/*備注:Enum_Data_IgnoreSwapSignalCalc,對于一個(gè)策略來說,換倉的這筆交易并不是策略規(guī)則產(chǎn)生的,所以將換倉前后的這兩筆交易合并為一筆能更好的統(tǒng)計(jì)策略性能。合并之后,交易盈虧依舊是真實(shí)的,只不過換倉前后的這兩筆交易算一筆交易,但是手續(xù)費(fèi)會(huì)從測試報(bào)告中扣除。忽略換倉時(shí),換倉后的開倉市值為原始的開倉市值。開倉均價(jià)按照原始開倉市值計(jì)算得來。*/SetSwapPosVolType(2);//換月時(shí)頭寸:1=等市值,2=等持倉量//AddDataFlag(Enum_Data_NotGenReport());//設(shè)置數(shù)據(jù)源不參與生成報(bào)告標(biāo)志//=========交易相關(guān)設(shè)置==============//SetOrderPriceOffset(2);//設(shè)置委托價(jià)為叫買/賣價(jià)偏移2跳//SetOrderMap2MainSymbol();//設(shè)置委托映射到主力}//與數(shù)據(jù)源無關(guān)//SetBeginBarMaxCount(10);//設(shè)置最大起始bar數(shù)為10//SetBackBarMaxCount(10);//設(shè)置最大回溯bar數(shù)為10//=========交易相關(guān)設(shè)置==============//SetInitCapital(Fund*10000);//設(shè)置初始資金為50萬capital=Portfolio_CurrentCapital();//獲取當(dāng)前資金總額}//Bar更新事件函數(shù),參數(shù)indexs表示變化的數(shù)據(jù)源圖層ID數(shù)組OnBar(ArrayRef<Integer>indexs){NumericSMMA1=SUM(CLOSE,N)/N;NumericMACLOSE=(SUM(CLOSE,N)-SMMA1+CLOSE)/N;NumericSMMA2=SUM(OPEN,N)/N;NumericMAOPEN=(SUM(OPEN,N)-SMMA2+OPEN)/N;NumericSMMA3=SUM(HIGH,N)/N;NumericMAHIGH=(SUM(HIGH,N)-SMMA3+HIGH)/N;NumericSMMA4=SUM(LOW,N)/N;NumericMALOW=(SUM(LOW,N)-SMMA4+LOW)/N;NumericHACLOSE=(MAOPEN+MAHIGH+MALOW+MACLOSE)/4;NumericHAOPEN=(REF(OPEN,1)+REF(HACLOSE,1))/2;NumericHAHIGH=MAX(MAHIGH,MAX(HAOPEN,HACLOSE));NumericHALOW=MIN(MALOW,MIN(HAOPEN,HACLOSE));NumericHH=HAHIGH;NumericLL=HALOW;//NumericHH1=BARSLAST((HH>=REF(HH,1)));//NumericLL1=BARSLAST((LL<REF(LL,1)));NumericHH1=IIF((HH>=REF(HH,1)),HH,REF(HH,1));NumericLL

溫馨提示

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

最新文檔

評論

0/150

提交評論