ATR進出場策略(MC版)_第1頁
ATR進出場策略(MC版)_第2頁
ATR進出場策略(MC版)_第3頁
ATR進出場策略(MC版)_第4頁
ATR進出場策略(MC版)_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ATR進出場策略(MC版)一個基于進出場的交易策略,包括其進場和出場規則,核心在于通過技術指標和數學計算來實現自動化交易,旨在提高交易效率和風險管理能力。進場策略初始化設置-初始資金:設定為100,000。-風險百分比:每次交易使用的風險百分比為10%。-周期長度:將上升和下降周期劃分為20個單位。-變量聲明:包括頭寸數量、總權益、壓力線、支撐線和訂單多空狀態。計算總權益和頭寸數量-總權益:計算初始資金加上凈盈利和未平倉頭寸的盈利,結果四舍五入到整數。-頭寸數量:根據總權益、風險百分比、收盤價和點值計算可交易的頭寸數量。獲取當前市場持倉狀態-市場持倉狀態:獲取當前的多頭或空頭持倉狀態。四周突破系統-壓力線:計算過去20個周期內的最高價。-支撐線:計算過去20個周期內的最低價。買入和賣出條件-買入條件:如果當前沒有多頭持倉,在下一根K線觸及壓力線時買入。-賣出條件:如果當前沒有空頭持倉,在下一根K線觸及支撐線時賣出做空。出場策略初始化設置-周期長度:設定為14,用于計算ATR(平均真實波幅)。計算ATR和平倉價格-ATR值:計算當前時間周期內的ATR值。-平倉價格:根據當前收盤價和ATR值計算退出價格。多頭和空頭平倉條件-多頭平倉:如果當前持有多頭倉位,設置低于當前收盤價一個ATR單位的退出價格,并在下一根K線達到該價格時賣出平倉。-空頭平倉:如果當前持有空頭倉位,設置高于當前收盤價一個ATR單位的退出價格,并在下一根K線達到該價格時買入平倉。繪制退出價格線和打印信息-繪制退出價格線:在圖表上繪制退出價格線以便于觀察。-打印信息:輸出相關信息以供檢查,無實際用途可以刪除。優化后的出場策略增加指定出場數量-指定出場數量:在平倉時指定賣出或買入所有頭寸。刪除零持倉時的畫線-刪除畫線:當持倉為零時刪除退出價格線,使圖表更清晰。實盤建議-刪除或注釋掉畫線:在實盤過程中建議刪除或注釋掉畫線,以減輕程序化的計算量。通過詳細的代碼注解和解釋,展示了一個基于突破和ATR指標的交易策略。其核心思想是利用歷史價格數據和技術指標來確定入場和出場點,以實現自動化交易。策略的特點包括:-風險管理:通過設定風險百分比和使用ATR指標來確定止損價格,有效控制風險。-自動化交易:通過代碼實現自動買入和賣出,減少人為干預。-靈活性:策略參數可調,適應不同市場環境。本策略提供了一個完整的交易策略框架,適用于希望通過技術分析和自動化交易實現穩定盈利的投資者。進場策略代碼的逐行注解:Input:InitialCapital(100000),{設置初始資金量}riskpercent(0.1),{每次交易使用的風險百分比}Len(20);{將上升和下降周期劃分為20個單位}var:lots(0),{要投入的頭寸數量}totalequity(0),{總權益,包括初始資金以及盈虧}up(0),{壓力線}down(0),{支撐線}mp(0);{訂單的多空狀態,如果做多則mp=1;如果做空則mp=-1}//設置開始:使用總權益的10%開倉totalequity=round((initialcapital+netprofit+openpositionprofit),0);{計算總權益,四舍五入到整數}lots=IntPortion((totalequity*riskpercent)/(close*bigpointvalue*0.1));{默認保證金比率為0.1,計算可交易的頭寸數量}mp=marketposition;{獲取當前市場持倉狀態}//設置結束//策略-(4周突破系統)up=Highest(high,len);{計算過去len個周期內的最高價}down=Lowest(low,len);{計算過去len個周期內的最低價}//買入-賣出(交易會話)ifmp<>1thenbegin{如果當前沒有多頭持倉}buy("B1")lotssharesnextbaratup[1]stop;{在下一根K線觸及壓力線時買入做多}end;ifmp<>-1thenbegin{如果當前沒有空頭持倉}sellshort("S1")lotssharesnextbaratdown[1]stop;{在下一根K線觸及支撐線時賣出做空}end;進場策略代碼:Input:InitialCapital(100000),riskpercent(0.1),Len(20);var:lots(0),totalequity(0),up(0),down(0),mp(0);totalequity=round((initialcapital+netprofit+openpositionprofit),0);lots=IntPortion((totalequity*riskpercent)/(close*bigpointvalue*0.1));mp=marketposition;up=Highest(high,len);down=Lowest(low,len);ifmp<>1thenbeginbuy("B1")lotssharesnextbaratup[1]stop;end;ifmp<>-1thenbeginsellshort("S1")lotssharesnextbaratdown[1]stop;end;說明:在進場規則中對進場有一個選擇項,就是當有持倉時,是不是突破上下兩軌時要不要反手。還是先平倉再開倉,這對于策略有一個細微的區別,就是進場可能會早一天或晚一天。這里設置成判斷非多單向上突破就反手做多。跌破下軌就反多為空。介意的可以用marketposition=0來確保只有沒有持倉而又突破時才進。都是差不多的。出場策略代碼:Input:len(14);var:var1(0),stopline(0);var1=atr(len);ifmarketposition=1thenbeginstopline=close-var1;sell("ATR-out1")nextbaratstoplinestop;end;ifmarketposition=-1thenbeginstopline=close+var1;buytocover("ATR-out2")nextbaratstoplinestop;end;Value1=TL_New(date[1],time[1],stopline[1],date,time,stopline);print(date,time,close[1],var1[1],close[1]-var1[1],close)以下是出場策略代碼的逐行注解:{當買入或賣空時,可以使用以下代碼在價格突破昨日收盤價加減ATR時平倉}Input:len(14);{可以選擇您喜歡的周期,常用的有1,3,10,15}var:var1(0),{存儲ATR值}stopline(0);{存儲平倉價格值}var1=atr(len);{計算長度為len的ATR(平均真實波幅)值}ifmarketposition=1thenbegin{如果當前持有多頭倉位,則執行以下ATR退出方法}stopline=close-var1;{計算低于當前收盤價一個ATR單位的退出價格}sell("ATR-out1")nextbaratstoplinestop;{在下一根K線觸及stopline時賣出平倉}end;ifmarketposition=-1thenbegin{如果當前持有空頭倉位,則執行以下ATR退出方法}stopline=close+var1;{計算高于當前收盤價一個ATR單位的退出價格}buytocover("ATR-out2")nextbaratstoplinestop;{在下一根K線觸及stopline時買入平倉}end;Value1=TL_New(date[1],time[1],stopline[1],date,time,stopline);{繪制退出價格線}print(date,time,close[1],var1[1],close[1]-var1[1],close){輸出打印信息以供檢查,無實際用途可以刪除}{請注意,此代碼用于信號代碼中}以上代碼是一個交易策略的一部分,用于在價格突破前一日收盤價加減ATR(平均真實波幅)時自動設置平倉止損。以下是優化后的代碼解釋:-`Input:len(14);`:設置ATR計算的時間周期長度為14。-`var1(0),stopline(0);`:聲明變量`var1`用于存儲ATR值,`stopline`用于存儲退出價格。-`var1=atr(len);`:計算當前時間周期內的ATR值。-`ifmarketposition=1then...`:如果當前持有多頭倉位,則設置低于當前收盤價一個ATR單位的退出價格,并在下一根K線達到該價格時賣出平倉。-`ifmarketposition=-1then...`:如果當前持有空頭倉位,則設置高于當前收盤價一個ATR單位的退出價格,并在下一根K線達到該價格時買入平倉。-`Value1=TL_New(...);`:在圖表上繪制退出價格線。-`print(...);`:打印相關信息,用于檢查代碼是否正確執行,可以根據需要刪除。優化后的出場策略代碼:Input:len(14);var:var1(0),stopline(0);var1=atr(len);ifmarketposition=1thenbeginstopline=Close-var1;sell("atr-out1")allsharesnextbaratstoplinestop;end;ifmarketposition=-1thenbeginstopline=Close+var1;buytocover("atr-out2")

溫馨提示

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

最新文檔

評論

0/150

提交評論