Strategi piramida berdasarkan indikator OBV


Tanggal Pembuatan: 2023-12-08 15:58:29 Akhirnya memodifikasi: 2023-12-08 15:58:29
menyalin: 0 Jumlah klik: 705
1
fokus pada
1621
Pengikut

Strategi piramida berdasarkan indikator OBV

Ringkasan

Strategi ini, yang dikenal dengan sebutan piramida OBV, dirancang untuk membuka posisi berdasarkan indikator OBV, dan menggunakan metode penambahan posisi piramida, setelah munculnya tren, penambahan posisi dilakukan secara bertahap dan mengikuti tren untuk mendapatkan keuntungan.

Prinsip Strategi

Strategi ini menggunakan indikator OBV untuk menentukan arah tren. Indikator OBV didasarkan pada perubahan volume transaksi untuk menentukan tren harga, dan perubahan volume transaksi mencerminkan sikap para peserta pasar. Ketika melewati 0 di OBV menunjukkan peningkatan daya beli, tren multihead terbentuk; Ketika melewati 0 di bawah OBV menunjukkan peningkatan daya beli, tren kosong terbentuk.

Strategi ini mengkonfirmasi pembentukan tren multihead dengan menilai apakah OBV naik melalui sumbu 0. Saat tren multihead terbentuk, atur aturan kenaikan posisi piramida, maksimal 7 kali. Buat keuntungan dengan melacak tren, atur mekanisme penarikan stop-loss.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah bahwa strategi ini dapat menangkap tren, melacak tren dengan cara menaikkan posisi piramida, dan memiliki potensi keuntungan yang besar. Selain itu, strategi ini memiliki kontrol risiko dan pengaturan stop loss.

Secara khusus, keunggulan yang ditampilkan adalah:

  1. Menggunakan OBV untuk menilai arah tren secara akurat;
  2. “Piramida” adalah metode penambahan saham yang dapat melacak tren keuntungan.
  3. Pengaturan stop loss untuk mengendalikan risiko.
  4. Strategi logisnya sederhana, jelas dan mudah dipahami.

Analisis risiko

Strategi ini memiliki dua risiko utama:

  1. Kesalahan penilaian oleh OBV yang menyebabkan kehilangan peluang atau kesalahan dalam penempatan;
  2. “Saya tidak tahu apa-apa, tapi saya tidak tahu apa-apa.

Solusi yang sesuai:

  1. Optimalkan parameter OBV untuk memastikan penilaian yang akurat;
  2. Pengendalian yang tepat terhadap kenaikan suku bunga untuk memastikan bahwa risiko dapat dikendalikan.

Arah optimasi

Strategi ini dapat dioptimalkan dengan cara:

  1. Optimalisasi parameter OBV untuk meningkatkan akurasi penilaian;
  2. Optimalisasi jumlah dan jumlah deposit;
  3. Optimalisasi Stop Loss Point;
  4. Pertimbangan ini dapat dikombinasikan dengan penilaian indikator lainnya untuk menghindari penilaian risiko tunggal oleh OBV.

Dengan mengoptimalkan konten ini, strategi dapat dibuat lebih stabil, lebih terkontrol, dan lebih terukur.

Meringkaskan

Strategi ini secara keseluruhan sangat praktis. Ia menggunakan indikator OBV untuk menentukan arah tren, lalu melacak tren melalui piramida penambahan posisi. Logika strategi ringkas dan jelas, mudah dipahami dan diukur kembali.

Kode Sumber Strategi
/*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)