0% found this document useful (0 votes)
25 views

ATFADX4

Uploaded by

originspica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

ATFADX4

Uploaded by

originspica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

//@version=5

indicator("Multi-Timeframe ADX and DI Bands with Signals4", overlay=true,


shorttitle="MTFADX4")

// --------------------
// INPUT PARAMETERS
// --------------------
adxLength = input.int(14, title='ADX Length')
adxSmoothing = input.int(14, title='ADX Smoothing Length')

// ADX Colors
adxColor = input.color(color.black, title='ADX Color')
adxRisingColor = input.color(color.aqua, title='ADX Rising Color')
adxFallingColor = input.color(color.gray, title='ADX Falling Color')
enableADxCloud = input.bool(true, title='Enable ADX Cloud')
cloudADXColor = input.color(color.black, title='Cloud ADX Color')
cloudADXRisingColor = input.color(color.teal, title='Cloud ADX Rising Color')
cloudADXFallingColor = input.color(color.red, title='Cloud ADX Falling Color')
cloudADXSensitivity = input.int(5, title='Cloud ADX Sensitivity')

// DI Colors
diColorUp = input.color(color.olive, title='DI+ Color')
diColorUpRising = input.color(color.lime, title='DI+ Rising Color')
diColorUpFalling = input.color(color.silver, title='DI+ Falling Color')
diColorDown = input.color(color.red, title='DI- Color')
diColorDownRising = input.color(color.fuchsia, title='DI- Rising Color')
diColorDownFalling = input.color(color.maroon, title='DI- Falling Color')
enableDICloud = input.bool(true, title='Enable DI Cloud')
cloudDIColorUp = input.color(color.lime, title='Cloud DI+ Color')
cloudDIColorUpRising = input.color(color.green, title='Cloud DI+ Rising Color')
cloudDIColorUpFalling = input.color(color.aqua, title='Cloud DI+ Falling Color')
cloudDIColorDown = input.color(color.red, title='Cloud DI- Color')
cloudDIColorDownRising = input.color(color.olive, title='Cloud DI- Rising Color')
cloudDIColorDownFalling = input.color(color.red, title='Cloud DI- Falling Color')

