日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

【量化分享】MACD多周期共振強度分析指標和C 源代碼

 新用戶57163249 2025-02-26

兄弟們,今天來聊聊一個挺有意思的MACD指標,這可不是普通的那種,它在傳統(tǒng)基礎上搞了不少深度擴展,感覺挺有料的。我給大家說說它的核心特色和邏輯,看看是不是能整點有用的東西出來。

這個指標牛就牛在把MACD交叉、多周期EMA偏離、價格突破這些條件都整合到一起了,形成了一個復合信號系統(tǒng)。簡單來說,就是它不光看MACD的交叉信號,還結(jié)合了價格和均線的偏離情況,還有價格的突破情況,這樣一來,信號就更全面了。而且,它還通過顏色分層(紅/綠/紫/黃柱)來直觀區(qū)分信號強度,看著圖表就能一目了然,這可比那種密密麻麻的線條強多了。

圖片

指標創(chuàng)新的特色

多維度信號融合:整合MACD交叉、多周期EMA偏離、價格突破等多重條件,形成復合信號系統(tǒng)。通過顏色分層(紅/綠/紫/黃柱)直觀區(qū)分信號強度,提升圖表可讀性。

動態(tài)計數(shù)機制:實時統(tǒng)計MACD柱連續(xù)紅/綠天數(shù)(LIJIN1/LIJIN2),并標注于柱頂,輔助觀察趨勢持續(xù)性。利用模運算(MOD)標記奇偶天數(shù),潛在暗示趨勢轉(zhuǎn)折可能。

圖片

分區(qū)交叉信號:區(qū)分“水上”(DIF>0)與“水下”(DIF<0)的金叉/死叉,強化不同市場環(huán)境下的信號意義。文字標注(如“水下金叉”)直接提示分析情境,降低解讀門檻。

EMA偏離強度模型:計算價格對5/10/20/60/120日EMA的偏離度(LIJINW1-LIJINW5),構建多周期偏離閾值(如LIJINW6-LIJINW9)。通過帶狀柱體(白/紅/紫/黃)動態(tài)展示偏離強度,識別價格波動區(qū)域。

指標分析邏輯

水下金叉:經(jīng)典信號,暗示空頭動能減弱后的潛在反轉(zhuǎn)。

柱狀連續(xù)縮減:通過BARSLASTCOUNT跟蹤紅綠柱天數(shù),結(jié)合計數(shù)變化捕捉背離。

圖片

多周期偏離共振

EMA偏離閾值:當價格同時高于5/10/20/60日EMA且偏離度遞增(如LIJINW7: 2%/4%/6%/8%),判定為多周期偏離共振。

長周期突破:LIJINW10要求價格突破50日EMA的19%溢價,確認趨勢變化。

動態(tài)趨勢強度標記

黃線突襲信號:當價格創(chuàng)新低但DIF未同步走弱(REF(CLOSE,A1+1)>CLOSE && DIF>REF(DIF,A1+1)),提示潛在背離。

帶狀區(qū)域支撐:零軸下方彩色帶狀區(qū)(如青色背景)結(jié)合柱體收縮,暗示動能衰減。

圖片

通達信MACD多周期共振強度分析指標

DIF:EMA(CLOSE,12)-EMA(CLOSE,26),NODRAW;

DEA:EMA(DIF,9),NODRAW;

MACD:(DIF-DEA)/2,COLORSTICK;

LIJIN1:=BARSLASTCOUNT(MACD>0);

LIJIN紅色柱:=MOD(LIJIN1,2);

LIJIN2:=BARSLASTCOUNT(MACD<0);

LIJIN綠色柱:=MOD(LIJIN2,2);

DRAWNUMBER(LIJIN紅色柱,MACD*1.03,LIJIN1),DRAWABOVE,COLORRED;

DRAWNUMBER(LIJIN綠色柱,MACD*1.03,LIJIN2),COLORGREEN;

A1:=BARSLAST(DIF<REF(DIF,1)),COLORYELLOW;

A11:=A1*(-1),COLORYELLOW;

A2:BARSLAST(DEA<REF(DEA,1)),COLORRED;

A22:A2*(-1),COLORRED;

A111:=BARSLAST(DIF<REF(DIF,1)),COLORYELLOW;

A1111:=A111*(-1),COLORYELLOW;

A3:BARSLAST(DEA>REF(DEA,1)),COLORGREEN;

A33:A3*(-1),COLORGREEN;

STICKLINE(CROSS(DIF,DEA)&&DIF<0,A11,0,3,0),COLORRED;

STICKLINE(CROSS(DIF,DEA)&&DIF>0,0,A1,3,0),COLORRED;

STICKLINE(CROSS(DEA,DIF)&&DIF<0,A11,0,3,0),COLORGREEN;

STICKLINE(CROSS(DEA,DIF)&&DIF>0,0,A1,3,0),COLORGREEN;

STICKLINE(REF(CLOSE,A1+1)>CLOSE&&DIF>REF(DIF,A1+1)&&CROSS(DIF,DEA),(-25),25,0.00001,0),COLORYELLOW;

DRAWTEXT(CROSS(DIF,DEA)&&DIF<0,(-5),'水下金叉'),COLOR8000FF;

DRAWTEXT(CROSS(DIF,DEA)&&DIF>0,12,'水上金叉'),COLORFF00FF;

DRAWTEXT(CROSS(DEA,DIF)&&DIF<0,(-12),'水下死叉'),COLOR00FF00;

