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

分享

人工智能AI學(xué)量化:SuperTrend超級(jí)趨勢(shì)創(chuàng)新通道指標(biāo)

 石豐布衣 2025-03-18 發(fā)布于廣東

各位老鐵,今天給大家說說一個(gè)很深度的主圖指標(biāo)——多維度波動(dòng)率通道。這可不是普通的指標(biāo),它在傳統(tǒng)指標(biāo)的基礎(chǔ)上進(jìn)行了深度創(chuàng)新改良,先來說說它的幾個(gè)核心部分。

一、SuperTrend超級(jí)趨勢(shì)創(chuàng)新通道簡(jiǎn)介

(一)改良版ATR機(jī)制

傳統(tǒng)ATR(平均真實(shí)波幅)大家都熟悉吧,但這個(gè)改良版的ATR可就有深度了。它采用了 MAX[(H-L), |REF(C,1)-H|, |REF(C,1)-L|] 的計(jì)算方式。

Image

簡(jiǎn)單來說,就是把當(dāng)天的最高價(jià)和最低價(jià)的差值、昨天收盤價(jià)和今天最高價(jià)的差值的絕對(duì)值、昨天收盤價(jià)和今天最低價(jià)的差值的絕對(duì)值,這三者中最大的那個(gè)作為當(dāng)天的TR值。這么一來,它對(duì)極端波動(dòng)的捕捉能力就大大增強(qiáng)了,比傳統(tǒng)ATR靈敏多了,能更快地感知市場(chǎng)的大幅波動(dòng)。

(二)動(dòng)態(tài)通道

這個(gè)指標(biāo)的動(dòng)態(tài)通道也很有講究。它以中軌(H+L)/2為中心,然后在這個(gè)基礎(chǔ)上疊加 MA(TR1,N)*M 來構(gòu)造非對(duì)稱帶寬。這就打破了傳統(tǒng)布林帶那種靜態(tài)標(biāo)準(zhǔn)差邏輯的局限,讓通道能夠根據(jù)市場(chǎng)的波動(dòng)情況動(dòng)態(tài)調(diào)整,更好地適應(yīng)市場(chǎng)的變化。

Image

(三)自適應(yīng)趨勢(shì)線(SUPERTREN)

這個(gè)趨勢(shì)線可不是簡(jiǎn)單的均線,它通過遞歸條件判斷(LIJIN3/Z1/Z2)來動(dòng)態(tài)切換趨勢(shì)方向,還能結(jié)合歷史信號(hào)回溯(BARSLAST)精確捕捉趨勢(shì)延續(xù)或反轉(zhuǎn)的臨界點(diǎn)。這就相當(dāng)于給趨勢(shì)線裝上了“眼睛”和“大腦”,讓它能夠敏銳地感知市場(chǎng)的趨勢(shì)變化。

(四)雙狀態(tài)閾值分離

LIJINZ1(綠線)和LIJINZ2(紅線)是這個(gè)指標(biāo)的兩個(gè)重要參考線,它們可以很好地區(qū)分多空,避免了傳統(tǒng)指標(biāo)那種滯后性的問題。綠線代表多頭信號(hào),紅線代表空頭信號(hào),通過這兩條線,我們可以更清晰地判斷市場(chǎng)的多空力量對(duì)比。

(五)復(fù)合加權(quán)均線系統(tǒng)

LIJINW這個(gè)加權(quán)均線也很有特點(diǎn),它采用20周期線性衰減權(quán)重,公式是(20A + 19REF(A,1) + ... + REF(A,20))/210。這種加權(quán)方式賦予了近期價(jià)格更高的權(quán)重,同時(shí)削弱了早期的噪聲,讓均線更能反映市場(chǎng)的近期走勢(shì)。而D線則是LIJINW的10周期平滑,和LIJINW一起形成了一個(gè)帶狀區(qū)間(DRAWBAND),通過這個(gè)帶狀區(qū)間,我們可以監(jiān)測(cè)動(dòng)量的收斂和發(fā)散情況。

