এই কৌশলটি দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলির উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী সিস্টেম, যা একটি গতিশীল লাভ গ্রহণ এবং স্টপ-লস প্রক্রিয়া অন্তর্ভুক্ত করে। এটি ট্রেডিং সংকেত তৈরি করতে 5 পিরিয়ড এবং 12 পিরিয়ডের সহজ চলমান গড় (এসএমএ) ব্যবহার করে, লাভ গ্রহণ এবং স্টপ-লস স্তরের গতিশীল সমন্বয়ের মাধ্যমে ঝুঁকি-পুরষ্কার অনুপাতকে অনুকূল করে। প্রাথমিক লাভ গ্রহণ 10% এবং স্টপ-লস 5% এ সেট করা হয়, যখন দাম অনুকূলভাবে চলে যায় তখন স্তরগুলি যথাক্রমে 20% এবং 2.5% এ সামঞ্জস্য করে।
মূল যুক্তিটি দ্রুত (5-পরিয়ড) এবং ধীর (12-পরিয়ড) চলমান গড়ের মধ্যে ক্রসওভার সম্পর্কের উপর নির্ভর করে। যখন দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়, যখন দ্রুত এমএ ধীর এমএ এর নীচে অতিক্রম করে তখন অবস্থানগুলি বন্ধ হয়ে যায়। কৌশলটির অনন্যতা এর গতিশীল ঝুঁকি ব্যবস্থাপনা প্রক্রিয়াতে রয়েছেঃ পজিশন প্রবেশের পরে, সিস্টেমটি ক্রমাগত মূল্যের চলাচল পর্যবেক্ষণ করে এবং ঝুঁকি নিয়ন্ত্রণের সময় লাভ সর্বাধিক করার জন্য লাভ এবং স্টপ-লস স্তরগুলি গতিশীলভাবে সামঞ্জস্য করে।
এই কৌশলটি ক্লাসিক চলমান গড় ক্রসওভার সংকেতগুলিকে উদ্ভাবনী গতিশীল ঝুঁকি ব্যবস্থাপনার সাথে একত্রিত করে কার্যকরভাবে প্রবণতা ক্যাপচার করে এবং ঝুঁকিকে গতিশীলভাবে নিয়ন্ত্রণ করে। কৌশল নকশাটি স্পষ্ট, বাস্তবায়ন দক্ষ, এবং এটি ভাল ব্যবহারিকতা এবং স্কেলযোগ্যতা প্রদর্শন করে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে, এই কৌশলটি প্রকৃত ট্রেডিংয়ে স্থিতিশীল রিটার্ন অর্জনের প্রতিশ্রুতি দেখায়।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("My Moving Average Crossover Strategy with Take Profit and Stop Loss", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) //risk_free_rate = float(request.security("IRUS", "D", close)/request.security("IRUS", "D", close[1]) - 1 )) // MA periods fastLength = input.int(5, title="Fast MA Length") slowLength = input.int(12, title="Slow MA Length") // Take Profit and Stop Loss takeProfitLevel = input(10, title="Take Profit (пункты)") // Take profit % from the last price stopLossLevel = input(5, title="Stop Loss (пункты)") // Stop loss % from the last price takeProfitLevel_dyn = input(20, title="Dynamic Take Profit (пункты)") // Move TP if current_price higher buy_px stopLossLevel_dyn = input(2.5, title="Dynamic Stop Loss (пункты)") // S Move SL if current_price higher buy_px // Вычисление скользящих средних fastMA = ta.sma(close, fastLength) slowMA= ta.sma(close, slowLength) // Conditions for Sell and Buy longCondition = ta.crossover (fastMA, slowMA) // покупаем, если короткая MA персекает длинную снизу-вверх shortCondition = ta.crossunder(fastMA, slowMA) // продаем, если короткая MA персекает длинную сверху-вниз // Buy position condition if (longCondition) strategy.entry("Buy", strategy.long) // Dynamic TP SL leveles takeProfitPrice = strategy.position_avg_price * (1+ takeProfitLevel / 100) stopLossPrice = strategy.position_avg_price * (1-stopLossLevel / 100) entryPrice = strategy.position_avg_price if (strategy.position_size > 0) // если есть открытая позиция // takeProfitPrice := entryPrice * (1+ takeProfitLevel / 100) // stopLossPrice := entryPrice * (1-stopLossLevel / 100) // // Перемещение Stop Loss и Take Profit if (close > entryPrice) takeProfitPrice := close * (1+ takeProfitLevel_dyn / 100) stopLossPrice := close * (1- stopLossLevel_dyn/ 100) if (shortCondition) strategy.close("Buy") strategy.exit("Take Profit/Stop loss", "Buy", limit=takeProfitPrice, stop=stopLossPrice) // Drawing MA lines plot(fastMA, color=color.blue, title="Fast Moving Average") plot(slowMA, color=color.orange, title="Slow Moving Average") // Визуализация plot(longCondition ? na : takeProfitPrice, title="Take Profit Level", color=color.green, linewidth=1, style=plot.style_line) plot(longCondition ? na: stopLossPrice, title="Stop Loss Level", color=color.red, linewidth=1, style=plot.style_line)