ডায়নামিক পজিশন ডুয়াল মুভিং এভারেজ ক্রসওভার স্ট্র্যাটেজি একটি পরিমাণগত ট্রেডিং পদ্ধতি যা ট্রেডগুলি সম্পাদনের জন্য বিভিন্ন সময়কালের সাথে দুটি সহজ মুভিং এভারেজ (এসএমএ) এর ক্রসওভার সংকেতগুলি ব্যবহার করে। এই কৌশলটি বাজারের প্রবণতা নির্ধারণের জন্য স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী মুভিং এভারেজগুলির ক্রসওভারকে কাজে লাগায় এবং ক্রসওভার সংকেত এবং মূল্য এবং দীর্ঘমেয়াদী গড়ের মধ্যে সম্পর্কের ভিত্তিতে গতিশীলভাবে অবস্থানের দিকনির্দেশ সামঞ্জস্য করে। কৌশলটি প্রতিদিনের সময়সীমার উপর কাজ করে এবং সামঞ্জস্যযোগ্য মুভিং গড়ের পরামিতিগুলির মাধ্যমে সংবেদনশীলতা এবং প্রতিক্রিয়া গতিতে নমনীয়তা দেয়।
ডায়নামিক পজিশন ডুয়াল মুভিং এভারেজ ক্রসওভার কৌশল একটি ক্লাসিক এবং ব্যবহারিক পরিমাণগত ট্রেডিং পদ্ধতি যা এমএ ক্রসওভার সংকেতগুলি এবং গতিশীলভাবে সামঞ্জস্যের অবস্থানগুলিকে কাজে লাগিয়ে বাজারের প্রবণতা ক্যাপচার করে। এই কৌশলটি বোঝা সহজ, সম্পূর্ণ স্বয়ংক্রিয় এবং নমনীয়তার সাথে ভাল প্রবণতা অনুসরণ করার ক্ষমতা প্রদর্শন করে। তবে এটি অস্থির বাজার এবং পিছিয়ে থাকা সংকেতগুলিতে দুর্বল পারফরম্যান্সের মতো সম্ভাব্য ঝুঁকির মুখোমুখি হয়। অতিরিক্ত প্রযুক্তিগত সূচকগুলি অন্তর্ভুক্ত করে, প্যারামিটার নির্বাচন অনুকূল করে এবং স্টপ-লস প্রক্রিয়াগুলি বাস্তবায়ন করে, কৌশলটির স্থায়িত্ব এবং লাভজনকতা আরও বাড়ানো যায়। এই কৌশলটি ব্যবহারকারী ব্যবসায়ীদের নির্দিষ্ট ট্রেডিং যন্ত্র এবং বাজার পরিবেশ অনুযায়ী প্যারামিটারগুলি সামঞ্জস্য এবং পরিচালনা করা উচিত যাতে দীর্ঘমেয়াদী ঝুঁকি, স্থিতিশীল ট্রেডিং ফলাফল অর্জন করা যায়।
/*backtest start: 2024-06-29 00:00:00 end: 2024-07-29 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="MA Cross Backtest", overlay=true, default_qty_type=strategy.cash, default_qty_value=10) // Parâmetros das Médias Móveis shortlen = input.int(9, "Short MA Length", minval=1) longlen = input.int(21, "Long MA Length", minval=1) // Cálculo das Médias Móveis short = ta.sma(close, shortlen) long = ta.sma(close, longlen) // Plotagem das Médias Móveis plot(short, color=color.orange, title="Short MA") plot(long, color=color.green, title="Long MA") // Sinal de Compra baseado no cruzamento das médias móveis buySignal = ta.crossover(short, long) // Sinal de Venda (Short) baseado no cruzamento das médias móveis sellSignal = ta.crossunder(short, long) // Plotagem dos Sinais de Compra e Venda plotshape(series=buySignal, location=location.belowbar, color=color.blue, style=shape.labelup, text="Buy", title="Buy Signal") plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", title="Sell Signal") // Condições para alertas alertcondition(buySignal, title="Buy Signal", message="MA Cross Buy Signal") alertcondition(sellSignal, title="Sell Signal", message="MA Cross Sell Signal") // Lógica da Estratégia de Backtest if (buySignal) // Se não há posição aberta ou se a posição atual é curta, feche a posição curta antes de abrir uma nova posição longa if (strategy.position_size < 0) strategy.close("Short", comment="Closing Short Position before Long Entry") strategy.entry("Long", strategy.long) // Alerta de compra alert("MA Cross Buy Signal", alert.freq_once_per_bar_close) if (strategy.position_size > 0) // Se o preço abrir abaixo da média longa if (open < long) strategy.close("Long", comment="Price Opened Below Long MA") strategy.entry("Short", strategy.short, comment="Switched to Short") // Alerta de venda alert("Price Opened Below Long MA - Switched to Short", alert.freq_once_per_bar_close) // Se a média móvel curta cruzar abaixo da média móvel longa else if (sellSignal) strategy.close("Long", comment="Short MA Crossed Below Long MA") strategy.entry("Short", strategy.short, comment="Switched to Short") // Alerta de venda alert("Short MA Crossed Below Long MA - Switched to Short", alert.freq_once_per_bar_close) if (strategy.position_size < 0) // Se o preço abrir acima da média longa if (open > long) strategy.close("Short", comment="Price Opened Above Long MA") strategy.entry("Long", strategy.long, comment="Switched to Long") // Alerta de compra alert("Price Opened Above Long MA - Switched to Long", alert.freq_once_per_bar_close)