Strategi perdagangan robot BTC pengambilan untung kumpulan berbilang peringkat


Tarikh penciptaan: 2023-10-18 11:12:39 Akhirnya diubah suai: 2023-10-18 11:12:39
Salin: 0 Bilangan klik: 707
1
fokus pada
1617
Pengikut

Strategi perdagangan robot BTC pengambilan untung kumpulan berbilang peringkat

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan robot BTC dengan beberapa peringkat berhenti. Ia membuat pembelian dengan mencari titik terendah, kemudian menetapkan titik berhenti pelbagai untuk membuat keluar dari titik berhenti. Ia juga menetapkan titik berhenti untuk mengawal risiko.

Prinsip Strategi

  1. Mencari masa untuk masuk: apabila CC di bawah penunjuk melintasi paksi 0 menghasilkan sinyal beli, pada titik itu membeli lebih banyak pesanan.

  2. Tetapkan titik hentian: Hentikan dengan menukarkan peratusan hentian input ke harga.

  3. Tetapkan titik henti pelbagai peringkat: terbahagi kepada 4 titik keluar, dengan input menetapkan peratusan henti setiap titik keluar, dan mengubahnya menjadi harga untuk menghentikan henti.

  4. Kawalan risiko: Tetapkan jumlah pegangan maksimum, dengan peratusan jumlah keluar setiap titik keluar yang ditetapkan oleh input, untuk menyebarkan risiko.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Sinyal masuk lebih dipercayai, cari pembelian pada titik terendah dan elakkan pembelian pada titik tinggi.

  2. Multilevel Stop Stop boleh mengunci sebahagian daripada keuntungan, sambil mengekalkan sebahagian daripada keuntungan untuk terus beroperasi.

  3. Tetapkan titik berhenti untuk mengawal risiko, boleh mengawal kerugian dalam beberapa tahap.

  4. Perlumbaan dalam kumpulan boleh membahagikan risiko, mengelakkan kerugian secara keseluruhan.

  5. Penarikan diri boleh dikawal.

Analisis risiko

Strategi ini juga mempunyai risiko:

  1. CC tidak dapat menentukan titik terendah dengan tepat, dan ia mungkin akan kehilangan peluang untuk membeli.

  2. Tetapan titik henti yang tidak betul boleh menyebabkan hentian yang tidak perlu.

  3. Pengaturcaraan yang tidak betul juga boleh menyebabkan kerugian keuntungan.

  4. Ia adalah lebih sukar untuk menghentikan gempa.

  5. Mungkin sukar untuk dihalang apabila keadaan berubah secara drastik.

Arah pengoptimuman

Ia boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan isyarat masuk, tambah lebih banyak petunjuk atau penilaian pembelajaran mesin untuk menentukan masa pembelian.

  2. Mengoptimumkan strategi menghentikan kerugian, menjadikannya lebih fleksibel dan lebih baik dalam menangani situasi.

  3. Mengoptimumkan strategi untuk beraksi supaya lebih mudah beradaptasi dengan kejatuhan dan trend.

  4. Menambah strategi seperti trailing stop untuk menjadikan penangguhan lebih fleksibel.

  5. Uji seting parameter yang berbeza untuk mencari kombinasi parameter terbaik.

ringkaskan

Strategi ini secara keseluruhannya adalah strategi perdagangan BTC yang berdasarkan mencari isyarat pembelian titik terendah dan menetapkan beberapa tahap berhenti dan berhenti. Ia mempunyai kelebihan tertentu, tetapi juga terdapat arah yang dapat dioptimumkan. Dengan pengoptimuman lanjut, strategi ini dapat dilakukan dengan lebih baik dalam hal kawalan penarikan balik dan berhenti.

Kod sumber strategi
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
args: [["v_input_1",2]]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RafaelZioni


// © theCrypster 2020

//@version=4
// strategy(title = "BTC bot", overlay = true, pyramiding=1,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, 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)
//INPUTS
higherTF = input("W", type=input.resolution)
pc = security(syminfo.tickerid, higherTF, close[1], lookahead=true)
ph = security(syminfo.tickerid, higherTF, high[1], lookahead=true)
pl = security(syminfo.tickerid, higherTF, low[1], lookahead=true)

PP = 0.0,R1 = 0.0, R2 = 0.0, R3 = 0.0,S1 = 0.0, S2 = 0.0, S3 = 0.0

PP := (ph + pl + pc) / 3
R1 := PP     + (PP   - pl)
S1 := PP     - (ph - PP)
R2 := PP     + (ph - pl)
S2 := PP     - (ph - pl)
factor=input(2)
R3 := ph  + factor * (PP   - pl) 
S3 := pl   - 2 * (ph - PP) 

// 
length=input(21)
//
p = close
vrsi = rsi(p, length)
pp=ema(vrsi,length)
d=(vrsi-pp)*5
cc=(vrsi+d+pp)/2
//
low1=crossover(cc,0)

sell=crossover(close[1],R3) 
//
l = low1
s=sell
if l 
    strategy.entry("buy", strategy.long)
if s 
    strategy.entry("sell", strategy.short)
per(pcnt) =>
    strategy.position_size != 0 ? round(pcnt / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
stoploss=input(title=" stop loss", defval=15, minval=0.01)
los = per(stoploss)
q1=input(title=" qty_percent1", defval=25, minval=1)
q2=input(title=" qty_percent2", defval=25, minval=1)
q3=input(title=" qty_percent3", defval=25, minval=1)
tp1=input(title=" Take profit1", defval=3, minval=0.01)
tp2=input(title=" Take profit2", defval=5, minval=0.01)
tp3=input(title=" Take profit3", defval=7, minval=0.01)
tp4=input(title=" Take profit4", defval=10, minval=0.01)
strategy.exit("x1", qty_percent = q1, profit = per(tp1), loss = los)
strategy.exit("x2", qty_percent = q2, profit = per(tp2), loss = los)
strategy.exit("x3", qty_percent = q3, profit = per(tp3), loss = los)
strategy.exit("x4", profit = per(tp4), loss = los)