
Strategi ini membuat keputusan perdagangan berdasarkan kenaikan dan penurunan harga 5 menit, menggunakan dua tahap penyeberangan untuk menetapkan kondisi pemicu yang berbeda, yang bertujuan untuk menangkap perubahan harga yang lebih besar dalam tren goyangan.
Strategi ini didasarkan pada harga pembukaan K-line selama 5 menit selama 2 jam setiap hari untuk menghitung persentase kenaikan dan penurunan K-line selama 5 menit saat ini, dan membuat keputusan membeli atau menjual yang sesuai ketika kenaikan dan penurunan melebihi jangkauan tahap pertama yang ditetapkan.
Jika stop loss dipicu, maka akan dibatalkan order sebelumnya, digunakan perintah beli atau jual baru di bawah selang selang kedua, dan terus melacak stop loss dan stop loss ketika harga terus meningkat dan melampaui kondisi pemicu selang selang kedua.
Dengan pengaturan dua tahap, Anda dapat memfilter beberapa kebisingan dalam situasi yang bergoyang, dan hanya melakukan perdagangan ketika ada perubahan harga yang lebih besar. Dengan mengaktifkan dua tahap, Anda dapat mengurangi stop loss yang terlalu sering dipicu.
Tanggapan:
Strategi ini menangkap pergerakan harga melalui dua tahap penembusan yang efektif dan memfilter kebisingan dalam situasi yang bergolak. Konsep strategi sederhana dan jelas, dan pengoptimalan parameter dapat memberikan efek yang lebih baik. Langkah selanjutnya dapat dipertimbangkan untuk dikombinasikan dengan indikator penilaian tren, dan memanfaatkan keunggulan strategi dalam situasi tren. Secara keseluruhan, strategi ini inovatif, memanfaatkan prinsip penembusan secara efektif, dan mendapatkan efek yang baik setelah penyesuaian optimasi.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Auto Entry Bot", overlay=true)
// Define input for the stop loss and take profit levels
stopLossPips = input.int(200, title="Stop Loss Pips", minval=1)
takeProfitPips = input.int(400, title="Take Profit Pips", minval=1)
// Calculate the percentage change from the 5-minute opening candle at 2:00 AM
var float openPrice = na
if (hour == 2 and minute == 0)
openPrice := open
percentageChange = (close - openPrice) / openPrice * 100
// Track the cumulative percentage change
var float cumulativeChange = 0
// Define input for the percentage change trigger
triggerPercentage1 = input.float(0.25, title="Percentage Change Trigger (%)", minval=0.01, step=0.01)
triggerPercentage2 = input.float(0.35, title="Additional Trigger Percentage (%)", minval=0.01, step=0.01)
// Check for price change trigger
if (percentageChange >= triggerPercentage1)
// Sell signal
strategy.entry("Sell", strategy.short)
strategy.exit("ExitSell", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
if (percentageChange <= -triggerPercentage1)
// Buy signal
strategy.entry("Buy", strategy.long)
strategy.exit("ExitBuy", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
// If the price keeps hitting stop loss, activate the second trigger
if (strategy.position_size < 0 and percentageChange <= -triggerPercentage2)
strategy.cancel("Sell") // Cancel previous sell order
strategy.entry("Sell2", strategy.short)
strategy.exit("ExitSell2", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade
if (strategy.position_size > 0 and percentageChange >= triggerPercentage2)
strategy.cancel("Buy") // Cancel previous buy order
strategy.entry("Buy2", strategy.long)
strategy.exit("ExitBuy2", loss=stopLossPips, profit=takeProfitPips)
cumulativeChange := 0 // Reset cumulative change after a trade