ডুয়াল মুভিং এভারেজ গোল্ডেন ক্রস অ্যালগরিদম দ্রুত এবং ধীর গতির গড় রেখার মধ্যে ক্রসওভার গণনা করে ট্রেডিং সংকেত তৈরি করে। দ্রুত রেখাটি 8 দিনের এক্সপোনেন্সিয়াল মুভিং গড় ব্যবহার করে এবং ধীর রেখাটি গত 8 দিনের সর্বনিম্ন দামের এক্সপোনেন্সিয়াল মুভিং গড় ব্যবহার করে। যখন দ্রুত রেখাটি নীচে থেকে ধীর রেখার উপরে অতিক্রম করে, তখন একটি ক্রয় সংকেত উত্পন্ন হয়। যখন দ্রুত রেখাটি উপরে থেকে ধীর রেখার নীচে অতিক্রম করে, তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।
এই কৌশলটি স্টপ লস প্রক্রিয়া অন্তর্ভুক্ত করে। যখন দাম 20% এর বেশি বৃদ্ধি পায়, তখন স্টপ লস সেই পজিশনের প্রবেশ মূল্যের 1.2 গুণে সেট করা হবে। এটি বেশিরভাগ লাভকে লক করে এবং ক্ষতি এড়ায়। এটি কৌশলটির জন্য শালীন রিটার্নও নিশ্চিত করে।
/*backtest start: 2023-01-16 00:00:00 end: 2024-01-22 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title = "Estratégia de Cruzamento das Linhas") // Configuração da Média Móvel emaPeriod = 8 ema= ema(close, emaPeriod) ema1= ema(close[1], emaPeriod) lowestEMA = lowest(ema, 8) // Calcula a diferença entre o preço e a média móvel diff = close - ema diff1 = close[1] - ema1 diffLow = ema - lowestEMA //Condições diffZero = diff < 0 diffUnder = diff < diffLow diffUm = diff > 0 Low0 = diffLow == 0 gain = strategy.position_avg_price*(1+0.2) // Sinais de entrada buy_signal = diffUnder and crossover(diff, diff1) and diffZero sell_signal = diffUm and diffUnder and crossunder(diff, diff1) // Executa as operações de compra/venda if buy_signal strategy.entry("Buy", strategy.long) if sell_signal strategy.exit("Buy", limit = gain) // Plota as linhas plot(0, title="Linha Zero", color=color.gray) plot(diff, title="Diferença", color=color.blue, linewidth=2) plot(diffLow, title="Diferença", color=color.red, linewidth=2)