DRAWTEXT(CROSS(DEA,DIF)&&DIF>0,5,'水上死叉'),COLOR00FF80;

LIJINW1:=(CLOSE-EMA(CLOSE,5))/EMA(CLOSE,5)*100;

LIJINW2:=(CLOSE-EMA(CLOSE,10))/EMA(CLOSE,10)*100;

LIJINW3:=(CLOSE-EMA(CLOSE,20))/EMA(CLOSE,20)*100;

LIJINW4:=(CLOSE-EMA(CLOSE,60))/EMA(CLOSE,60)*100;

LIJINW5:=(CLOSE-EMA(CLOSE,120))/EMA(CLOSE,120)*100;

LIJINW6:=LIJINW1>1&&LIJINW2>2&&LIJINW3>3&&LIJINW4>4;

LIJINW7:=LIJINW1>2&&LIJINW2>4&&LIJINW3>6&&LIJINW4>8;

LIJINW8:=LIJINW1>3&&LIJINW2>5&&LIJINW3>7&&LIJINW4>9;

LIJINW9:=LIJINW1>4&&LIJINW2>6&&LIJINW3>8&&LIJINW4>10&&LIJINW5>12;

LIJINW10:=BARSLASTCOUNT(LIJINW7)=1&&CROSS(CLOSE,EMA(CLOSE,50)*1.19)&&HIGH/CLOSE<1.05;

白:BARSLASTCOUNT(LIJINW6),NODRAW,COLORWHITE;

紅:BARSLASTCOUNT(LIJINW7),NODRAW,COLORRED;

紫:BARSLASTCOUNT(LIJINW8),NODRAW,COLORMAGENTA;

黃:BARSLASTCOUNT(LIJINW9),NODRAW,COLORYELLOW;

DRAWBAND(0,RGB(0,235,235),0,RGB(0,0,0));

STICKLINE(LIJINW6,-白,白,(-1),(-1)),COLORWHITE;

STICKLINE(LIJINW7,-紅,紅,(-1),0),COLORRED;

STICKLINE(LIJINW8,-紫,紫,(-1),0),COLORMAGENTA;

STICKLINE(LIJINW8,-黃,黃,(-1),0),COLOR00AAAA;

STICKLINE(LIJINW8,-黃,黃,1,0),COLORYELLOW;

STICKLINE(LIJINW10,白+1,白+2,(-1),0),COLOR00AA00;

STICKLINE(LIJINW10,白+1,白+2,1,0),COLORGREEN;

MACD多周期共振強度分析指標C++源代碼
#include <iostream>
#include <vector>
#include <cmath>

usingnamespacestd;

// 計算指數(shù)移動平均(EMA)
vector<doubleEMA(const vector<double>& close, int period) {
    vector<doubleema(close.size(), 0.0);
    if (close.size() < period) return ema;

    double smoothing = 2.0 / (period + 1);
    ema[0] = close[0];

    for (size_t i = 1; i < close.size(); ++i) {
        ema[i] = (close[i] * smoothing) + (ema[i - 1] * (1 - smoothing));
    }

    return ema;
}

// 計算MACD相關指標
void CalculateMACD(const vector<double>& close, vector<double>& dif, vector<double>& dea, vector<double>& macd) {
    vector<double> ema12 = EMA(close, 12);
    vector<double> ema26 = EMA(close, 26);

    dif.resize(close.size());
    dea.resize(close.size());
    macd.resize(close.size());

    for (size_t i = 0; i < close.size(); ++i) {
        dif[i] = ema12[i] - ema26[i];
    }

    dea = EMA(dif, 9);

    for (size_t i = 0; i < close.size(); ++i) {
        macd[i] = (dif[i] - dea[i]) / 2;
    }
}

// 計算LIJINW相關指標
vector<intCalculateLIJINW(const vector<double>& close) {
    vector<double> ema5 = EMA(close, 5);
    vector<double> ema10 = EMA(close, 10);
    vector<double> ema20 = EMA(close, 20);
    vector<double> ema60 = EMA(close, 60);
    vector<double> ema120 = EMA(close, 120);

    vector<intlijinw(close.size(), 0);

    for (size_t i = 0; i < close.size(); ++i) {
        double lijinw1 = (close[i] - ema5[i]) / ema5[i] * 100;
        double lijinw2 = (close[i] - ema10[i]) / ema10[i] * 100;
        double lijinw3 = (close[i] - ema20[i]) / ema20[i] * 100;
        double lijinw4 = (close[i] - ema60[i]) / ema60[i] * 100;
        double lijinw5 = (close[i] - ema120[i]) / ema120[i] * 100;

        if (lijinw1 > 1 && lijinw2 > 2 && lijinw3 > 3 && lijinw4 > 4) {
            lijinw[i] = 1;
        } elseif (lijinw1 > 2 && lijinw2 > 4 && lijinw3 > 6 && lijinw4 > 8) {
            lijinw[i] = 2;
        } elseif (lijinw1 > 3 && lijinw2 > 5 && lijinw3 > 7 && lijinw4 > 9) {
            lijinw[i] = 3;
        } elseif (lijinw1 > 4 && lijinw2 > 6 && lijinw3 > 8 && lijinw4 > 10 && lijinw5 > 12) {
            lijinw[i] = 4;
        }
    }

    return lijinw;
}

風險提示:本指標僅供技術研究與學習交流使用。資本市場具有高度不確定性,任何基于本指標的投資決策都需要自行承擔風險,不構成任何投資建議。

圖片

圖片



    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多