
Strategi ini adalah strategi berbalik arah yang berpusat pada purata bergerak sederhana. Ia menggunakan purata bergerak sederhana dengan panjang 1 dan panjang 5, yang lebih banyak apabila purata bergerak jangka pendek melintasi purata bergerak jangka panjang dari bawah, dan kosong apabila melintasi dari atas ke bawah, dan merupakan strategi pengesanan trend yang khas.
Strategi ini menggunakan pengiraan harga tutup dengan purata bergerak mudah 1 hari sma1 dan purata bergerak mudah 5 hari sma5, masuk lebih banyak apabila memakai sma5 di atas sma1 dan masuk kosong apabila memakai sma5 di bawah sma1 . Tetapkan hentian kerugian \( 5 di bawah harga masuk dan hentian kerugian \) 150 di atas harga masuk; tetapkan hentian kerugian \( 5 di atas harga masuk dan hentian kerugian \) 150 di bawah harga masuk.
Arah untuk dioptimumkan:
Strategi ini adalah strategi yang sederhana, sederhana dan mudah dilaksanakan, yang dapat dengan cepat mengesahkan idea strategi. Tetapi daya tahan dan ruang keuntungan yang agak terhad, perlu mengoptimumkan parameter dan syarat penapisan untuk menyesuaikan diri dengan lebih banyak keadaan pasaran. Sebagai strategi kuantitatif pertama untuk pemula, ia mengandungi unsur-unsur asas, yang boleh diperbaiki sebagai kerangka kerja yang mudah.
/*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)