
昆季们,今天来说说这个卡尔曼自合乎MACD,这玩意儿挺有真谛,嗅觉像是给传统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;}风险领导:本议论仅供技巧筹划与学习相通使用。市集具有高度不笃定性,任何基于本议论的有议论齐需要自行承担风险,不组成任何投资提议。
图片
图片
图片
学习共享云开体育
学术相通:咱们专注于市集的学术相通与筹划包括私用议论零滞后均线最速弧线,以及自动化技艺量化学习。共享学问:田齐元戎,敬神常在,爱东说念主如己,我为东说念主东说念主,与东说念主为善,共享现象! 本站仅提供存储做事,所有施行均由用户发布,如发现存害或侵权施行,请点击举报。Powered by 开云平台网站皇马赞助商| 开云平台官方ac米兰赞助商 最新官网入口 @2013-2022 RSS地图 HTML地图
