এই কৌশলটি দ্বৈত চলমান গড় ক্রসওভার সংকেতগুলির উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং সিস্টেম, যা সংক্ষিপ্ত ও দীর্ঘমেয়াদী চলমান গড়ের ছেদ করে বাজারের প্রবণতা পরিবর্তনগুলি সনাক্ত করে, ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ-লস এবং লাভের ব্যবস্থাপনার সাথে মিলিত। কৌশলটি ট্রেডিংয়ের জন্য বাজার অর্ডার ব্যবহার করে, স্বয়ংক্রিয়ভাবে বিদ্যমান অবস্থানগুলি বন্ধ করে এবং নতুন অবস্থানগুলি খোলে যখন সংকেতগুলি ট্রিগার হয় এবং স্টপ-লস এবং লাভের স্তরগুলি সেট করে মূলধন সুরক্ষা রক্ষা করে।
এই কৌশলটি ট্রেডিং সিগন্যালের মূল ভিত্তি হিসাবে বিভিন্ন সময়ের দুটি সহজ চলমান গড় (এসএমএ) ব্যবহার করে। যখন স্বল্পমেয়াদী এমএ দীর্ঘমেয়াদী এমএ এর উপরে অতিক্রম করে তখন একটি দীর্ঘ সংকেত উত্পন্ন হয় এবং যখন স্বল্পমেয়াদী এমএ দীর্ঘমেয়াদী এমএ এর নীচে অতিক্রম করে তখন একটি সংক্ষিপ্ত সংকেত উত্পন্ন হয়। সিস্টেমটি বর্তমান অবস্থানের অবস্থা পরীক্ষা করে যখন সংকেতগুলি ঘটে, প্রথমে কোনও কাউন্টার অবস্থান বন্ধ করে দেয়, তারপরে সংকেতের দিক অনুযায়ী নতুন অবস্থানগুলি খোলে। প্রতিটি বাণিজ্য স্বয়ংক্রিয়ভাবে পূর্বনির্ধারিত শতাংশের উপর ভিত্তি করে স্টপ-লস এবং লাভের স্তর সেট করে, ঝুঁকি-পুরষ্কার অনুপাতের গতিশীল পরিচালনা অর্জন করে।
এটি স্পষ্ট যুক্তি সহ একটি বিস্তৃত পরিমাণগত ট্রেডিং কৌশল। এটি দ্বৈত এমএ ক্রসওভারের মাধ্যমে প্রবণতা পরিবর্তনগুলি ক্যাপচার করে এবং গতিশীল স্টপ-লস এবং লাভের স্তরের সাথে ঝুঁকি পরিচালনা করে। কৌশলটির শক্তিগুলি এর পদ্ধতিগত পদ্ধতি এবং ঝুঁকি নিয়ন্ত্রণে রয়েছে, তবে লাইভ ট্রেডিংয়ে বিভিন্ন বাজারের ঝুঁকির প্রতি মনোযোগ দিতে হবে। ক্রমাগত অপ্টিমাইজেশন এবং উন্নতির মাধ্যমে কৌশলটি বিভিন্ন বাজারের পরিবেশে স্থিতিশীল কর্মক্ষমতা বজায় রাখতে পারে। লাইভ বাস্তবায়নের আগে পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং পরিচালনা এবং প্রকৃত অবস্থার অনুযায়ী পরামিতিগুলি সামঞ্জস্য করার পরামর্শ দেওয়া হয়।
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("BTCUSD Daily Strategy - Market Orders Only", overlay=true, initial_capital=10000, currency=currency.USD) // Configurable Inputs stop_loss_percent = input.float(title="Stop Loss (%)", defval=1.0, minval=0.0, step=0.1) take_profit_percent = input.float(title="Take Profit (%)", defval=2.0, minval=0.0, step=0.1) short_ma_length = input.int(title="Short MA Length", defval=9, minval=1) long_ma_length = input.int(title="Long MA Length", defval=21, minval=1) // Moving Averages short_ma = ta.sma(close, short_ma_length) long_ma = ta.sma(close, long_ma_length) // Plotting Moving Averages plot(short_ma, color=color.blue, title="Short MA") plot(long_ma, color=color.red, title="Long MA") // Buy and Sell Signals buy_signal = ta.crossover(short_ma, long_ma) sell_signal = ta.crossunder(short_ma, long_ma) // Market Buy Logic if (buy_signal and strategy.position_size <= 0) // Close any existing short position if (strategy.position_size < 0) strategy.close(id="Market Sell") // Calculate Stop Loss and Take Profit Prices entry_price = close long_stop = entry_price * (1 - stop_loss_percent / 100) long_take_profit = entry_price * (1 + take_profit_percent / 100) // Enter Long Position strategy.entry(id="Market Buy", direction=strategy.long) strategy.exit(id="Exit Long", from_entry="Market Buy", stop=long_stop, limit=long_take_profit) // Alert for Market Buy alert("Market Buy Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(long_stop) + ", Take Profit: " + str.tostring(long_take_profit), alert.freq_once_per_bar_close) // Market Sell Logic if (sell_signal and strategy.position_size >= 0) // Close any existing long position if (strategy.position_size > 0) strategy.close(id="Market Buy") // Calculate Stop Loss and Take Profit Prices entry_price = close short_stop = entry_price * (1 + stop_loss_percent / 100) short_take_profit = entry_price * (1 - take_profit_percent / 100) // Enter Short Position strategy.entry(id="Market Sell", direction=strategy.short) strategy.exit(id="Exit Short", from_entry="Market Sell", stop=short_stop, limit=short_take_profit) // Alert for Market Sell alert("Market Sell Signal at price " + str.tostring(close) + ". Stop Loss: " + str.tostring(short_stop) + ", Take Profit: " + str.tostring(short_take_profit), alert.freq_once_per_bar_close)