Image

二、趨勢(shì)判斷邏輯

這個(gè)指標(biāo)的趨勢(shì)判斷邏輯也很強(qiáng)大,主要有以下幾個(gè)方面。

(一)波動(dòng)突破驅(qū)動(dòng)

當(dāng)價(jià)格突破UP通道時(shí),就會(huì)觸發(fā)潛在的多頭信號(hào);而當(dāng)下穿DN通道時(shí),則會(huì)強(qiáng)化空頭信號(hào)。這就相當(dāng)于給市場(chǎng)設(shè)了一個(gè)“警戒線”,一旦價(jià)格突破這個(gè)警戒線,就可能預(yù)示著趨勢(shì)的改變。

(二)SUPERTREN切換

通過D6與YX6周期數(shù)的對(duì)比(BY/SL交叉),可以判斷趨勢(shì)是延續(xù)還是反轉(zhuǎn)。這就像是給趨勢(shì)線裝了一個(gè)“開關(guān)”,能夠及時(shí)地切換趨勢(shì)的方向。

(三)遞歸信號(hào)驗(yàn)證

Z2信號(hào)要求價(jià)格在Z1周期內(nèi)連續(xù)突破LIJIN3或其滯后值(REF(LIJIN3,2)),這樣可以避免假突破的情況。同時(shí),在趨勢(shì)周期內(nèi)取極值構(gòu)建支撐/阻力,形成自適應(yīng)軌道,這樣就能更好地把握趨勢(shì)的支撐和阻力位。

Image
通達(dá)信SuperTrend超級(jí)趨勢(shì)通道指標(biāo)
DRAWGBK(C>0,RGB(0,0,20),RGB(00,0,0),0,0,1);N:=20;M:=3;TR1:=MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW));UP:=(H+L)/2+MA(TR1,N)*M;DN:=(H+L)/2-MA(TR1,N)*M;LIJIN:=REF(UP,BARSLAST(UP<=REF(UP,1)));LIJIN2:=LLV(UP,N*1.5);LIJIN3:=IF(LIJIN2<>REF(LIJIN2,1)&&LIJIN<REF(LIJIN,1),LIJIN,IF(LIJIN=LIJIN2,LIJIN,LIJIN2));Z1:=BARSLAST(CROSS(0.5,UP=LIJIN3))+1;Z2:=CROSS(COUNT((CROSS(C,LIJIN3)||CROSS(C,REF(LIJIN3,2)))&&UP>LIJIN3,Z1),0.5);YX6:=BARSLAST(Z2);D6:=BARSLAST(CROSS(HHV(DN,YX6+1),C));BY:=CROSS(D6,YX6);SL:=CROSS(YX6,D6);SUPERTREN:=IF(D6>YX6,HHV(DN,BARSLAST(BY)+1),LLV(UP,BARSLAST(SL)+1));LIJINZ1:IF(D6<=YX6,SUPERTREN,DRAWNULL),COLORGREEN,LINETHICK2;LIJINZ2:IF(D6>YX6,SUPERTREN,DRAWNULL),COLORRED,LINETHICK2;M2:=10;A:=(3*C+L+O+H)/6;LIJINW:(20*A+19*REF(A,1)+18*REF(A,2)+17*REF(A,3)+16*REF(A,4)+15*REF(A,5)+14*REF(A,6)+13*REF(A,7)+12*REF(A,8)+11*REF(A,9)+10*REF(A,10)+9*REF(A,11)+8*REF(A,12)+7*REF(A,13)+6*REF(A,14)+5*REF(A,15)+4*REF(A,16)+3*REF(A,17)+2*REF(A,18)+REF(A,20))/210,COLORWHITE;D:MA(LIJINW,M2),COLORYELLOW;DRAWBAND(D,RGB(0,224,224),LIJINW,RGB(255,96,96));DRAWKLINE(H,O,L,C);LIJIN18:=((SMA(MAX((CLOSE-REF(CLOSE,1)),0),6,1)/SMA(ABS((CLOSE-REF(CLOSE,1))),6,1))*100);DRAWTEXT(CROSS(80,LIJIN18),(HIGH),'★短跑'),COLORFFDDEE;DRAWTEXT(CROSS(LIJIN18,20),(LOW),'★機(jī)會(huì)'),COLORRED;STICKLINE(C<LIJINW,C,O,3,0),COLORBLUE;STICKLINE(C<LIJINW,H,L,0,0),COLORBLUE;STICKLINE(C>=LIJINW,C,O,3,0),COLORYELLOW;STICKLINE(C>=LIJINW,H,L,0,0),COLORYELLOW;STICKLINE(C>=LIJINW&&C>O,C,O,3,0),COLORRED;
Image

