এটি ত্রিগুণ এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) ক্রসওভার সিগন্যালের উপর ভিত্তি করে একটি ট্রেন্ড অনুসরণকারী ট্রেডিং সিস্টেম। সিস্টেমটি ক্রসওভারের মাধ্যমে ট্রেডিং সিগন্যাল তৈরি করতে ইএমএ 8, ইএমএ 21 এবং ইএমএ 89 একত্রিত করে এবং ঝুঁকি-প্রতিদান অনুপাতের উপর ভিত্তি করে স্মার্ট স্টপ-লস ম্যানেজমেন্টকে সংহত করে, স্বয়ংক্রিয় ঝুঁকি ব্যবস্থাপনা অর্জন করে।
সিস্টেমটি নিম্নলিখিত প্রধান কার্যকরী মডিউল গঠিতঃ
কৌশলটি ক্লাসিকাল ইএমএ ক্রসওভার সিস্টেমগুলিকে আধুনিক ঝুঁকি পরিচালনার পদ্ধতিগুলির সাথে একত্রিত করে একটি সম্পূর্ণ ট্রেডিং সিস্টেম অর্জন করে। সিস্টেমের শক্তিগুলি এর নির্ভরযোগ্য সংকেত উত্পাদন প্রক্রিয়া এবং বুদ্ধিমান ঝুঁকি নিয়ন্ত্রণ পদ্ধতিতে রয়েছে, তবে প্যারামিটারগুলি এখনও অনুকূলিতকরণ করা দরকার এবং ব্যবহারিক অ্যাপ্লিকেশনগুলিতে নির্দিষ্ট বাজারের বৈশিষ্ট্যগুলির উপর ভিত্তি করে ফাংশনগুলি প্রসারিত করা দরকার। ক্রমাগত উন্নতি এবং অপ্টিমাইজেশনের মাধ্যমে কৌশলটির বিভিন্ন বাজারের অবস্থার মধ্যে স্থিতিশীল কর্মক্ষমতা বজায় রাখার সম্ভাবনা রয়েছে।
/*backtest start: 2024-12-06 00:00:00 end: 2025-01-04 08:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover with SL to BE", shorttitle="OmegaGalsky", overlay=true) // Входни параметри ema8_period = input.int(8, title="EMA 8 Period") ema21_period = input.int(21, title="EMA 21 Period") ema89_period = input.int(89, title="EMA 89 Period") fixed_risk_reward = input.float(1.0, title="Risk/Reward Ratio (R2R)") sl_percentage = input.float(0.001, title="Stop Loss Percentage", step=0.0001) tp_percentage = input.float(0.0025, title="Take Profit Percentage", step=0.0001) // Изчисляване на EMA ema8 = ta.ema(close, ema8_period) ema21 = ta.ema(close, ema21_period) ema89 = ta.ema(close, ema89_period) // Условия за BUY buy_condition = ta.crossover(ema8, ema21) and close > ema89 and close > open // Условия за SELL sell_condition = ta.crossunder(ema8, ema21) and close < ema89 and close < open // Вход в BUY позиция if (buy_condition) stop_loss = close * (1 - sl_percentage) take_profit = close * (1 + tp_percentage) strategy.entry("BUY", strategy.long) strategy.exit("TP/SL", from_entry="BUY", stop=stop_loss, limit=take_profit) // Вход в SELL позиция if (sell_condition) stop_loss = close * (1 + sl_percentage) take_profit = close * (1 - tp_percentage) strategy.entry("SELL", strategy.short) strategy.exit("TP/SL", from_entry="SELL", stop=stop_loss, limit=take_profit) // Логика за преместване на стоп към BE if (strategy.position_size > 0) entry_price = strategy.position_avg_price // За LONG позиция if (strategy.position_size > 0 and high >= entry_price + (entry_price * sl_percentage * fixed_risk_reward)) strategy.exit("SL to BE", from_entry="BUY", stop=entry_price) label.new(bar_index, high, "SL moved to BE", color=color.green) // За SHORT позиция if (strategy.position_size < 0 and low <= entry_price - (entry_price * sl_percentage * fixed_risk_reward)) strategy.exit("SL to BE", from_entry="SELL", stop=entry_price) label.new(bar_index, low, "SL moved to BE", color=color.red) // Чертеж на EMA plot(ema8, color=color.orange, title="EMA 8") plot(ema21, color=color.blue, title="EMA 21") plot(ema89, color=color.purple, title="EMA 89")