এই কৌশলটি বাজারের প্রবণতা নির্ধারণের জন্য দুটি চলমান গড়ের ক্রসওভার ব্যবহার করে। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে, এটি একটি দীর্ঘ অবস্থান খোলে, এবং শর্ট পজিশনের জন্য বিপরীত। একই সময়ে, কৌশলটি একাধিক লাভের স্তর ব্যবহার করে, যখন দামগুলি পূর্বনির্ধারিত লাভের স্তরে পৌঁছে যায় তখন আংশিকভাবে অবস্থানগুলি বন্ধ করে, যার ফলে রিটার্ন সর্বাধিকীকরণ এবং ঝুঁকি নিয়ন্ত্রণ করে।
এই কৌশলটির মূল বিষয় হ'ল বাজারের প্রবণতা ক্যাপচার করতে বিভিন্ন সময়ের চলমান গড় ব্যবহার করা। যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের উপরে অতিক্রম করে, তখন এটি ইঙ্গিত দেয় যে বাজারটি একটি আপট্রেন্ডে প্রবেশ করতে পারে এবং একটি দীর্ঘ অবস্থান খোলা হয়। বিপরীতে, যখন স্বল্পমেয়াদী চলমান গড় দীর্ঘমেয়াদী চলমান গড়ের নীচে অতিক্রম করে, এটি একটি সম্ভাব্য হ্রাসের প্রবণতা প্রস্তাব করে এবং একটি সংক্ষিপ্ত অবস্থান খোলা হয়। এদিকে, কৌশলটি একাধিক মুনাফা স্তর সেট করে এবং যখন দামগুলি এই স্তরে পৌঁছায়, তখন এটি পূর্ব নির্ধারিত অবস্থান অনুপাত অনুযায়ী ব্যাচে অবস্থানগুলি বন্ধ করে। এটি ঝুঁকি পরিচালনা করার সময় প্রবণতা অব্যাহত থাকলে বৃহত্তর মুনাফা দেয়।
একাধিক লাভের সাথে চলমান গড় ক্রসওভার কৌশলটি একটি সহজ এবং কার্যকর প্রবণতা অনুসরণকারী কৌশল যা বহু-স্তরের লাভ গ্রহণের মাধ্যমে ঝুঁকি পরিচালনা করার সময় প্রবণতাগুলিতে আরও বেশি লাভ অর্জন করতে পারে। তবে, এই কৌশলটির কিছু সীমাবদ্ধতা এবং ঝুঁকিও রয়েছে এবং নির্দিষ্ট বাজারের পরিস্থিতি এবং ব্যবহারকারীর প্রয়োজনের উপর ভিত্তি করে এটি অনুকূলিত এবং উন্নত করা দরকার। সামগ্রিকভাবে, এই কৌশলটি একটি কার্যকর ট্রেডিং সরঞ্জাম হিসাবে কাজ করতে পারে, তবে সম্পূর্ণরূপে নির্ভর করা যায় না এবং অনুকূল ফলাফলের জন্য অন্যান্য বিশ্লেষণ পদ্ধতি এবং ঝুঁকি পরিচালনার ব্যবস্থাগুলির সাথে একত্রিত করা দরকার।
/*backtest start: 2023-04-20 00:00:00 end: 2024-04-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © ValdesTradingBots //Follow Us for More Insights and Updates! //Join our community and be the first to know about our new releases and trading tips //Facebook Group: Join our vibrant community at https://www.facebook.com/groups/707469081464839/ //Twitter: Follow us for quick updates and insights at https://twitter.com/ValdesBots //We're excited to have you with us! //@version=5 strategy("Valdes Trading Bots MA Cross with Multiple Take Profits", overlay=true) shortPeriod = input(18, title="Short MA Period") longPeriod = input(32, title="Long MA Period") // Take Profit Settings tp1Enabled = input(true, title="Enable Take Profit 1") tp1Perc = input(15, title="Take Profit 1 (%)") / 100 tp1QtyPerc = input(25, title="Take Profit 1 Qty (%)") / 100 tp2Enabled = input(true, title="Enable Take Profit 2") tp2Perc = input(30, title="Take Profit 2 (%)") / 100 tp2QtyPerc = input(25, title="Take Profit 2 Qty (%)") / 100 tp3Enabled = input(true, title="Enable Take Profit 3") tp3Perc = input(45, title="Take Profit 3 (%)") / 100 tp3QtyPerc = input(25, title="Take Profit 3 Qty (%)") / 100 tp4Enabled = input(true, title="Enable Take Profit 4") tp4Perc = input(60, title="Take Profit 4 (%)") / 100 tp4QtyPerc = input(25, title="Take Profit 4 Qty (%)") / 100 shortMA = ta.sma(close, shortPeriod) longMA = ta.sma(close, longPeriod) // Determine the trend uptrend = shortMA > longMA downtrend = shortMA < longMA // Assign candle colors based on the trend candleColor = uptrend ? color.rgb(9, 112, 0) : downtrend ? color.rgb(255, 0, 0) : color.new(color.blue, 0) plot(shortMA, title="Short MA", color=color.rgb(9, 112, 0)) plot(longMA, title="Long MA", color=color.rgb(255, 0, 0)) // Create a cross signal longCross = ta.crossover(shortMA, longMA) shortCross = ta.crossunder(shortMA, longMA) // Strategy entry if (longCross) strategy.entry("Long", strategy.long) if (shortCross) strategy.entry("Short", strategy.short) // Strategy take profit if (tp1Enabled and strategy.position_size > 0) strategy.exit("TP1 Long", "Long", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 + tp1Perc)) if (tp1Enabled and strategy.position_size < 0) strategy.exit("TP1 Short", "Short", qty_percent=tp1QtyPerc, limit=strategy.position_avg_price * (1 - tp1Perc)) if (tp2Enabled and strategy.position_size > 0) strategy.exit("TP2 Long", "Long", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 + tp2Perc)) if (tp2Enabled and strategy.position_size < 0) strategy.exit("TP2 Short", "Short", qty_percent=tp2QtyPerc, limit=strategy.position_avg_price * (1 - tp2Perc)) if (tp3Enabled and strategy.position_size > 0) strategy.exit("TP3 Long", "Long", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 + tp3Perc)) if (tp3Enabled and strategy.position_size < 0) strategy.exit("TP3 Short", "Short", qty_percent=tp3QtyPerc, limit=strategy.position_avg_price * (1 - tp3Perc)) if (tp4Enabled and strategy.position_size > 0) strategy.exit("TP4 Long", "Long", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 + tp4Perc)) if (tp4Enabled and strategy.position_size < 0) strategy.exit("TP4 Short", "Short", qty_percent=tp4QtyPerc, limit=strategy.position_avg_price * (1 - tp4Perc)) // Plotting the signals on the chart plotshape(series=longCross, title="Long Cross", location=location.belowbar, color=color.rgb(9, 112, 0), style=shape.triangleup, size=size.small) plotshape(series=shortCross, title="Short Cross", location=location.abovebar, color=color.rgb(255, 0, 0), style=shape.triangledown, size=size.small) // Apply candle color barcolor(candleColor)