ईएसएसएमए

लेखक:चाओझांग, दिनांकः 2022-05-12 15:19:33
टैगःईएमएएसएमएडब्ल्यूएमएआरएमएएटीआर

अवधारणा:

बड़ी संख्या में चलती औसत उपलब्ध हैं।

हालांकि, वे अलग तरह से प्रभावी होते हैं।

रुझानों की पुष्टि और अनुवर्ती कार्रवाई के लिए बड़ी संख्या में चलती औसत का अलग-अलग तरीके से उपयोग करना आवश्यक है।

यहाँ अवधारणा एक संयोजन चलती औसत उत्पन्न करने के लिए है, प्रत्येक एमए प्रकार को प्रवृत्ति की पुष्टि की उच्च डिग्री प्रदान करने के लिए भारित किया जा सकता है।

वजन सेटिंग्स में विन्यास योग्य हैं, और एक नमूना के रूप में 50 लंबाई का उपयोग किया गया है।

एटीआर ने अच्छा परिणाम नहीं दिया, इसलिए इसे वैकल्पिक रखा गया है।

स्रोत को संशोधित किया जा सकता है।

यह सूचक बड़े समय सीमा में अच्छा प्रतिरोध समर्थन मूल्य प्रदान करता है. और यह भी एक ब्रेकआउट और ब्रेकडाउन संकेत प्रदान करता है. के माध्यम से पालन ज्यादातर प्रभावी है.

सतर्कता की स्थिति को इस प्रकार बनाया गया है कि इसे सीधे डिस्कॉर्ड पर ले जाया जा सके।

अलर्ट के लिए किसी को अपना संदेश कॉन्फ़िगर करना होगा।

खुश व्यापार.

img


/*backtest
start: 2022-04-11 00:00:00
end: 2022-05-10 23:59:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bhavishya

//@version=5
indicator("ESSMA", overlay=true)
//inputs
source = input(close, "Source", group="Source")
length1 = input(50, "Length1", group = "Length")


w1 = input.float(2.0, "SMA Weight", group="Weights")
w2 = input.float(2.0, "EMA Weight", group="Weights")
w3 = input.float(2.0, "WMA Weight", group="Weights")
w4 = input.float(2.0, "SMMA Weight", group="Weights")
w5 = input.float(2.0, "RMA Weight", group="Weights")


useatr = input.bool(false, "Use ATR", group="ATR")

atrLen    = input.int(title="ATR Length", defval=14, group="ATR")

// functions

smma(src, length) =>
	smma =  0.0
	smma := na(smma[2]) ? ta.sma(src, length) : (smma[2] * (length - 1) + src) / length
	smma

essma(src,length) => 
    essma = 0.0
    
    smma = smma(src * w4,length) 
    ema = ta.ema(src * w2, length) 
    sma = ta.sma(src * w1, length) 
    wma = ta.wma(src * w3, length) 
    rma = ta.rma(src * w5, length) 
    
    essma := (smma/w4+ema/w2+sma/w1 - wma/w3 - rma/w5 + open + close)/(3) 
    essma
// calucations

// atr and MAs

atr = ta.atr(atrLen)

usesource = useatr ? atr : source

essma1 = essma(usesource, length1)
sessma1 = ta.wma(essma1, length1)
// plots


p1 = plot(essma1, "ESSMA", color.green)

ps1 = plot(sessma1, "ESSMA Smooth", color.red)

bool up = na
bool down = na

if (ta.crossover(essma1,sessma1))
    up := true
    
    
if (ta.crossunder(essma1, sessma1))
    down := true
    
plotshape(up, style=shape.labelup, location = location.belowbar, color=color.lime, text="B", textcolor=color.black)
plotshape(down, style=shape.labeldown, location = location.abovebar, color=color.orange, text="S", textcolor=color.black)


// alerts

alertcondition(up, "ESSMA UP", '{"content":"ESSMA BUY @ {{close}}" : "{{ticker}} int : {{interval}} - essma : {{plot_0}} / sessma {{plot_1}}"}')
alertcondition(down, "ESSMA DOWN", '{"content":"ESSMA SELL @ {{close}}" : "{{ticker}} int : {{interval}} -  essma :{{plot_0}} /sessma : {{plot_1}}"}')

if up
    strategy.entry("Enter Long", strategy.long)
else if down
    strategy.entry("Enter Short", strategy.short)

संबंधित

अधिक