ডাবল ইএমএ ব্রেক ট্রেডিং কৌশল হল একটি ট্রেন্ড ট্র্যাকিং কৌশল যা দুইটি ভিন্ন চক্রের ইএমএর মধ্যমরেখার ব্যবহার করে বিক্রয় সংকেত বিচার করে। এই কৌশলটি ট্রেডিং সংকেত ফিল্টারিংয়ের জন্য অতিরিক্ত ইএমএ নির্দেশকগুলির সাথে মিলিত হয়, যা ট্রেন্ডিং বাজারে ভাল প্রবেশের সময়গুলি অর্জন করে।
এই কৌশলটি ক্রয় এবং বিক্রয়ের সময় নির্ধারণের জন্য দ্রুত লাইন EMA (৯ চক্র) এবং ধীর লাইন EMA (২১ চক্র) ব্যবহার করে। যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয় এবং যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়। ভুয়া সংকেতগুলি ফিল্টার করার জন্য, কৌশলটি সহায়ক EMA (৫ চক্র) এবং আরও দুটি EMA (১ চক্র, ৪ চক্র) প্রবর্তন করে। কেবলমাত্র দ্রুত লাইনটি ধীর গতিতে ঘটে যখন সহায়ক EMA দ্রুত লাইনের মধ্যে থাকে এবং 1 চক্র EMA 4 চক্র EMA এর চেয়ে বেশি হয় তখনই সত্যিকারের ট্রেডিং সংকেতটি ট্রিগার করে।
যখন ট্রেডিং সিগন্যালটি ট্রিগার হয়, তখন কৌশলটি এটিআর মানের উপর ভিত্তি করে স্টপ লস এবং স্টপ ট্রিগার সেট করে। টিপি 1 এটিআর এর 6 গুণ, দ্রুত গতিতে আংশিক মুনাফা অর্জনের জন্য ব্যবহৃত হয়। যদি দামটি টিপি 1 ট্রিগার না করে তবে দ্রুত লাইন ইএমএ পুনরায় সহায়ক ইএমএ অতিক্রম করার সময়, এটি সরাসরি অবস্থানটি সমতল করে, টিপি 2 স্টপ ট্রিগারটি অর্জন করে।
অপ্টিমাইজেশানঃ
ডাবল ইএমএ ব্রেকডাউন ট্রেডিং কৌশল দুটি ইএমএর ক্রস ব্যবহার করে প্রবণতা নির্ধারণ করে, একাধিক ইএমএ ফিল্টার এবং এটিআর ডায়নামিক স্টপ লস সহ, প্রবণতা লাভের কার্যকরভাবে ট্র্যাক করতে পারে। তবে ইএমএ কার্ভ ফিটিং, স্টপ লস ঝুঁকি ইত্যাদির বিষয়ে মনোযোগ দেওয়া দরকার। প্যারামিটার অপ্টিমাইজেশন, ঝুঁকি ব্যবস্থাপনা ইত্যাদির মাধ্যমে আরও স্থিতিশীল ট্রেডিং পারফরম্যান্স অর্জন করা যায়। এই কৌশলটি ট্রেন্ডিং বাজারে উচ্চ তহবিল ব্যবহারের জন্য ব্যবহারের জন্য উপযুক্ত।
ডুয়াল ইএমএ ক্রসওভার ট্রেডিং কৌশলটি প্রবণতা দিক সনাক্ত করে ক্রয় এবং বিক্রয় সংকেত তৈরির জন্য বিভিন্ন সময়ের দুটি ইএমএ লাইন ব্যবহার করে। এটি সংকেত ফিল্টারিংয়ের জন্য অতিরিক্ত ইএমএ সূচকগুলিও অন্তর্ভুক্ত করে, ট্রেন্ডিং বাজারে আরও ভাল প্রবেশের সময় দেয়।
কৌশলটি এন্ট্রিগুলি নির্ধারণ করতে একটি দ্রুত ইএমএ লাইন (9 পিরিয়ড) এবং একটি ধীর ইএমএ লাইন (21 পিরিয়ড) ব্যবহার করে। একটি সোনার ক্রস যেখানে দ্রুত ইএমএ ধীর ইএমএ এর উপরে অতিক্রম করে একটি ক্রয় সংকেত তৈরি করে, যখন ধীর ইএমএ এর নীচে দ্রুত ইএমএ অতিক্রম করে একটি মৃত্যুর ক্রস একটি বিক্রয় সংকেত উত্পাদন করে। মিথ্যা সংকেতগুলি ফিল্টার করার জন্য, কৌশলটি একটি সহায়ক ইএমএ (5 পিরিয়ড) এবং আরও দুটি ইএমএ (1 পিরিয়ড, 4 পিরিয়ড) ব্যবহার করে। একটি বাস্তব ট্রেডিং সংকেত কেবল তখনই ট্রিগার করা হয় যখন দ্রুত এবং ধীর ইএমএগুলি ক্রস হয় যখন সহায়ক ইএমএ উভয়ের মধ্যে থাকে এবং 1-পিরিয়ড ইএমএ 4-পিরিয়ড ইএমএর উপরে থাকে।
একবার ট্রেডিং সিগন্যালটি ট্রিগার হয়ে গেলে, কৌশলটি স্টপ লস সেট করতে এবং লাভের স্তর নিতে ATR মানগুলি ব্যবহার করে। দ্রুত লাভের জন্য TP1 6 x ATR এ সেট করা হয়। যদি মূল্য TP1 হিট না করে তবে কৌশলটি সরাসরি অবস্থানটি বন্ধ করবে যখন দ্রুত EMA সহায়ক EMA এর উপরে ফিরে অতিক্রম করে, TP2 উপলব্ধি করে।
উন্নতির দিকনির্দেশনা:
ডুয়াল ইএমএ ক্রসওভার কৌশলটি একাধিক ইএমএ ফিল্টারিং এবং গতিশীল এটিআর স্টপ লস / মুনাফা গ্রহণের সাথে প্রবণতা দিকের জন্য ইএমএ ক্রসগুলিকে কাজে লাগায়। এটি কার্যকর প্রবণতা অনুসরণ এবং মুনাফা সংগ্রহের অনুমতি দেয়। তবে, ইএমএ ফিটিং সীমাবদ্ধতা এবং স্টপ লস ঝুঁকির জন্য সতর্কতা প্রয়োজন। সঠিক অপ্টিমাইজেশন, ঝুঁকি ব্যবস্থাপনা ইত্যাদি আরও শক্তিশালী পারফরম্যান্সের দিকে পরিচালিত করতে পারে। কৌশলটি ট্রেন্ডিং বাজারে উচ্চ মূলধন দক্ষতা অর্জনের জন্য অভিজ্ঞ ব্যবসায়ীদের পক্ষে উপযুক্ত।
[/trans]
/*backtest start: 2022-10-09 00:00:00 end: 2023-04-13 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/ // @author ADHDCRYPT0 //@version=4 strategy(title = "EMA double crossover", shorttitle = "(TEST) double cross over", overlay = true, default_qty_value = 100, initial_capital = 1000,default_qty_type=strategy.percent_of_equity, pyramiding=0, process_orders_on_close=true) // Variables ema_len1 = input(9 , title="Fast EMA") ema_len2 = input(21, title="Slow EMA") ema_len3 = input(5, title="Exit EMA") ema_len4 = input(1, title="FastConf EMA") ema_len5 = input(4, title="SlowConf EMA") fastEMA = ema(open, ema_len1) slowEMA = ema(open, ema_len2) exitEMA = ema(open, ema_len3) conf1EMA = ema(open, ema_len4) conf2EMA = ema(open, ema_len5) plot(fastEMA, title='fastEMA', transp=0, color=color.green) plot(slowEMA, title='slowEMA', transp=0, color=color.red ) plot(exitEMA, title='exitEMA', transp=0, color=color.orange) plot(conf1EMA, title='conf1EMA', transp=0, color=color.blue) plot(conf2EMA, title='conf2EMA', transp=0, color=color.black) vol = volume volma = sma(volume,7) vol_cond = vol>volma atr = atr(5) // Entry Conditions and vol_cond long = crossover(fastEMA, slowEMA) and (conf1EMA > conf2EMA) and (fastEMA < exitEMA) short= crossunder(fastEMA, slowEMA) and (conf1EMA < conf2EMA) and (fastEMA > exitEMA) tradeType = input("BOTH", title="What trades should be taken : ", options=["LONG", "SHORT", "BOTH", "NONE"]) pos = 0.0 if tradeType=="BOTH" pos:= long? 1 : short? -1 : pos[1] if tradeType=="LONG" pos:= long? 1 : pos[1] if tradeType=="SHORT" pos:=short? -1 : pos[1] longCond = long and (pos[1]!= 1 or na(pos[1])) shortCond = short and (pos[1]!=-1 or na(pos[1])) // EXIT FUNCTIONS // sl = input(1, title="Stop Loss (ATR)", minval=0) tp = input(6, title="Take Profit 1 (ATR)", minval=0) // Simple Stop Loss + 2 Take Profits sl_long = valuewhen(longCond , low - atr * sl, 0) sl_short = valuewhen(shortCond, high+ atr * sl, 0) tp_long = valuewhen(longCond , high + atr * tp, 0) tp_short = valuewhen(shortCond, low - atr * tp, 0) long_exit = crossover(fastEMA, exitEMA) and pos[1]==1 short_exit= crossover(exitEMA, fastEMA) and pos[1]==-1 if long_exit or short_exit pos:=0 // Position Adjustment long_sl = low <sl_long [1] and pos[1]==1 short_sl = high>sl_short[1] and pos[1]==-1 if long_sl or short_sl pos:=0 // Strategy Backtest Limiting Algorithm i_startTime = input(defval = timestamp("01 Sep 2002 13:30 +0000"), title = "Backtesting Start Time", type = input.time) i_endTime = input(defval = timestamp("30 Sep 2099 19:30 +0000"), title = "Backtesting End Time", type = input.time) timeCond = true // Make sure we are within the bar range, Set up entries and exit conditions if strategy.equity >0 strategy.entry("long" , strategy.long , when=longCond and timeCond and tradeType!="SHORT" , alert_message="INSERT MESSAGE HERE") strategy.entry("short", strategy.short, when=shortCond and timeCond and tradeType!="LONG" , alert_message="INSERT MESSAGE HERE") strategy.exit("SL/TP1", from_entry = "long" , stop=sl_long , limit=tp_long , alert_message="INSERT MESSAGE HERE") strategy.exit("SL/TP1", from_entry = "short", stop=sl_short, limit=tp_short, alert_message="INSERT MESSAGE HERE") strategy.exit("SL", from_entry = "long" , stop=sl_long, alert_message="INSERT MESSAGE HERE") strategy.exit("SL", from_entry = "short", stop=sl_short, alert_message="INSERT MESSAGE HERE") strategy.close("long", when=long_exit , comment="TP2", alert_message="INSERT MESSAGE HERE") strategy.close("short", when=short_exit, comment="TP2", alert_message="INSERT MESSAGE HERE")