四、總結(jié)指標(biāo)評(píng)價(jià)

這個(gè)指標(biāo)可以說是融合了波動(dòng)率自適應(yīng)、遞歸條件驗(yàn)證、動(dòng)量加權(quán)三重邏輯的高階趨勢(shì)跟蹤系統(tǒng)。它對(duì)趨勢(shì)啟動(dòng)和終結(jié)的捕捉效率顯著高于傳統(tǒng)Supertrend,非常適合中長(zhǎng)線持倉(cāng)策略。不過,它也有一些局限性。比如參數(shù)敏感性比較高,N=20/M=3/M2=10這些參數(shù)需要根據(jù)不同的品種進(jìn)行調(diào)優(yōu)。而且在低波動(dòng)震蕩市中,它可能會(huì)比較頻繁地切換信號(hào)。不過,瑕不掩瑜,這個(gè)指標(biāo)的創(chuàng)新點(diǎn)也很突出。它將BARSLAST與CROSS函數(shù)嵌套,構(gòu)建了離散事件驅(qū)動(dòng)型狀態(tài)機(jī),替代了傳統(tǒng)連續(xù)型指標(biāo)計(jì)算,這在技術(shù)上是一個(gè)很大的突破。

總之,這個(gè)多維度波動(dòng)率通道指標(biāo)是一個(gè)很強(qiáng)大的工具,但大家在使用的時(shí)候也要結(jié)合自己的實(shí)際情況,配合成交量或宏觀因子過濾,這樣才能更好地發(fā)揮它的作用,提升勝率。

SuperTrend超級(jí)趨勢(shì)通道指標(biāo)C++開源代碼
#include <iostream>
#include <vector>
#include <cmath>

usingnamespacestd;

struct FinancialData {
    double open;
    double close;
    double high;
    double low;
};

// 計(jì)算TR1
vector<doublecalculateTR1(const vector<FinancialData>& data) {
    int n = data.size();
    vector<doubletr1(n, 0.0);
    for (int i = 1; i < n; ++i) {
        double high_low = data[i].high - data[i].low;
        double abs_close_high = abs(data[i-1].close - data[i].high);
        double abs_close_low = abs(data[i-1].close - data[i].low);
        tr1[i] = max(max(high_low, abs_close_high), abs_close_low);
    }
    return tr1;
}

// 計(jì)算UP和DN
pair<vector<double>, vector<double>> calculateUPDN(const vector<FinancialData>& data, int N, int M) {
    int n = data.size();
    vector<doubleup(n, 0.0);
    vector<doubledn(n, 0.0);
    vector<double> tr1 = calculateTR1(data);
    
    for (int i = 0; i < n; ++i) {
        double hl_avg = (data[i].high + data[i].low) / 2.0;
        if (i >= N) {
            double ma_tr1 = 0.0;
            for (int j = i - N + 1; j <= i; ++j) {
                ma_tr1 += tr1[j];
            }
            ma_tr1 /= N;
            up[i] = hl_avg + ma_tr1 * M;
            dn[i] = hl_avg - ma_tr1 * M;
        } else {
            up[i] = hl_avg;
            dn[i] = hl_avg;
        }
    }
    return make_pair(up, dn);
}

