এটি একটি স্বল্পমেয়াদী পরিমাণগত ট্রেডিং কৌশল যা সিম্পল মুভিং এভারেজ (এসএমএ), এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ), কেল্টনার চ্যানেল, এমএসিডি সূচক এবং স্টোকাস্টিক দোলকের উপর ভিত্তি করে। এটি কেল্টনার চ্যানেল, এমএসিডি এবং স্টোকাস্টিক থেকে দীর্ঘ এবং সংক্ষিপ্ত সংকেতগুলির সাথে সংযুক্ত এসএমএ এবং ইএমএর মূল্যের অগ্রগতি ব্যবহার করে ট্রেডিং এন্ট্রি এবং প্রস্থানগুলি স্বয়ংক্রিয় করতে।
কৌশলটি দ্বৈত চলমান গড় রেখা তৈরি করতে 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)