2023-03-31|閱讀時間 ‧ 約 6 分鐘

【Multicharts】【KD指標策略】程式碼逐條解說

首先我們依然先介紹KD指標的公式跟原理
RSV=(收盤價-最近n天的最低價) ÷ (最近n天的最高價-最近n天最低價)×100
K值=上一根K值 × (2/3)+RSV × (1/3)
D值=上一根D值 × (2/3)+K值 × (1/3) (RSV中的n值,通常使用9天或14天,我們這次舉例使用9天)
KD指標跟技術指標之王MACD最主要的差別是
KD指標是用當下的收盤價去計算
而MACD指標是用12天以及26天指數平均去計算
這樣的公式特性會造成KD指標對當下行情的反應更快

接著我們逐行介紹KD指標程式碼!
inputs: Len(9), overBuy(80), overSold(20);
vars: fastK(0), fastD(0), slowK(0), slowD(0), valueJ(0);
宣告「參數(inputs)」以及「變數(vars)」
在運作程式碼的時候不會改變的,我們稱作「參數(inputs)」
會隨著程式碼運作而改變的,我們稱作「變數(vars)」

Value1 = Stochastic(H, L, C, Len, 3, 3, 1, fastK, fastD, slowK, slowD);
跟MACD比較不同的是,我們KD指標是更直接的使用Multicharts的內建函數Stochastic()
其中的fastK以及fastD是國外常用的KD值
我們台灣通常是用slowK跟slowD當作KD值

if slowK cross over slowD and 
slowD < overSold and 
slowK < overSold then
buy next bar market;
我們使用「if...then...」條件式建構進出場指令
我們先用中文把我們的多單邏輯寫出來
「當K值跟D值都小於20 且 當K值黃金交叉D值便在下一根K棒用市價買一口多單」
一開始我們先取用上一段multicharts內建KD值函數Stochastic()中的slowK跟slowD
接著我們來解釋黃金交叉的語法,即cross over
將上述兩段組合,便可以表達K值黃金交叉D值,即slowK cross over slowD
接著我們用已宣告好的參數「overSold(20)」來做比較
即slowKoverSold以及slowDoverSold,即K值D值皆小於預設參數20
之後便是用下單指令「buy」在下一根k棒用「market」市價做一口多單

if slowK cross under slowD
and slowD > overSold and slowK > overSold then
sellshort next bar market;
我們依然先將空單邏輯寫出來
「當K值跟D值都大於80 且 當K值死亡交叉D值便在下一根K棒用市價賣一口空單」
接著我們用cross under表達死亡交叉
即slowK cross under slowD
並且用已宣告好的參數「overBUY(80)」來表達K值跟D值都大於80,即slowKoverBuy以及slowDoverBuy
最後便是用下單指令「sellshort」在下一根k棒用「market」市價做一口空單

這樣我們就完成了KD指標策略的最基本形式
跟上一篇MACD指標策略一樣
我們可以用這樣基本的KD指標策略
Multicharts去做績效回測
並且用Multicharts的強項最佳化參數,去修正我們的策略
當然還有不可或缺的停損停利以及交易濾網
都將在之後一一介紹!

最後把上面分段的程式碼整理在下面
方便各位投資朋友直接複製貼在PowerLanguage Editor上
inputs: Len(9), overBuy(80), overSold(20);
vars: fastK(0), fastD(0), slowK(0), slowD(0), valueJ(0);

Value1 = Stochastic(H, L, C, Len, 3, 3, 1, fastK, fastD, slowK, slowD);

if slowK cross over slowD and
slowD < overSold and
slowK < overSold then
buy next bar market;

if slowK cross under slowD and 
slowD > overSold and 
slowK > overSold then 
sellshort next bar market;

尚未註冊TrdingView的投資朋友歡迎使用Kevin專屬註冊連結:
享一個月免費試用Premium帳號,到期後可享50%的續約優惠!
(即使不續約,仍可繼續使用TradingView免費版功能)

💫凱龍下單機|TradingView|MultiCharts|凱龍客製化
💫凱龍官方LINE @979qbbfo|凱龍官網:https://www.kevinwtf524.com/
分享至
成為作者繼續創作的動力吧!
Multicharts是台灣市佔率最高的程式交易軟體,將詳細介紹Multicharts語法Powerlanguage!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言