Ini adalah strategi pembalikan berdasarkan crossover purata bergerak mudah. Ia menggunakan purata bergerak mudah 1 hari dan 5 hari. Apabila SMA yang lebih pendek melintasi di atas SMA yang lebih panjang, ia pergi panjang. Apabila SMA yang lebih pendek melintasi di bawah SMA yang lebih panjang, ia pergi pendek. Ini adalah strategi trend berikut yang biasa.
Strategi ini mengira SMA 1 hari (sma1) dan SMA 5 hari (sma5) harga penutupan. Apabila sma1 melintasi sma5, ia memasuki kedudukan panjang. Apabila sma1 melintasi di bawah sma5, ia memasuki kedudukan pendek. Selepas membuka kedudukan panjang, stop loss ditetapkan pada 5 USD di bawah harga kemasukan dan mengambil keuntungan pada 150 USD di atas. Untuk kedudukan pendek, stop loss adalah 5 USD di atas kemasukan dan mengambil keuntungan 150 USD di bawah.
Strategi SMA berganda ini mudah difahami dan dilaksanakan untuk pengesahan strategi yang cepat. Tetapi ia mempunyai toleransi risiko dan potensi keuntungan yang terhad. Pengoptimuman lebih lanjut diperlukan dalam parameter dan penapis untuk menyesuaikan diri dengan lebih banyak keadaan pasaran. Sebagai strategi kuantiti permulaan, ia mengandungi blok bangunan asas untuk penambahbaikan berulang.
/*backtest start: 2023-02-19 00:00:00 end: 2024-02-19 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Valeria 181 Bot Strategy Mejorado 2.21", overlay=true, margin_long=100, margin_short=100) var float lastLongOrderPrice = na var float lastShortOrderPrice = na longCondition = ta.crossover(ta.sma(close, 1), ta.sma(close, 5)) if (longCondition) strategy.entry("Long Entry", strategy.long) // Enter long shortCondition = ta.crossunder(ta.sma(close, 1), ta.sma(close, 5)) if (shortCondition) strategy.entry("Short Entry", strategy.short) // Enter short if (longCondition) lastLongOrderPrice := close if (shortCondition) lastShortOrderPrice := close // Calculate stop loss and take profit based on the last executed order's price stopLossLong = lastLongOrderPrice - 5 // 10 USDT lower than the last long order price takeProfitLong = lastLongOrderPrice + 151 // 100 USDT higher than the last long order price stopLossShort = lastShortOrderPrice + 5 // 10 USDT higher than the last short order price takeProfitShort = lastShortOrderPrice - 150 // 100 USDT lower than the last short order price // Apply stop loss and take profit to long positions strategy.exit("Long Exit", from_entry="Long Entry", stop=stopLossLong, limit=takeProfitLong) // Apply stop loss and take profit to short positions strategy.exit("Short Exit", from_entry="Short Entry", stop=stopLossShort, limit=takeProfitShort)