// Intensity Parameters
highIntensity = input.int(80, title='High Intensity Threshold')
mediumIntensity = input.int(50, title='Medium Intensity Threshold')
lowIntensity = input.int(20, title='Low Intensity Threshold')
dynamicIntensitySensitivity = input.int(5, title='Dynamic Intensity Sensitivity')
enableIntensityCloud = input.bool(true, title='Enable Intensity Cloud')
cloudIntensityColor = input.color(color.purple, title='Cloud Intensity Color')
cloudIntensityRisingColor = input.color(color.aqua, title='Cloud Intensity Rising
Color')
cloudIntensityFallingColor = input.color(color.red, title='Cloud Intensity Falling
Color')
dynamicIntensityThreshold = input.int(60, title='Dynamic Intensity Threshold')

// Timeframes
res1 = input.timeframe("60", title='Primary Timeframe (TF1)')
res2 = input.timeframe("240", title='Secondary Timeframe (TF2)')
res3 = input.timeframe("D", title='Tertiary Timeframe (TF3)')
show1 = input.bool(true, title='Show TF #1')
show2 = input.bool(true, title='Show TF #2')
show3 = input.bool(true, title='Show TF #3')
enableTF1Cloud = input.bool(true, title='Enable TF1 Cloud')
enableTF2Cloud = input.bool(true, title='Enable TF2 Cloud')
enableTF3Cloud = input.bool(true, title='Enable TF3 Cloud')
cloudColorTF1 = input.color(color.lime, title='Cloud Color for TF1')
cloudColorTF2 = input.color(color.yellow, title='Cloud Color for TF2')
cloudColorTF3 = input.color(color.orange, title='Cloud Color for TF3')
cloudTF1RisingColor = input.color(color.green, title='Cloud TF1 Rising Color')
cloudTF1FallingColor = input.color(color.red, title='Cloud TF1 Falling Color')
cloudTF2RisingColor = input.color(color.green, title='Cloud TF2 Rising Color')
cloudTF2FallingColor = input.color(color.red, title='Cloud TF2 Falling Color')
cloudTF3RisingColor = input.color(color.orange, title='Cloud TF3 Rising Color')
cloudTF3FallingColor = input.color(color.red, title='Cloud TF3 Falling Color')
enableAggregatedCloud = input.bool(true, title='Enable Aggregated Cloud')
cloudColorAggregated = input.color(color.gray, title='Cloud Color for Aggregated
Area')

// Signal Settings
showSignals = input.bool(true, title='Show Signals')
signalFadeIntensity = input.int(50, title='Signal Fade Intensity')
enableSignalCloud = input.bool(true, title='Enable Signal Cloud')
cloudColorSignals = input.color(color.aqua, title='Cloud Color for Signals')
cloudSignalRisingColor = input.color(color.silver, title='Cloud Signal Rising
Color')
cloudSignalFallingColor = input.color(color.gray, title='Cloud Signal Falling
Color')

// Correlation and Convergence


enableTimeframeCorrelation = input.bool(true, title='Enable Timeframe Correlation')
showConvergenceDivergence = input.bool(true, title='Show Convergence/Divergence')
enableConvergenceDivergenceCloud = input.bool(true, title='Enable
Convergence/Divergence Cloud')
cloudColorConvergence = input.color(color.gray, title='Cloud Color for
Convergence')
cloudColorDivergence = input.color(color.black, title='Cloud Color for Divergence')
cloudConvergenceRisingColor = input.color(color.green, title='Cloud Convergence
Rising Color')
cloudConvergenceFallingColor = input.color(color.red, title='Cloud Convergence
Falling Color')
cloudDivergenceRisingColor = input.color(color.lime, title='Cloud Divergence Rising
Color')
cloudDivergenceFallingColor = input.color(color.purple, title='Cloud Divergence
Falling Color')

// Market Sentiment and Volatility


volatilityHighThreshold = input.int(20, title='Volatility High Threshold')
volatilityLowThreshold = input.int(10, title='Volatility Low Threshold')
showVolatilityShade = input.bool(true, title='Show Volatility Shade')
enableVolatilityCloud = input.bool(true, title='Enable Volatility Cloud')
cloudColorVolatilityHigh = input.color(color.black, title='Cloud Color for
Volatility High')
cloudColorVolatilityLow = input.color(color.gray, title='Cloud Color for Volatility
Low')
cloudVolatilityHighRisingColor = input.color(color.silver, title='Cloud Volatility
High Rising Color')
cloudVolatilityLowFallingColor = input.color(color.black, title='Cloud Volatility
Low Falling Color')

// --------------------
// FUNCTION DEFINITIONS
// --------------------
calc_ADX_DI(_res) =>
[diPlus, diMinus, adx] = ta.dmi(adxLength, adxSmoothing)
[diPlus, diMinus, adx]
// Fetch data from different timeframes
[diPlus1, diMinus1, adx1] = request.security(syminfo.tickerid, res1,
calc_ADX_DI(res1))
[diPlus2, diMinus2, adx2] = request.security(syminfo.tickerid, res2,
calc_ADX_DI(res2))
[diPlus3, diMinus3, adx3] = request.security(syminfo.tickerid, res3,
calc_ADX_DI(res3))

// Intensity Calculation
intensityUp1 = diPlus1 != 0 ? (diPlus1 - diPlus1) * 100 / diPlus1 : 0
intensityDown1 = diMinus1 != 0 ? (diMinus1 - diMinus1) * 100 / diMinus1 : 0
intensityUp2 = diPlus2 != 0 ? (diPlus2 - diPlus2) * 100 / diPlus2 : 0
intensityDown2 = diMinus2 != 0 ? (diMinus2 - diMinus2) * 100 / diMinus2 : 0
intensityUp3 = diPlus3 != 0 ? (diPlus3 - diPlus3) * 100 / diPlus3 : 0
intensityDown3 = diMinus3 != 0 ? (diMinus3 - diMinus3) * 100 / diMinus3 : 0

// Determine color shades based on intensity


colorUpHigh1 = color.new(diColorUp, intensityUp1 > highIntensity ? 0 : 80)
colorDownHigh1 = color.new(diColorDown, intensityDown1 > highIntensity ? 0 : 80)

colorUpHigh2 = color.new(diColorUp, intensityUp2 > highIntensity ? 0 : 80)


colorDownHigh2 = color.new(diColorDown, intensityDown2 > highIntensity ? 0 : 80)

colorUpHigh3 = color.new(diColorUp, intensityUp3 > highIntensity ? 0 : 80)


colorDownHigh3 = color.new(diColorDown, intensityDown3 > highIntensity ? 0 : 80)

// Plot Signals (if enabled)

plotshape(series=show1 and diPlus1 > diMinus1 and diPlus1[1] <= diMinus1[1],


location=location.belowbar, color=diColorUp, style=shape.circle, size=size.tiny,
title='Signal DI+ TF1')
plotshape(series=show1 and diPlus1 < diMinus1 and diPlus1[1] >= diMinus1[1],
location=location.abovebar, color=diColorDown, style=shape.circle, size=size.tiny,
title='Signal DI- TF1')

plotshape(series=show2 and diPlus2 > diMinus2 and diPlus2[1] <= diMinus2[1],


location=location.belowbar, color=diColorUp, style=shape.circle, size=size.tiny,
title='Signal DI+ TF2')
plotshape(series=show2 and diPlus2 < diMinus2 and diPlus2[1] >= diMinus2[1],
location=location.abovebar, color=diColorDown, style=shape.circle, size=size.tiny,
title='Signal DI- TF2')

plotshape(series=show3 and diPlus3 > diMinus3 and diPlus3[1] <= diMinus3[1],


location=location.belowbar, color=diColorUp, style=shape.circle, size=size.tiny,
title='Signal DI+ TF3')
plotshape(series=show3 and diPlus3 < diMinus3 and diPlus3[1] >= diMinus3[1],
location=location.abovebar, color=diColorDown, style=shape.circle, size=size.tiny,
title='Signal DI- TF3')

// Plot Convergence/Divergence Cloud (if enabled)

fill(plot(show1 ? diPlus1 : na, color=cloudColorConvergence, title='Convergence


Cloud TF1'),
plot(show1 ? diMinus1 : na, color=cloudColorDivergence,
title='Divergence Cloud TF1'),
color=diPlus1 > diMinus1 ? cloudConvergenceRisingColor :
cloudDivergenceFallingColor, title='Convergence/Divergence Cloud TF1')
fill(plot(show2 ? diPlus2 : na, color=cloudColorConvergence, title='Convergence
Cloud TF2'),
plot(show2 ? diMinus2 : na, color=cloudColorDivergence,
title='Divergence Cloud TF2'),
color=diPlus2 > diMinus2 ? cloudConvergenceRisingColor :
cloudDivergenceFallingColor, title='Convergence/Divergence Cloud TF2')

fill(plot(show3 ? diPlus3 : na, color=cloudColorConvergence, title='Convergence


Cloud TF3'),
plot(show3 ? diMinus3 : na, color=cloudColorDivergence,
title='Divergence Cloud TF3'),
color=diPlus3 > diMinus3 ? cloudConvergenceRisingColor :
cloudDivergenceFallingColor, title='Convergence/Divergence Cloud TF3')

// Plot Volatility Cloud (if enabled)

fill(plot(show1 ? diPlus1 : na, color=cloudColorVolatilityHigh, title='Volatility


Cloud TF1 High'),
plot(show1 ? diMinus1 : na, color=cloudColorVolatilityLow,
title='Volatility Cloud TF1 Low'),
color=diPlus1 > diMinus1 ? cloudColorVolatilityHigh :
cloudColorVolatilityLow, title='Volatility Cloud TF1')

fill(plot(show2 ? diPlus2 : na, color=cloudColorVolatilityHigh, title='Volatility


Cloud TF2 High'),
plot(show2 ? diMinus2 : na, color=cloudColorVolatilityLow,
title='Volatility Cloud TF2 Low'),
color=diPlus2 > diMinus2 ? cloudColorVolatilityHigh :
cloudColorVolatilityLow, title='Volatility Cloud TF2')

fill(plot(show3 ? diPlus3 : na, color=cloudColorVolatilityHigh, title='Volatility


Cloud TF3 High'),
plot(show3 ? diMinus3 : na, color=cloudColorVolatilityLow,
title='Volatility Cloud TF3 Low'),
color=diPlus3 > diMinus3 ? cloudColorVolatilityHigh :
cloudColorVolatilityLow, title='Volatility Cloud TF3')

You might also like