昆玉们,今天来说说这个卡尔曼自合乎MACD亚bo体育网,这玩意儿挺有风趣,嗅觉像是给传统MACD加了个“智能大脑”,让它变得更无邪了。
为啥说它利弊?
传统MACD那几个参数(12日、26日、9日)是死的,阛阓一变就容易跟不上节拍。但卡尔曼自合乎MACD不一样,它能凭证阛阓的波动自动调停参数,这就好比它能“看懂”阛阓的变化,然后我方调停情景,应付起来就更顺遂了。
图片
并且,它在保持MACD那种平滑性的同期,还能对价钱变化更敏锐。这就止境于在稳和快之间找到了个均衡,信号也更靠谱了,不像传统MACD未必代反馈慢半拍。
图片
领略信卡尔曼自合乎MACD顶底背离概念N1:=12;N2:=26;lijin1:=CLOSE-REF(CLOSE,N1);lijin2:=SUM(ABS((CLOSE-REF(CLOSE,1))),N1);lijin3:=ABS(lijin1/lijin2);lijin4:=2/(2+1);lijin5:=2/(30+1);lijin6:=lijin3*(lijin4-lijin5)+lijin5;lijin7:=lijin6*lijin6;lijin9:=CLOSE-REF(CLOSE,N2);lijin10:=SUM(ABS((CLOSE-REF(CLOSE,1))),N2);lijin11:=ABS(lijin9/lijin10);lijin12:=2/(2+1);lijin13:=2/(30+1);lijin14:=lijin11*(lijin12-lijin13)+lijin13;lijin15:=lijin14*lijin14;DIFF:DMA(CLOSE,lijin7)-DMA(CLOSE,lijin15);DEA:EMA(DIFF,9);MACD:2*(DIFF-DEA),COLORSTICK;MACD120:=REF(MACD/2,BARSLAST(MACD=HHV(MACD,120))),COLORRED,LINETHICK2;MACD250:=REF(MACD/2,BARSLAST(MACD=HHV(MACD,250))),COLORWHITE,LINETHICK2;XG:=NOT(REF(MACD120,1)=MACD120);STICKLINE(XG,0,MACD,2,0),COLORYELLOW;STICKLINE(MACD>=MACD250,MACD250,MACD,2,0),COLORMAGENTA;KK120:=REF(MACD/2,BARSLAST(MACD=LLV(MACD,120))),COLORRED,LINETHICK2;KK250:=REF(MACD/2,BARSLAST(MACD=LLV(MACD,250))),COLORWHITE,LINETHICK2;XG1:=NOT(REF(KK120,1)=KK120);STICKLINE(XG1,0,MACD,2,0),COLORGREEN;判断底部的套路这个概念里有个MACD120和MACD250,辞别是120周期和250周期内的最高MACD值。若是MACD值离这些高位远了,那可能就证据阛阓有点“跌及其”了,说不定等于底部的信号。
还有个XG条目,它能判断MACD120是不是长入高位。若是一忽儿不长入了,可能就证据阛阓要变天了。若是这时代MACD值又处于低位,那底部的可能性就更大了。
再望望柱状图,当MACD值从负的往零轴围聚,致使穿过零轴,这不就证据阛阓要从空头转多头了嘛,亦然底部的信号。
还有个DEA线(9日EMA),若是MACD值围聚DEA线,并且还在低位,这也不错当底部的参考。
图片
合座想路
这个概念通过一堆复杂的野心(比如lijin1到lijin15),动态调停权重,让概念能凭证阛阓波动自动调停。它还讨好了不同周期的MACD值,这么就能同期看到阛阓的短期和长期趋势,判断起来更全面。
临了,它还能过滤假信号,强化真信号。比如,当MACD值在高位或低位的时代,判断一下是不是长入的,若是不长入,那可能等于假阻挠,班师过滤掉。
归来
卡尔曼自合乎MACD这玩意儿,等于通过动态调停权重和讨很多周期信号,让判断阛阓趋势的能力更强了。尤其是在找底部的时代,通过MACD值的变化和多周期的参考,能更准确地收拢阛阓回转的信号。
昆玉们,若是对这个概念感酷好酷好,不错多推敲推敲,毕竟多掌抓一种用具,看阛阓的时代心里也有底。
图片
卡尔曼自合乎MACD顶底背离概念#include <iostream>#include <vector>#include <cmath>#include <algorithm>// 野心出动平均线double MA(const std::vector<double>& data, int period, int type, int index) { if (index < period - 1) return0; double sum = 0.0; for (int i = index - period + 1; i <= index; ++i) { sum += data[i]; } return sum / period;}// 野心指数出动平均线double EMA(const std::vector<double>& data, int period, int index) { if (index < period - 1) return0; double alpha = 2.0 / (period + 1); double ema = data[index - period + 1]; for (int i = index - period + 2; i <= index; ++i) { ema = alpha * data[i] + (1 - alpha) * ema; } return ema;}// 动态出动平均线double DMA(const std::vector<double>& data, const std::vector<double>& weights, int index) { double sum = 0.0; double weight_sum = 0.0; for (int i = 0; i <= index; ++i) { sum += data[i] * weights[i]; weight_sum += weights[i]; } return sum / weight_sum;}// 主函数int main() { int N1 = 12; int N2 = 26; std::vector<double> lijin1(close.size(), 0.0); std::vector<double> lijin2(close.size(), 0.0); std::vector<double> lijin3(close.size(), 0.0); std::vector<double> lijin6(close.size(), 0.0); std::vector<double> lijin7(close.size(), 0.0); std::vector<double> lijin14(close.size(), 0.0); std::vector<double> lijin15(close.size(), 0.0); std::vector<double> diff(close.size(), 0.0); std::vector<double> dea(close.size(), 0.0); std::vector<double> macd(close.size(), 0.0); // 野心概念 for (size_t i = N1; i < close.size(); ++i) { lijin1[i] = close[i] - close[i - N1]; for (size_t j = i - N1 + 1; j <= i; ++j) { lijin2[i] += std::abs(close[j] - close[j - 1]); } lijin3[i] = std::abs(lijin1[i] / lijin2[i]); lijin6[i] = lijin3[i] * (2.0 / 3 - 2.0 / 31) + 2.0 / 31; lijin7[i] = lijin6[i] * lijin6[i]; lijin14[i] = std::abs((close[i] - close[i - N2]) / lijin2[i]); lijin15[i] = lijin14[i] * lijin14[i]; diff[i] = DMA(close, lijin7, i) - DMA(close, lijin15, i); dea[i] = EMA(diff, 9, i); macd[i] = 2 * (diff[i] - dea[i]); } return0;}
风险指示:本概念仅供时代推敲与学习相似使用。阛阓具有高度省略情趣,任何基于本概念的有探讨王人需要自行承担风险,不组成任何投资薄情。
图片
图片
图片
学习共享亚bo体育网
学术相似:咱们专注于阛阓的学术相似与推敲包括私用概念零滞后均线最速弧线,以及自动化行径量化学习。共享学问:田王人元戎,敬神常在,爱东谈主如己,我为东谈主东谈主,与东谈主为善,共享怡然! 本站仅提供存储劳动,总计本色均由用户发布,如发现存害或侵权本色,请点击举报。