
Strategi ini membuat keputusan dagangan berdasarkan kenaikan dan penurunan harga pembukaan 5 minit, menggunakan dua tahap penyebaran untuk menetapkan keadaan pemicu yang berbeza, bertujuan untuk menangkap pergerakan harga yang lebih besar dalam trend goyah.
Strategi ini berdasarkan harga pembukaan K sepanjang 5 minit pada 2 jam setiap hari untuk mengira peratusan kenaikan dan penurunan K sepanjang 5 minit pada masa ini, membuat keputusan membeli atau menjual yang sesuai apabila kenaikan dan penurunan melebihi jangkauan tahap pertama yang ditetapkan. Pada masa yang sama, menetapkan stop loss dan stop loss untuk keluar dari kedudukan.
Jika stop loss dicetuskan, apabila harga terus meningkat dan melebihi syarat pemicu tahap kedua, pesanan terdahulu akan dibatalkan, perintah beli atau jual baru akan digunakan di bawah tahap kedua, dan terus mengesan stop loss dan stop loss.
Dengan menetapkan selang dua peringkat, anda boleh menyaring sebahagian daripada bunyi bising dalam keadaan yang bergolak, dan hanya berdagang apabila terdapat perubahan harga yang lebih besar. Di samping itu, pengaktifan selang kedua dapat mengurangkan keadaan di mana stop loss terlalu kerap dicetuskan.
Kaedah pencegahan:
Strategi ini menangkap pergerakan harga melalui dua tahap perobosan, menyaring kebisingan dengan berkesan dalam keadaan gegaran. Konsep strategi mudah dan jelas, pengoptimuman parameter dapat memberikan kesan yang lebih baik. Langkah seterusnya dapat dipertimbangkan untuk digabungkan dengan indikator penghakiman trend, untuk memainkan kelebihan strategi dalam keadaan trend. Secara keseluruhan, strategi ini adalah baru, menggunakan prinsip perobosan dengan berkesan, dan dapat memperoleh kesan yang baik setelah penyesuaian pengoptimuman.
/*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