Strategi ini disebut
Strategi ini menggunakan indikator OBV untuk menentukan arah tren. Indikator OBV menilai tren harga berdasarkan perubahan volume perdagangan, karena pergeseran volume mencerminkan sikap peserta pasar. Ketika garis OBV melintasi di atas 0, itu menunjukkan penguatan daya beli dan pembentukan tren naik. Ketika melintasi di bawah 0, itu menandakan penguatan tekanan penjualan dan tren penurunan.
Strategi ini mengkonfirmasi tren naik dengan OBV melintasi di atas 0. Ketika tren naik terbentuk, aturan posisi piramida meningkat ditetapkan, memungkinkan hingga 7 pembelian tambahan.
Keuntungan terbesar dari strategi ini adalah menangkap tren menggunakan pendekatan piramida untuk melacak tren dan keuntungan dari mereka.
Secara khusus, keuntungan utama adalah:
Risiko utama berasal dari dua aspek:
Solusi:
Arah optimasi utama:
Hal ini dapat membuat strategi lebih stabil, terkontrol dan dapat diperluas.
Secara keseluruhan ini adalah strategi yang sangat praktis. Ini menggunakan OBV untuk menentukan arah tren, kemudian piramida ke dalam tren untuk keuntungan. Logika sederhana dan jelas untuk backtesting mudah. Ini memiliki nilai penerapan dan dengan parameter lebih lanjut, risiko dan pengoptimalan manajemen uang, kinerja dapat meningkat lebih lanjut, menjamin penelitian tambahan.
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © RafaelZioni //@version=4 strategy(title = " OBV Pyr", overlay = true, pyramiding=5,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 20, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075) strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) // fastLength = input(250, title="Fast filter length ", minval=1) slowLength = input(500,title="Slow filter length", minval=1) source=close v1=ema(source,fastLength) v2=ema(source,slowLength) // filter=true src = close LengthOBV = input(20) nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume c = cum(nv) c_tb = c - sma(c,LengthOBV) // Conditions longCond = crossover(c_tb,0) //shortCond =crossunder(cnv_tb,0) // longsignal = (v1 > v2 or filter == false ) and longCond //shortsignal = (v1 < v2 or filter == false ) and shortCond //set take profit ProfitTarget_Percent = input(3) Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick //set take profit LossTarget_Percent = input(10) Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick ////Order Placing // strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal) // strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal) // strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal) // strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal) // strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal) // strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal) // strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal) // // // if strategy.position_size > 0 strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)