Strategi Perdagangan Grid Tetap


Tanggal Pembuatan: 2023-11-16 17:09:45 Akhirnya memodifikasi: 2023-11-16 17:09:45
menyalin: 0 Jumlah klik: 851
1
fokus pada
1617
Pengikut

Strategi Perdagangan Grid Tetap

Ringkasan

Strategi ini menggunakan metode perdagangan grid tetap, mengatur rasio harga awal dan jarak setiap lapisan grid, dan kemudian mengatur 10 lapisan harga beli dan jual tetap sesuai dengan rasio ini, untuk mencapai strategi perdagangan grid dengan harga rendah dan tinggi.

Prinsip Strategi

Strategi ini pertama-tama menetapkan harga awal sprice dan perlapisan gridpercent per lapis. Kemudian menghitung harga beli dan jual 10 lapis berdasarkan harga awal dan perlapisan.

Rumus harga beli:

b1=sprice-(sprice*p1)

b2=sprice-(sprice*p2)

b3=sprice-(sprice*p3)

Di mana p1 sampai p10 adalah rasio yang dihitung berdasarkan gridpercent per lapis.

Ini adalah rumus harga jual:

s1=b1+(sprice*p1)

s2=b2+(sprice*p1)

s3=b3+(sprice*p1)

Kondisi pembelian adalah ketika harga penutupan lebih rendah dari harga pembelian yang sesuai akan memicu pembelian:

