এই কৌশলটি একটি চলমান গড় ক্রসওভার সংকেতগুলির উপর ভিত্তি করে একটি স্বয়ংক্রিয় ট্রেডিং সিস্টেম, যা একটি নির্দিষ্ট ঝুঁকি-পুরষ্কার অনুপাতের মাধ্যমে অনুকূলিত। কৌশলটি অবস্থান ঝুঁকি পরিচালনার জন্য পূর্বনির্ধারিত স্টপ-লস এবং লাভের স্তরগুলিকে একত্রিত করে বাজারের প্রবণতার দিক নির্ধারণের জন্য দ্রুত এমএ এবং ধীর এমএ এর ক্রসওভার ব্যবহার করে।
মূল যুক্তি দুটি চলমান গড় (10-অবধি এবং 30-অবধি) দ্বারা উত্পন্ন ক্রসওভার সংকেতগুলির উপর নির্ভর করে। দ্রুত এমএ ধীর এমএ এর উপরে অতিক্রম করার সময় সিস্টেমটি দীর্ঘ সংকেত উত্পন্ন করে এবং দ্রুত এমএ নীচে অতিক্রম করার সময় সংক্ষিপ্ত সংকেত উত্পন্ন করে। প্রতিটি এন্ট্রি পরে, সিস্টেমটি স্বয়ংক্রিয়ভাবে একটি পূর্বনির্ধারিত 2% ক্ষতি শতাংশের উপর ভিত্তি করে স্টপ-লস স্তরগুলি গণনা করে এবং 2.5 ঝুঁকি-পুরষ্কার অনুপাত অনুযায়ী মুনাফা গ্রহণের লক্ষ্য নির্ধারণ করে। এই পদ্ধতিটি প্রতিটি ব্যবসায়ের ধারাবাহিক ঝুঁকি-পুরষ্কার বৈশিষ্ট্য রয়েছে তা নিশ্চিত করে।
এই কৌশলটি একটি সম্পূর্ণ ট্রেডিং সিস্টেম তৈরির জন্য ক্লাসিকাল প্রযুক্তিগত বিশ্লেষণ পদ্ধতিগুলিকে আধুনিক ঝুঁকি ব্যবস্থাপনা ধারণাগুলির সাথে একত্রিত করে। যদিও এর কিছু সীমাবদ্ধতা রয়েছে, ক্রমাগত অপ্টিমাইজেশন এবং উন্নতি কৌশলটিকে বিভিন্ন বাজারের অবস্থার মধ্যে স্থিতিশীল কর্মক্ষমতা বজায় রাখতে দেয়। বর্তমান বাজারের পরিবেশের জন্য সবচেয়ে উপযুক্ত কনফিগারেশন খুঁজে পেতে প্রকৃত ট্রেডিং ফলাফলের উপর ভিত্তি করে পরামিতি সেটিংগুলি ক্রমাগত সামঞ্জস্য করার চাবিকাঠি রয়েছে।
/*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=5 strategy("SOL 15m 2.5 R:R Strategy", overlay=true, margin_long=100, margin_short=100, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1) //--------------------------------------------------- // User Inputs //--------------------------------------------------- // sym = input.symbol("swap", "Symbol") timeframe = input.timeframe("15", "Timeframe") fastLength = input.int(10, "Fast MA Length") slowLength = input.int(30, "Slow MA Length") stopLossPerc = input.float(2.0, "Stop Loss %", step=0.1) // This is an example; adjust to achieve ~45% win rate RR = input.float(2.5, "Risk to Reward Ratio", step=0.1) //--------------------------------------------------- // Data Sources //--------------------------------------------------- price = request.security("swap", timeframe, close) // Compute moving averages fastMA = ta.sma(price, fastLength) slowMA = ta.sma(price, slowLength) // Entry Conditions longCondition = ta.crossover(fastMA, slowMA) shortCondition = ta.crossunder(fastMA, slowMA) //--------------------------------------------------- // Stop Loss and Take Profit Calculation //--------------------------------------------------- var entryPrice = 0.0 if (strategy.position_size == 0) // not in a position if longCondition // Long entry entryPrice := price strategy.entry("Long", strategy.long) if shortCondition // Short entry entryPrice := price strategy.entry("Short", strategy.short) if strategy.position_size > 0 // We are in a long position if strategy.position_avg_price > 0 and strategy.position_size > 0 longStop = strategy.position_avg_price * (1 - stopLossPerc/100) longTarget = strategy.position_avg_price * (1 + (stopLossPerc/100)*RR) strategy.exit("Long Exit", "Long", stop=longStop, limit=longTarget) if strategy.position_size < 0 // We are in a short position if strategy.position_avg_price > 0 and strategy.position_size < 0 shortStop = strategy.position_avg_price * (1 + stopLossPerc/100) shortTarget = strategy.position_avg_price * (1 - (stopLossPerc/100)*RR) strategy.exit("Short Exit", "Short", stop=shortStop, limit=shortTarget) //--------------------------------------------------- // Plotting //--------------------------------------------------- plot(fastMA, color=color.new(color.teal, 0), title="Fast MA") plot(slowMA, color=color.new(color.orange, 0), title="Slow MA")