Strategi ini dipanggil
Strategi ini menggunakan penunjuk OBV untuk menentukan arah trend. Penunjuk OBV menilai trend harga berdasarkan perubahan dalam jumlah dagangan, kerana perubahan dalam jumlah mencerminkan sikap peserta pasaran. Apabila garis OBV melintasi di atas 0, ia menunjukkan penguatan kuasa beli dan pembentukan trend menaik. Apabila melintasi di bawah 0, ia menandakan penguatan tekanan jualan dan trend penurunan.
Strategi ini mengesahkan trend menaik dengan OBV melintasi di atas 0. Apabila trend menaik terbentuk, peraturan kedudukan piramid meningkat ditetapkan, yang membolehkan sehingga 7 pembelian tambahan. Ia bertujuan untuk mendapat keuntungan daripada trend sambil menetapkan mengambil keuntungan dan menghentikan kerugian.
Kelebihan terbesar strategi ini adalah menangkap trend menggunakan pendekatan piramid untuk mengesan trend dan mendapat keuntungan daripada mereka.
Khususnya, kelebihan utama adalah:
Risiko utama datang dari dua aspek:
Penyelesaian:
Arah pengoptimuman utama:
Ini boleh menjadikan strategi lebih stabil, boleh dikawal dan dapat diperluaskan.
Secara keseluruhan ini adalah strategi yang sangat praktikal. Ia menggunakan OBV untuk menentukan arah trend, kemudian piramid ke dalam trend untuk keuntungan. Logiknya mudah dan jelas untuk ujian belakang yang mudah. Ia mempunyai nilai penerapan dan dengan parameter lanjut, pengoptimuman pengurusan risiko dan wang, prestasi boleh bertambah baik, menjamin penyelidikan 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)