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