Idea utama strategi ini adalah untuk membuka kedudukan panjang selepas corak lilin tertentu muncul, iaitu membuka kedudukan panjang di bar bar berikutnya yang dibuka selepas jurang ke bawah (colorbar) diikuti dengan pullback ke bar bar sebelumnya.
Syarat khusus untuk strategi ini ialah: bar sebelumnya mempunyai rendah yang lebih rendah dan tinggi yang lebih tinggi berbanding dua bar sebelumnya, yang menunjukkan jurang ke bawah; dan bar bar semasa kurang daripada atau sama dengan bar bar sebelumnya, menandakan penurunan telah berlaku.
Selepas membuka kedudukan panjang, stop loss ditetapkan pada tahap rendah pulback, yang merupakan tahap rendah bar sebelumnya, dan mengambil keuntungan ditetapkan pada lebih daripada 2% di atas harga masuk.
Kelebihan terbesar strategi ini adalah merebut peluang rebound kebarangkalian tinggi selepas corak candlestick tertentu. jurang ke bawah diikuti oleh pullback mewakili corak teknikal yang sangat kuat yang menunjukkan tekanan penjualan mungkin telah habis pada tahap ini dan kemungkinan besar akan berlaku. Oleh itu, strategi ini lebih sesuai untuk perdagangan jangka pendek.
Risiko utama adalah penurunan yang berterusan selepas penarikan berakhir. Oleh kerana kita mengambil kedudukan panjang di sekitar titik terendah penarikan, kerugian yang ketara mungkin timbul jika tidak dapat memotong kerugian tepat pada masanya. Juga, jika julat penarikan kecil, stop loss yang ditetapkan terlalu ketat boleh menyebabkan berhenti. Oleh itu strategi ini lebih disukai untuk perdagangan jangka pendek, yang memerlukan perhatian pasaran yang dekat dan stop loss tepat pada masanya.
Indikator teknikal lain boleh dimasukkan untuk meningkatkan ketepatan isyarat dan kestabilan strategi, seperti memasuki persilangan emas MACD, atau memeriksa harga biasa berada pada tahap sokongan sebelum masuk.
Ringkasnya, ini adalah strategi jangka pendek jangka pendek. Ia menangkap peluang pemulihan selepas corak jurang penurunan yang kuat diikuti dengan penarikan balik. Tetapi ia juga membawa risiko kerugian besar jika gagal memotong kerugian pada waktunya. Pemantauan pasaran yang kerap diperlukan untuk hasil yang baik. Penambahbaikan lanjut boleh dibuat melalui penapisan isyarat dengan lebih banyak penunjuk dan pengoptimuman parameter.
/*backtest start: 2024-01-22 00:00:00 end: 2024-02-21 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // Created by Leon Ross //study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true) strategy(title = "Outside", shorttitle = "OB", overlay = true ) //Window of time //start = timestamp(2018, 01, 01, 00, 00) // backtest start window //finish = timestamp(2018, 12, 31, 23, 59) // backtest finish window //window() => time >= start and time <= finish ? true : false // create function "within window of time" //Conditions outsideBar = low < low[1] and high > high[1] and close < open allConditions = outsideBar //Stop and Take Profit as percentages //inpTakeProfit = input(2, title='Take Profit %', type=float)/100 //takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) //useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na //inpStopLoss = input(1, title='Stop Loss %', type=float)/100 //stopLossValue = strategy.position_avg_price * (1 - inpStopLoss) //useStopLoss = inpStopLoss > 0 ? stopLossValue : na //entry = strategy.position_avg_price //Stop as last bars low and profit as percentage entry = strategy.position_avg_price inpTakeProfit = input(2.0, title='Take Profit %', type=float)/100 takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit) useTakeProfit = inpTakeProfit > 0 ? takeProfitValue : na inpStopLoss = valuewhen(allConditions, low, 0) stopLossValue = inpStopLoss useStopLoss = inpStopLoss > 0 ? stopLossValue : na //Plots bgcolor(allConditions ==1 ? aqua : na, transp=70) plot(entry, color=blue, style=linebr, linewidth=2) plot(useStopLoss, color=red, style=linebr, linewidth=2) plot(useTakeProfit, color=green, style=linebr, linewidth=2) //Entires strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in //Exits //if (barssince(allConditions) == 2) //strategy.close("Long") //else strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)