請選擇 進入手機版 | 繼續訪問電腦版

COCO研究院

 找回密碼
 註冊
搜索
查看: 2643|回復: 0

[範例程式碼] 微分策略(附程式)

[複製鏈接]
發表於 21-12-29 01:28|載入全部圖片 | 顯示全部樓層 |閱讀模式
本帖最後由 liawfujin 於 21-12-29 01:51 編輯

學過微積分的人應知道距離(對時間)的微分是速度, 而把微分的概念應用到股價上, 那麼對股價(均線)微分, 可以得到股價上漲或下跌的速度!

將微分觀念應用到程式交易, 幣圖誌裡有一篇文章可以參考, " 04/03開發商品的交易系統 - 基礎篇 [34]微分" ,
https://www.bituzi.com/2015/04/trading-fundamantals34.html

這裡還是從前篇 HullMoving Average(HMA) 出發, 微分是無限小的變量,我們無法做到無限小, 只能在此均線上取兩點(6 根 K 棒)的差值(即導數)來近似!
//----------------------------------
inputs: Hlength(x), dyz(6);
Input: avmlen(y), asima(2), du(z1),dl(z2);
var: M1_M2(0), avM1_M2(0);
vars: delta1(0), MA(0),HMA(0);
vars: mp(0), IsBalanceDay(False);
//----------------------------------------
MA=2*WAverage(close,IntPortion(Hlength*0.5))-WAverage(close,Hlength);
HMA=WAverage(MA,IntPortion(SquareRoot(Hlength)));

delta1 =  HMA - HMA[dyz];

//----------------------------------------
M1_M2 = AverageFC(delta1, asima);
avM1_M2 = AverageFC(M1_M2, avmlen);

//-----------------------------------------
mp = MarketPosition;
if DAYofMonth(Date) > 14 and DAYofMonth(Date) < 22 and DAYofWeek(Date)= 3 then isBalanceDay = True else isBalanceDay =False;
//---------------------------------------
if mp = 0 then begin
   if M1_M2 cross over avM1_M2+du then buy next bar at market;   
end;

if mp > 0 then begin
  if M1_M2 cross under avM1_M2-dl then sellshort next bar at market;
end;

if mp < 0 then begin
   if M1_M2 cross over avM1_M2+du then buy next bar at market;
end;

if IsBalanceDay then setExitonClose;
//--------------------------------------------------
delta1 即為   HullMoving Average(HMA) 的導數, 當導數為零時, 代表均線反轉, 而導數極大(小)值, 代表均線的反曲點, 均線增速為零, 之後均線上漲速度變緩!

為使導數較為平滑, 可求其某小區間的均值, M1_M2 = AverageFC(delta1, asima); avM1_M2 = AverageFC(M1_M2, avmlen) 為某一區間的導數簡單平均值(線)!

此指標的交易策略
, 可以在導數M1_M2 穿越 avM1_M2 之上時買進, M1_M2 穿越 avM1_M2 之下時賣出, 加減一小差值 du, dl 當緩衝, 以減少買賣雜訊.

4分鐘 K 線, 跑日夜盤的波段策略, 以 2017.05 至2020.06.30 之資料為樣本內做優化, 一口小台, 不設停損, 每月結算, 起始資金10萬, 單邊費用設120元, 2020. 07.01 後是樣本外績效,

空單權益曲線

空單權益曲線

多單權益曲線

多單權益曲線

詳細權益曲線

詳細權益曲線

K 線參考圖

K 線參考圖

評分

參與人數 2金錢 +4 收起 理由
abopt + 2
dahlia1981 + 2 太強了

查看全部評分




上一篇︰半導體扛多頭大旗 台股漲147點收18196點 盤中、收盤雙寫新高
下一篇︰20211229 大盤挑戰18200
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院  |網站地圖

GMT+8, 22-5-20 22:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表
理財討論網站 | | 徵信社精選| SEO優化| 美學必需|