




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
道氏理論策略(TB版)策略概述道氏理論策略是一種基于技術分析的交易策略,主要通過計算價格趨勢和特定條件來決定開倉和平倉時機。該策略定義了一系列參數和變量,并在交易時間內根據市場數據更新這些值,從而觸發相應的交易動作。參數定義ATime(918):交易時間開始,設定為9點18分。CTime(1510):交易時間結束,設定為15點10分。Lot(1):交易手數,默認每次交易1手。MoneyLoss(0.6):虧損比例,用于計算止損價,默認為0.6%。BarCross(1):價格變動比例,用于計算價格差值。Length(5):平均計算長度,用于計算收盤價平均值,默認為5。變量定義策略定義了一系列數值和布爾型變量,用于存儲和計算交易過程中的數據。bTime:當前時間(轉換為整數)。MyClose:收盤價或收盤價平均值。MyDiff:價格差值,基于MyClose和BarCross計算。estP,ExitP,Position,est,est1,est2,est3:用于記錄最高價、止損價、持倉量及多個價格趨勢點。多個布爾型變量用于判斷開倉、平倉等條件。策略邏輯初始化與繼承:每個交易日開始時,初始化一系列變量。否則,繼承上一周期的值。價格計算:根據Length計算MyClose(收盤價平均值或當前收盤價)。計算價格差值MyDiff。時間判斷:判斷當前時間是否在交易時間內(bTimeCon)。價格趨勢更新:更新est,est1,est2,est3的值,根據價格關系決定。持倉與止損:根據持倉情況更新estP(最高/最低價)。計算ExitP(止損價)。交易動作:交易時間結束時(bTime>=CTime),根據持倉情況進行平倉。在交易時間內(bTimeCon),根據持倉和價格趨勢判斷開倉或平倉條件。持倉為0時,根據多頭或空頭開倉條件進行買入或賣出短空。持倉不為0時,根據多頭或空頭平倉條件進行賣出或買入平倉。策略信號代碼:ParamsNumericATime(918);NumericCTime(1510);NumericLot(1);NumericMoneyLoss(0.6);NumericBarCross(1);NumericLength(5);VarsNumericbTime(0);NumericMyClose(0);NumericMyDiff(0);NumericSeriesestP(0);NumericSeriesExitP(0);NumericSeriesPosition(0);NumericSeriesest(0);NumericSeriesest1(0);NumericSeriesest2(0);NumericSeriesest3(0);BoolbTimeCon;BoolBarUpCon;BoolBarDownCon;BoolBarExitCon;BoolLongOpenCon;BoolShortOpenCon;BoolLongExitCon;BoolShortExitCon;BeginIf(Date!=Date[1]){est=Open;est1=Open;est2=Open;est3=Open;estP=0;ExitP=0;Position=0;MyClose=Open;}Else{est=est[1];est1=est1[1];est2=est2[1];est3=est3[1];estP=estP[1];ExitP=ExitP[1];Position=Position[1];If(Length!=0)MyClose=Average(Close[1],Length);ElseMyClose=Close[1];}MyDiff=MyClose*BarCross/1000;bTime=IntPart(Time*10000);bTimeCon=(bTime>ATime)And(bTime<CTime);If((MyClose<estAndMyClose<est1)Or(MyClose>estAndMyClose>est1))est=MyClose;If(((MyClose-est)>MyDiffAndest<est1)Or((est-MyClose)>MyDiffAndest>est1)){est3=est2;est2=est1;est1=est;est=MyClose;}If(Position>0AndHigh>estP)estP=High;If(Position<0AndLow<estP)estP=Low;If(Position>0)ExitP=estP*(100-MoneyLoss)/100;If(Position<0)ExitP=estP*(100MoneyLoss)/100;If(bTime>=CTime){If(Position>0)Sell(lot,Open);ElseBuyToCover(lot,Open);}If(bTimeCon){If(Position==0){If(est3<est1And(est2/2000est2)<=estAndest3<est2){Buy(lot,Open);Position=lot;estP=Open;ExitP=estP*(100-MoneyLoss)/100;Commentary("LongOpen");}ElseIf(est3>est1And(est2-est2/2000)>=estAndest3>est2){SellShort(lot,Open);Position=lot*-1;estP=Open;ExitP=estP*(100MoneyLoss)/100;Commentary("ShortOpen");}}Else{If(Position>0Andest3>est1){Sell(lot,Open);Position=0;Commentary("LongExit1");}ElseIf(Position<0Andest3<est1){BuyToCover(lot,Open);Position=0;Commentary("ShortExit1");}ElseIf(Position>0AndOpen<ExitP){Sell(lot,Open);Position=0;Commentary("LongExit2");}ElseIf(Position<0AndOpen>ExitP){BuyToCover(lot,Open);Position=0;Commentary("ShortExit2");}}}Commentary("Position="Text(Position));Commentary("ExitP="Text(ExitP));End策略代碼注解:#定義參數Params#交易時間開始(9點18分)NumericATime(918);#交易時間結束(15點10分)NumericCTime(1510);#交易手數NumericLot(1);#虧損比例NumericMoneyLoss(0.6);#價格變動比例NumericBarCross(1);#平均計算長度NumericLength(5);#定義變量Vars#時間變量NumericbTime(0);#收盤價變量NumericMyClose(0);#價格差值變量NumericMyDiff(0);#一系列數值序列變量NumericSeriesestP(0);NumericSeriesExitP(0);NumericSeriesPosition(0);NumericSeriesest(0);NumericSeriesest1(0);NumericSeriesest2(0);NumericSeriesest3(0);#一系列布爾型條件變量BoolbTimeCon;BoolBarUpCon;BoolBarDownCon;BoolBarExitCon;BoolLongOpenCon;BoolShortOpenCon;BoolLongExitCon;BoolShortExitCon;Begin#如果日期變化If(Date!=Date[1]){#初始化一些變量est=Open;est1=Open;est2=Open;est3=Open;estP=0;ExitP=0;Position=0;MyClose=Open;}#否則Else{#繼承上一周期的值est=est[1];est1=est1[1];est2=est2[1];est3=est3[1];estP=estP[1];ExitP=ExitP[1];Position=Position[1];#根據條件計算收盤價If(Length!=0)MyClose=Average(Close[1],Length);ElseMyClose=Close[1];}#計算價格差值MyDiff=MyClose*BarCross/1000;#獲取當前時間并轉換為整數bTime=IntPart(Time*10000);#判斷是否在交易時間內bTimeCon=(bTime>ATime)And(bTime<CTime);#根據價格關系更新est值If((MyClose<estAndMyClose<est1)Or(MyClose>estAndMyClose>est1))est=MyClose;If(((MyClose-est)>MyDiffAndest<est1)Or((est-MyClose)>MyDiffAndest>est1)){est3=est2;est2=est1;est1=est;est=MyClose;}#根據持倉情況更新estPIf(Position>0AndHigh>estP)estP=High;If(Position<0AndLow<estP)estP=Low;#根據持倉情況計算ExitPIf(Position>0)ExitP=estP*(100-MoneyLoss)/100;If(Position<0)ExitP=estP*(100+MoneyLoss)/100;#交易時間結束時的處理If(bTime>=CTime){#根據持倉情況進行平倉操作If(Position>0)Sell(lot,Open);ElseBuyToCover(lot,Open);}#在交易時間內的處理If(bTimeCon){#持倉為0時的開倉判斷If(Position==0){#多頭開倉條件If(est3<est1And(est2/2000+est2)<=estAndest3<est2){Buy(lot,Open);Position=lot;estP=Open;ExitP=estP*(100-MoneyLoss)/100;Commentary("LongOpen");#輸出注釋}#空頭開倉條件ElseIf(est3>est1And(est2-est2/2000)>=estAndest3>est2){SellShort(lot,Open);Position=lot*-1;estP=Open;ExitP=estP*(100+MoneyLoss)/100;Commentary("ShortOpen");#輸出注釋}}#持倉不為0時的平倉判斷Else{#多頭平倉條件1If(Position>0Andest3>est1)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一方婚前貸款買房合同標準文本
- 個人返協議合同樣本
- 關于小區維修合同樣本
- 與車輛有關合同樣本
- 企業合作合同樣本招生
- 50億工程合同標準文本
- 個人租房半合同樣本
- 上海建筑門窗合同樣本
- 人大志編纂合同標準文本
- 個人申請貸款合同樣本
- 24年10月自考14237手機媒體概論試題及答案
- 揚塵防治(治理)監理實施細則(范本)
- 華為智慧礦山解決方案
- 幼兒園辦園行為督導評估指標體系表
- 房地產項目能源管理制度制定
- 核心素養下小學道德與法治實踐性作業設計探究
- DB11∕T 161-2012 融雪劑 地方標準
- 會務活動質量保障措施
- 2024-2025學年廣東省珠海市高三(上)第一次摸底考試物理試卷(含答案)
- 游輪產品相關項目實施方案
- 部編版小學語文五年級下冊第5單元語文要素解讀
評論
0/150
提交評論