隨機平滑策略(TB版)_第1頁
隨機平滑策略(TB版)_第2頁
隨機平滑策略(TB版)_第3頁
隨機平滑策略(TB版)_第4頁
隨機平滑策略(TB版)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

隨機平滑策略(TB版)策略概述:本策略是一種基于未成熟隨機值(RSV)和一系列平滑處理(SMA)的交易策略,主要應用于金融市場中的買入和賣出決策。該策略通過計算RSV值及其多重平滑處理(FASTK、K1、D1),結合交叉信號和止損邏輯來執(zhí)行交易。參數(shù)定義:Length(N):長度參數(shù),用于計算指定長度內的最高價和最低價,默認值為20。SlowLength(M1):慢參數(shù),用于對RSV進行第一次平滑處理(SMA),默認值為24。SmoothLength(M2):平滑參數(shù),用于對FASTK進行第二次平滑處理,得到K1,默認值為10。LongLength:長參數(shù),用于對K1進行第三次平滑處理,得到D1,默認值為20。lots:交易手數(shù),默認值為1。offset:偏移量,用于計算入場價格的微調,默認值為0。stoploss:止損值,用于設置止損水平,默認值為50。變量定義:HighestValue:指定長度內的最高價序列。LowestValue:指定長度內的最低價序列。RSV:未成熟隨機值序列。FASTK:RSV的第一次平滑處理結果。K1:FASTK的第二次平滑處理結果。D1:K1的第三次平滑處理結果。i_offset:偏移量計算結果。BuyPosition:多頭持倉標記。SellPosition:空頭持倉標記。myEntryPrice:入場價格。myExitPrice:出場價格。策略邏輯:計算最高價和最低價:使用HighestFC和LowestFC函數(shù)分別計算指定長度(Length)內的最高價和最低價。計算RSV和平滑處理:RSV=(收盤價-最低價)/(最高價-最低價)*100。對RSV進行三次平滑處理,分別得到FASTK、K1和D1。交易信號:市場無持倉時:如果K1上穿D1,則執(zhí)行買入操作。(可選)如果K1下穿D1,則執(zhí)行做空賣出操作。市場處于多頭持倉時:如果K1下穿D1,則執(zhí)行平多賣出操作。如果最低價觸發(fā)止損條件,則執(zhí)行平多賣出操作并計算出場價格。市場處于空頭持倉時:如果最高價觸發(fā)止損條件,則執(zhí)行平空買入操作并計算出場價格。止損邏輯:根據(jù)止損值(stoploss)和價格變動單位(MinMove)、價格縮放比例(PriceScale)計算止損條件。當市場處于多頭持倉且最低價低于入場價減去止損值時,執(zhí)行平多賣出。當市場處于空頭持倉且最高價高于入場價加上止損值時,執(zhí)行平空買入。策略中包含了多頭持倉和空頭持倉的止損邏輯,策略的入場和出場價格計算考慮了偏移量(offset)和價格變動單位(MinMove)、價格縮放比例(PriceScale)的微調。策略代碼解釋://定義參數(shù)ParamsNumericLength(20);//長度參數(shù)NNumericSlowLength(24);//慢參數(shù)M1NumericSmoothLength(10);//平滑參數(shù)M2NumericLongLength(20);//長參數(shù)Numericlots(1);//交易手數(shù)Numericoffset(0);//偏移量Numericstoploss(50);//止損值//定義變量VarsNumericSeriesHighestValue;//最高價序列NumericSeriesLowestValue;//最低價序列NumericSeriesRSV;//未成熟隨機值序列NumericSeriesFASTK;//快速隨機指標K序列NumericSeriesK1;//處理后的K序列NumericSeriesD1;//處理后的D序列Numerici_offset;//偏移量計算結果NumericBuyPosition;//多頭持倉NumericSellPosition;//空頭持倉NumericmyEntryPrice;//入場價格NumericmyExitPrice;//出場價格Begin//計算指定長度內的最高價HighestValue=HighestFC(High,Length);//計算指定長度內的最低價LowestValue=LowestFC(Low,Length);//計算RSV值(收盤價-最低價)/(最高價-最低價)*100RSV=(Close-LowestValue)/(HighestValue-LowestValue)*100;//對RSV進行平滑處理得到FASTKFASTK=SMA(RSV,SlowLength,1);//對FASTK再次平滑得到K1K1=SMA(FASTK,SmoothLength,1);//對K1進行平滑得到D1D1=SMA(K1,LongLength,1);//計算偏移量i_offset=offset*MinMove*PriceScale;//當市場無持倉時if(MarketPosition==0){//當K1上穿D1時,做多買入if(CrossOver(K1,D1)){buy(lots,Close[1]);Return;}//注釋部分:當K1下穿D1時,做空賣出//if(CrossUnder(K1,D1))//{//SellShort(lots,Close[1]);//Return;//}}//當市場處于多頭持倉時if(MarketPosition==1){//當K1下穿D1時,平多賣出if(CrossUnder(K1,D1)){Sell(lots,Close);Return;}}//止損邏輯//當市場處于多頭持倉時If(MarketPosition==1){//如果最低價小于入場價減去止損值乘以最小變動單位乘以價格縮放比例If(Low<EntryPrice-StopLoss*MinMove*PriceScale){//計算出場價格myExitPrice=EntryPrice-(StopLoss+1)*MinMove*PriceScale;//取最低價和出場價格中的最大值myExitPrice=max(low,myExitPrice);//平多賣出Sell(lots,myExitPrice);}}//當市場處于空頭持倉時ElseIf(MarketPosition==-1){//如果最高價大于入場價加上止損值乘以最小變動單位乘以價格縮放比例If(High>EntryPrice+StopLoss*MinMove*PriceScale){//計算出場價格myExitPrice=EntryPrice+(StopLoss+1)*MinMove*PriceScale;//取最高價和出場價格中的最小值myExitPrice=min(high,myExitPrice);//平空買入BuyToCover(lots,myExitPrice);}}end策略代碼:ParamsNumericLength(20);//NNumericSlowLength(24);//M1NumericSmoothLength(10);//M2NumericLongLength(20);Numericlots(1);Numericoffset(0);Numericstoploss(50);VarsNumericSeriesHighestValue;NumericSeriesLowestValue;NumericSeriesRSV;NumericSeriesFASTK;NumericSeriesK1;NumericSeriesD1;Numerici_offset;NumericBuyPosition;NumericSellPosition;NumericmyEntryPrice;NumericmyExitPrice;BeginHighestValue=HighestFC(High,Length);LowestValue=LowestFC(Low,Length);RSV=(Close-LowestValue)/(HighestValue-LowestValue)*100;FASTK=SMA(RSV,SlowLength,1);K1=SMA(FASTK,SmoothLength,1);D1=SMA(K1,LongLength,1);i_offset=offset*MinMove*PriceScale;if(MarketPosition==0){if(CrossOver(K1,D1)){buy(lots,Close[1]);Return;}//if(CrossUnder(K1,D1))//開空頭//{//SellShort(lots,Close[1]);//Return;//}}if(MarketPosition==1)//平多{if(CrossUnder(K1,D1)){Sell(lots,Close);Return;}}//止損If(MarketPosition==1){If(Low<EntryPrice-StopLoss*MinMove*PriceScale){myExitPrice=EntryPrice-(StopLoss+1)*MinMove*PriceScale;myExitPrice=max(low,myExitPrice);Sell(lots,myExitPrice);}}ElseIf(MarketPosition==-1){If(High>EntryPrice+StopLoss*MinMo

溫馨提示

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

評論

0/150

提交評論