यह सरल चलती औसत (एसएमए), घातीय चलती औसत (ईएमए), केल्टनर चैनलों, एमएसीडी संकेतक और स्टोचैस्टिक ऑसिलेटर पर आधारित एक अल्पकालिक मात्रात्मक ट्रेडिंग रणनीति है। यह एसएमए और ईएमए के मूल्य सफलता का उपयोग करता है, जो केल्टनर चैनलों, एमएसीडी और स्टोचैस्टिक के लंबे और छोटे संकेतों के साथ संयुक्त है ताकि ट्रेडिंग प्रविष्टियों और निकास को स्वचालित किया जा सके।
यह रणनीति दोहरी चलती औसत रेखाओं का निर्माण करने के लिए 25-अवधि एसएमए, 200-अवधि ईएमए का उपयोग करती है। जब कीमत दोहरी चलती औसत को ऊपर की ओर तोड़ती है, तो एक खरीद संकेत उत्पन्न होता है। जब कीमत दोहरी चलती औसत को नीचे की ओर तोड़ती है, तो एक बिक्री संकेत उत्पन्न होता है।
साथ ही, यह रणनीति 10-अवधि केल्टनर चैनलों का उपयोग करती है। चैनल के ऊपरी और निचले बैंड का ब्रेकडाउन भी सहायक संकेतों के रूप में कार्य करता है। एमएसीडी संकेतक अपनी तेज रेखा, धीमी रेखा और हिस्टोग्राम के साथ ट्रेडिंग संकेत उत्पन्न करता है। स्टोकैस्टिक ऑसिलेटर अपने %K लाइन और %D लाइन के स्वर्ण क्रॉस और मृत क्रॉस के साथ लंबे और छोटे संकेत भी बनाता है।
विशेष रूप से, जब बंद मूल्य एसएमए और ईएमए दोनों से ऊपर है, और केल्टनर चैनलों के भीतर, एमएसीडी हिस्टोग्राम नकारात्मक है और स्टोकैस्टिक % के 50 से नीचे है, तो एक लंबा प्रवेश संकेत ट्रिगर किया जाता है। जब बंद मूल्य एसएमए और ईएमए दोनों से नीचे है, और केल्टनर चैनलों के भीतर, एमएसीडी हिस्टोग्राम सकारात्मक है और स्टोकैस्टिक % के 50 से ऊपर है, तो एक छोटा प्रवेश संकेत ट्रिगर किया जाता है।
यह रणनीति चार आम तौर पर उपयोग किए जाने वाले तकनीकी संकेतकों को एकीकृत करती है - चलती औसत, चैनल, एमएसीडी और स्टोकैस्टिक। यह मूल्य सफलता के आधार पर लंबी / छोटी निर्धारित करता है, एक विशिष्ट अल्पकालिक मात्रात्मक ट्रेडिंग रणनीति। एकल संकेतक रणनीतियों की तुलना में, इसके कई संकेतक संयोजन सिग्नल सटीकता में सुधार करते हैं और आगे परीक्षण और अनुकूलन के लायक हैं।
/*backtest start: 2022-12-15 00:00:00 end: 2023-12-21 00:00:00 period: 1d basePeriod: 1h 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/ // © exlux99 //@version=5 strategy(title="Scalping Trading System Crypto and Stocks", overlay=true) src = input(low, title="Source") //sma and ema len = input.int(25, minval=1, title="Length SMA" , group="Moving Averages") len2 = input.int(200, minval=1, title="Length EMA", group="Moving Averages") out = ta.sma(src, len) out2 = ta.ema(src, len2) //keltner lengthk = input.int(10, minval=1, title="Length Keltner Channel",group="Keltner") mult = input(2.0, "Multiplier",group="Keltner") BandsStyle = input.string("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style",group="Keltner") atrlength = input(14, "ATR Length",group="Keltner") ma = ta.sma(src, lengthk) rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, lengthk) upper = ma + rangema * mult lower = ma - rangema * mult //stoch periodK = input.int(10, title="%K Length", minval=1,group="Stochastic") smoothK = input.int(1, title="%K Smoothing", minval=1,group="Stochastic") periodD = input.int(1, title="%D Smoothing", minval=1,group="Stochastic") k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) //macd 1 fast_length = input(title="Fast Length MACD", defval=4,group="MACD Fast") slow_length = input(title="Slow Length MACD", defval=34,group="MACD Fast") signal_length = input.int(title="Signal Smoothing MACD", minval = 1, maxval = 50, defval = 5,group="MACD Fast") sma_source = input.string(title="Oscillator MA Type MACD", defval="EMA", options=["SMA", "EMA"],group="MACD Fast") sma_signal = input.string(title="Signal Line MA Type MACD", defval="EMA", options=["SMA", "EMA"],group="MACD Fast") fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal long= close > out and close < upper and close > lower and hist < 0 and k < 50 and close > out2 short= close < out and close < upper and close > lower and hist > 0 and k > 50 and close < out2 strategy.entry("long",strategy.long,when= long) strategy.entry("short",strategy.short,when=short)