// 計(jì)算LIJIN3
double calculateLIJIN3(const vector<double>& up) {
    int n = up.size();
    double lijin3 = up[0];
    for (int i = 1; i < n; ++i) {
        if (up[i] != up[i-1] && up[i] < up[i-1]) {
            lijin3 = up[i];
        } elseif (up[i] == up[i-1]) {
            lijin3 = up[i];
        } else {
            lijin3 = up[i-1];
        }
    }
    return lijin3;
}

// 計(jì)算Z1和Z2
pair<intintcalculateZ1Z2(const vector<double>& up, const vector<double>& dn, int N) {
    int n = up.size();
    int z1 = 0;
    int z2 = 0;
    
    // 計(jì)算Z1
    for (int i = 0; i < n; ++i) {
        if (i > 0 && up[i] > up[i-1]) {
            z1 = i + 1;
            break;
        }
    }
    
    // 計(jì)算Z2
    for (int i = 0; i < n; ++i) {
        if (i > 0 && (up[i] > calculateLIJIN3(up) || dn[i] > calculateLIJIN3(up))) {
            z2 = i + 1;
            break;
        }
    }
    
    return make_pair(z1, z2);
}

// 計(jì)算SUPERTREN
vector<doublecalculateSUPERTREN(const vector<double>& up, const vector<double>& dn, int N) {
    int n = up.size();
    vector<doublesupertren(n, 0.0);
    int last_by = -1;
    int last_sl = -1;
    
    for (int i = 0; i < n; ++i) {
        if (i > 0) {
            if (dn[i] > up[i]) {
                if (last_by == -1) {
                    last_by = i;
                }
                supertren[i] = dn[i];
            } else {
                if (last_sl == -1) {
                    last_sl = i;
                }
                supertren[i] = up[i];
            }
        } else {
            supertren[i] = (up[i] + dn[i]) / 2.0;
        }
    }
    return supertren;
}

// 計(jì)算LIJINW
vector<doublecalculateLIJINW(const vector<FinancialData>& data, int M2) {
    int n = data.size();
    vector<doublelijinw(n, 0.0);
    
    for (int i = 0; i < n; ++i) {
        double a = (3 * data[i].close + data[i].low + data[i].open + data[i].high) / 6.0;
        double weighted_sum = 0.0;
        for (int j = 0; j < 20; ++j) {
            if (i - j >= 0) {
                weighted_sum += (20 - j) * a;
            }
        }
        lijinw[i] = weighted_sum / 210.0;
    }
    
    // 計(jì)算D
    vector<doubled(n, 0.0);
    for (int i = 0; i < n; ++i) {
        if (i >= M2) {
            double sum = 0.0;
            for (int j = i - M2 + 1; j <= i; ++j) {
                sum += lijinw[j];
            }
            d[i] = sum / M2;
        } else {
            d[i] = lijinw[i];
        }
    }
    
    return d;
}

風(fēng)險(xiǎn)提示:本指標(biāo)僅供技術(shù)研究與學(xué)習(xí)交流使用。資本市場(chǎng)具有高度不確定性,任何基于本指標(biāo)的投資決策都需要自行承擔(dān)風(fēng)險(xiǎn),不構(gòu)成任何投資建議。

Image

Image




學(xué)習(xí)分享



學(xué)術(shù)交流:我們專注于市場(chǎng)的學(xué)術(shù)交流與研究包括自用指標(biāo)抄底逃頂零滯后均線最速曲線,以及期貨自動(dòng)化和股票自動(dòng)化學(xué)習(xí)

分享知識(shí):田都元帥,敬神常在,愛人如己,我為人人,與人為善,分享快樂!

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多