if (close

strategy.entry(“b1”, strategy.long, when=(close

Demikian pula, jika harga penutupan lebih tinggi dari harga jual, maka penjualan akan terjadi:

if (close>s1)

strategy.exit(“b1”, when=(close>s1))

Dengan demikian, strategi jual beli rendah pada jaringan tetap dapat terwujud.

Keunggulan Strategis

Strategi grid tetap ini memiliki beberapa keuntungan:

  1. Dengan adanya low-buy-high-sell otomatis, tidak perlu timing pasar, dan mengurangi kesulitan transaksi.

  2. Menetapkan jarak jaring yang wajar dapat secara efektif mengendalikan risiko dan menghindari kelelahan.

  3. “Kembali ke pasar, tidak peduli apakah pasar naik atau turun, Anda bisa mendapatkan keuntungan”.

  4. Grid parameter dapat disesuaikan dengan kondisi pasar yang berbeda.

  5. Anda dapat memperluas ukuran kepemilikan Anda dengan meningkatkan jumlah lapisan grid.

  6. Hal ini dapat digabungkan dengan stop loss untuk menghindari kerugian besar dalam situasi ekstrem.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko:

  1. Jika Anda berada di posisi horizontal, biaya transaksi akan menguras keuntungan Anda.

  2. Harga awal dan pengaturan grid tidak tepat waktu, mudah rugi.

  3. Jika terjadi insiden yang tidak terduga yang menyebabkan harga naik turun, maka bisa mengakibatkan kerugian.

  4. Sistem perdagangan otomatis memiliki risiko transaksi yang berurutan.

  5. Kejadian-kejadian yang berpusat pada ledakan menyebabkan kerugian yang lebih besar.

Solusi yang sesuai:

  1. Siapkan parameter grid yang masuk akal untuk memastikan keuntungan lebih besar dari biaya transaksi.

  2. Dengan mengevaluasi parameter optimasi, set harga awal dan jarak grid yang sesuai.

  3. Meningkatkan Stop Loss untuk Mengontrol Risiko

  4. Untuk menghindari antrean, harga transaksi harus dilonggarkan.

  5. Mengatur risiko dan membatasi kerugian maksimum.

Optimasi Strategi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Secara dinamis menyesuaikan jarak kisi, memperluas jarak saat gelombang meningkat, mengurangi jarak.

  2. Berdasarkan data historis, kisaran fluktuasi dihitung, dan harga awal disesuaikan secara dinamis.

  3. Dengan menggunakan model pembelajaran mesin, Anda dapat memprediksi pergerakan harga, dan secara dinamis menyesuaikan grid.

  4. Tambahkan stop loss pada titik risiko tinggi dan optimalkan posisi stop loss dengan melihat titik stop loss historis.

  5. Bergabung dengan strategi pengelolaan dana, posisi disesuaikan secara dinamis sesuai dengan kondisi keuntungan.

  6. Mengoptimalkan manajemen posisi, memaksimalkan efisiensi penggunaan dana.

  7. Mengoptimalkan eksekusi transaksi, mengurangi biaya dampak dengan menggunakan algoritma seperti TWAP.

Meringkaskan

Strategi ini menggunakan metode perdagangan grid tetap, mengatur harga beli dan jual berdasarkan rasio harga awal dan jarak grid, untuk mencapai perdagangan jual beli otomatis, yang dapat memanfaatkan fluktuasi pasar secara efektif. Anda juga harus memperhatikan pengendalian risiko, mengunci keuntungan dan mengendalikan kerugian melalui pengoptimalan parameter, penyesuaian dinamis, dan stop loss.

Kode Sumber Strategi
/*backtest
start: 2022-11-09 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
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/
// © Lionkind

//@version=5
strategy("Grid HW", overlay = true, margin_long = 1, margin_short = 1)

// Fix 35k price as starting point and 1% as a distance

sprice=input(40500,"Starting price")
gridpercent=input(1,"Percent")

// calculate the % of the 10 layers 

p1=((gridpercent*1)/100)
p2=((gridpercent*2)/100)
p3=((gridpercent*3)/100)
p4=((gridpercent*4)/100)
p5=((gridpercent*5)/100)
p6=((gridpercent*6)/100)
p7=((gridpercent*7)/100)
p8=((gridpercent*8)/100)
p9=((gridpercent*9)/100)
p10=((gridpercent*10)/100)

//set buy prices 

b1=sprice-(sprice*p1)
b2=sprice-(sprice*p2)
b3=sprice-(sprice*p3)
b4=sprice-(sprice*p4)
b5=sprice-(sprice*p5)
b6=sprice-(sprice*p6)
b7=sprice-(sprice*p7)
b8=sprice-(sprice*p8)
b9=sprice-(sprice*p9)
b10=sprice-(sprice*p10)

//set sell prices

s1=b1+(sprice*p1)
s2=b2+(sprice*p1)
s3=b3+(sprice*p1)
s4=b4+(sprice*p1)
s5=b5+(sprice*p1)
s6=b6+(sprice*p1)
s7=b7+(sprice*p1)
s8=b8+(sprice*p1)
s9=b9+(sprice*p1)
s10=b10+(sprice*p1)

//Long conditions

lc1=close<b1
lc2=close<b2
lc3=close<b3
lc4=close<b4
lc5=close<b5
lc6=close<b6
lc7=close<b7
lc8=close<b8
lc9=close<b9
lc10=close<b10

//exit conditions
ec1=close>s1
ec2=close>s2
ec3=close>s3
ec4=close>s4
ec5=close>s5
ec6=close>s6
ec7=close>s7
ec8=close>s8
ec9=close>s9
ec10=close>s10

//long orders
if (lc1)
    strategy.entry("b1", strategy.long, when=(lc1))
    
if (lc2)
    strategy.entry("b2", strategy.long, when=(lc2))
    
if (lc3)
    strategy.entry("b3", strategy.long, when=(lc3))    
if (lc4)
    strategy.entry("b4", strategy.long, when=(lc4))    
if (lc5)
    strategy.entry("b5", strategy.long, when=(lc5))
if (lc6)
    strategy.entry("b6", strategy.long, when=(lc6))
if (lc7)
    strategy.entry("b7", strategy.long, when=(lc7))    
if (lc8)
    strategy.entry("b8", strategy.long, when=(lc8))    
if (lc9)
    strategy.entry("b9", strategy.long, when=(lc9))    
if (lc10)
    strategy.entry("b10", strategy.long, when=(lc10))
    
//exit orders   
if (ec1)
    strategy.exit("b1", when=(ec1), limit=1)
if (ec2)
    strategy.exit("b2", when=(ec2), limit=1)
if (ec3)
    strategy.exit("b3", when=(ec3), limit=1)
if (ec4)
    strategy.exit("b4", when=(ec4), limit=1)
if (ec5)
    strategy.exit("b5", when=(ec5), limit=1)
if (ec6)
    strategy.exit("b6", when=(ec6), limit=1)
if (ec7)
    strategy.exit("b7", when=(ec7), limit=1)
if (ec8)
    strategy.exit("b8", when=(ec8), limit=1)
if (ec9)
    strategy.exit("b9", when=(ec9), limit=1)
if (ec10)
    strategy.exit("b10", when=(ec10), limit=1)
    

plot(b1,color=color.green)
plot(s1, color=color.red)
plot(b2, color=color.purple)