톰 데마크 연속 열 지도

저자:차오장, 날짜: 2022-05-08 17:19:47
태그:추세

이 지표는 Tom DeMark의 TD 순서 계산을 1에서 13까지 사용합니다. 9번과 13번은 일반적으로 마감된 트렌드를 표시하고 트렌드 반전을 나타냅니다. 중요한 숫자는 라벨 (7-13) 으로 표시되며, 9과 13은 모두 Long 또는 Short로 강조됩니다.

숫자 외에도 가격 촛불은 순서에 따라 색칠됩니다. 상승 색상은 밝은 노란색 (TD 1 = 트렌드 시작) 에서 어두운 빨간색 (TD 13 = 트렌드 마감) 으로 시작합니다. 하향색은 밝은 파란색 (TD 1 = 트렌드 시작) 에서 어두운 파란색 (TD 13 = 트렌드 마감) 으로 시작합니다.

데마크는 단기 가격 반전에만 사용하라고 권장하지만 차트에서 볼 수 있듯이 LUNA 1D 차트에도 효과가 있습니다. 하이킨 아시 촛불과도 잘 어울립니다.

예를 들어 톰 데마크 압력 비율과 결합하여 꼭대기와 바닥을 찾습니다. 시간 프레임을 변경하고, 라벨/바 컬러를 비활성화하고, 색상을 마음에 맞게 조정할 수 있습니다.

코드를 최적화하는 방법에 대한 아이디어가 있다면, 공유하는 것을 자유자재로 느끼십시오

백테스트

img


////////////////////////////////////////// Tom DeMark heatmap © by Indicator-Jones /////////////////////////////////////////
//
// This indicator uses Tom DeMark’s TD Sequential counting from 1 to 13. 
// Number 9 and 13 usually identify an exhausted trend and mark trend reversal.
// The important numbers get displayed as labels (7-13), where 9 and 13 are both highlighted as "Long" or "Short".
// Besides the numbers the price candles are colored based upon the sequence.
// Bullish colors are starting from bright yellow (TD 1 = start of trend) to dark red (TD 13 = trend exhausted)
// Bearish colors are starting from bright blue (TD 1 = start of trend) to dark blue (TD 13 = trend exhausted)
//
// DeMark recommends to be used for short term price reversals only but as you can see in the chart, it also works for LUNA 1D chart.
// Also works very well with Heikin Ashi candles.
// Use it in combination with for example the "Tom DeMark Pressure Ratio" to find tops and bottoms.
// You can change the timeframes, disable lables/barcolor and customise colors to your liking.
//
// If you have any idea on how to optimise the code, please feel free to share :)
// 
// Inspired by "Stochastic Heat Map" from @Violent
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//@version=5
indicator(title='Tom DeMark Sequential Heat Map', shorttitle='TD heatmap', overlay=true, timeframe='')
//A heat map for TD counts. If you find this useful or yank the code, please consider a donation :)

// -------- Inputs --------
paintBars = input(title='Paint Bars', defval=true)
showLabels = input(title='Show labels', defval=true)

buy_col = input(#32CD32,0,'Colors',inline='col')
sell_col = input(#F44336,0,'',inline='col')
text_col = input(#FFFFFF,0,'',inline='col')


// -------- Bearish trend (blue) color selection --------
getBuyColor(count) =>
    if count == 1
        color.new(#11e7f2,0)
    else
        if count == 2
            color.new(#11d9f2,0)
        else
            if count == 3
                color.new(#11cbf2,0)
            else
                if count == 4
                    color.new(#11aff2,0)
                else
                    if count == 5
                        color.new(#1193f2,0)
                    else
                        if count == 6
                            color.new(#1176f2,0)
                        else
                            if count == 7
                                color.new(#105df4,0)
                            else
                                if count == 8
                                    color.new(#1051f5,0)
                                else
                                    if count == 9
                                        color.new(#0f44f5,0)
                                    else
                                        if count == 10
                                            color.new(#0c3de0,0)
                                        else
                                            if count == 11
                                                color.new(#0935ca,0)
                                            else
                                                if count == 12
                                                    color.new(#062eb4,0)
                                                else
                                                    if count == 13
                                                        color.new(#02269e,0)

// -------- Bullish trend (blue) color selection --------
getSellColor(count) =>
    if count == 1
        color.new(#eef211,0)
    else
        if count == 2
            color.new(#efdc11,0)
        else
            if count == 3
                color.new(#f0c511,0)
            else
                if count == 4
                    color.new(#f1af11,0)
                else
                    if count == 5
                        color.new(#f29811,0)
                    else
                        if count == 6
                            color.new(#f28811,0)
                        else
                            if count == 7
                                color.new(#f27811,0)
                            else
                                if count == 8
                                    color.new(#f26811,0)
                                else
                                    if count == 9
                                        color.new(#f25811,0)
                                    else
                                        if count == 10
                                            color.new(#ea420d,0)
                                        else
                                            if count == 11
                                                color.new(#e12c09,0)
                                            else
                                                if count == 12
                                                    color.new(#d81605,0)
                                                else
                                                    if count == 13
                                                        color.new(#cf0000,0)

// -------- Calculate bearish trend sequence --------
buySetup = 0
buySetup := close < close[4] ? buySetup[1] == 13 ? 1 : buySetup[1] + 1 : 0


// -------- Calculate bullish trend sequence --------
sellSetup = 0
sellSetup := close > close[4] ? sellSetup[1] == 13 ? 1 : sellSetup[1] + 1 : 0


// -------- Paint bars --------
barColour = buySetup >= 1 ? getBuyColor(buySetup) : sellSetup >= 1 ? getSellColor(sellSetup) : na
//barcolor(paintBars ? barColour : na, title='Bar colors (heatmap)')


if buySetup == 13
    strategy.entry("Enter Long", strategy.long)
else if sellSetup == 13
    strategy.entry("Enter Short", strategy.short)

관련

더 많은