Strategi Beli dan Jual Multi-Indikator


Tanggal Pembuatan: 2023-10-18 11:36:38 Akhirnya memodifikasi: 2023-10-18 11:36:38
menyalin: 3 Jumlah klik: 649
1
fokus pada
1617
Pengikut

Strategi Beli dan Jual Multi-Indikator

Ringkasan

Strategi ini menggabungkan indikator rata-rata, indikator overbought dan oversold, dan indikator volatilitas untuk melakukan pembelian rendah pada saat overbought rebound dan penjualan tinggi pada saat overbought rebound, untuk melacak tren.

Prinsip Strategi

Ketika RSI dan Stoch berada di zona oversold sekaligus, dan AO oscillator membuat posisi ketika ada sinyal reversal. Secara khusus, ketika RSI dan Stoch berada di posisi rendah (< 30 dan 20), AO melakukan lebih banyak ketika berbalik dari negatif; ketika RSI dan Stoch berada di posisi tinggi (< 70 dan 80), AO melakukan posisi kosong ketika berbalik dari positif ke negatif. Stop loss dan stop loss diatur berdasarkan nilai indikator ATR, yang memungkinkan untuk menyesuaikan posisi stop loss sesuai dengan pergerakan pasar.

Strategi ini menggunakan empat indikator utama:

  • AO oscillator: mencerminkan dinamika perubahan harga, yang dapat digunakan untuk menentukan pembalikan tren.
  • RSI adalah indikator yang relatif kuat: mencerminkan overbought dan oversold. Di bawah 30 adalah zona oversold.
  • StochStochastic: mencerminkan zona overbought dan oversold. Di bawah 20 adalah zona oversold.
  • ATR rata-rata real wavelength: mencerminkan volatilitas harga baru-baru ini.

Ketika AO muncul sinyal reversal, dan RSI dan Stoch pada saat yang sama berada di daerah oversold, menunjukkan bahwa harga mungkin reversal, yang dapat melakukan intervensi untuk membangun posisi. Indikator ATR digunakan untuk menetapkan harga stop loss dan stop loss, sesuai dengan volatilitas pasar untuk menyesuaikan stop loss dan stop loss untuk menghindari pegangan.

Keunggulan Strategis

  • Menggunakan beberapa indikator untuk mengkonfirmasi sinyal, menghindari kesalahan perdagangan yang disebabkan oleh satu indikator.
  • Stop loss yang ditetapkan berdasarkan volatilitas pasar, dapat secara efektif mengendalikan kerugian tunggal.
  • Strategi trading logikanya sederhana dan jelas, dan mudah dipahami implementasinya.
  • Dengan intervensi dalam situasi overbought dan oversold, peluang untuk reversal dapat ditangkap tepat waktu.

Risiko dan Solusi

  • Indikator AO mudah menghasilkan sinyal palsu dan perlu digunakan dalam kombinasi dengan RSI dan Stoch untuk menghindari perdagangan yang salah.
  • Pengaturan parameter tetap mungkin tidak dapat beradaptasi dengan perubahan pasar dan perlu mengoptimalkan parameter tersebut.
  • Stop loss terlalu dekat dan mungkin akan sering dihentikan. Anda dapat melebarkan jangkauan stop loss dengan tepat, atau menggunakan strategi keluar dari lapangan.
  • Halangan tetap, kemungkinan keberangkatan prematur atau inlineCallbacks. Halangan bergerak atau keberangkatan berkelompok dapat digunakan.

Untuk mengurangi risiko ini, ada beberapa hal yang dapat dioptimalkan:

  1. Optimalkan parameter agar dapat beradaptasi dengan berbagai siklus dan varietas pasar.
  2. Peningkatan mekanisme penangguhan kerugian, seperti penangguhan bergerak, pembagian kerugian, dan sebagainya.
  3. Optimalkan kondisi masuk, hindari sinyal yang salah karena satu indikator.
  4. Mengoptimalkan cara stop seperti stop mobile atau stop segmentasi berdasarkan tren.

Arah optimasi strategi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Pengaturan parameter optimasi. Anda dapat menemukan kombinasi parameter yang lebih baik dengan menjelajahi metode pencarian optimasi dan sebagainya.

  2. Menambahkan kondisi penyaringan. Anda dapat menambahkan konfirmasi indikator tambahan pada saat masuk, untuk menghindari sinyal palsu.

  3. Optimalkan mekanisme stop loss. Anda dapat mengontrol risiko dengan menggunakan stop loss yang bergerak, berangkat dari lapangan, dan sebagainya.

  4. Mengoptimalkan cara stop loss. Anda dapat mengunci lebih banyak keuntungan dengan cara stop loss yang bergerak, stop loss yang dipotong berdasarkan tren, dan sebagainya.

  5. Tambahkan stop otomatis. Misalnya, stop ketika mendekati pintu integer penting, untuk menghindari lompatan.

  6. Mengoptimalkan pengelolaan dana. Misalnya, menyesuaikan ukuran posisi sesuai dengan perubahan risiko, mengendalikan kerugian maksimum.

  7. Optimasi tes untuk varietas / siklus tertentu. Parameter dan metode stop loss harus dioptimalkan untuk varietas dan siklus yang berbeda.

  8. Meningkatkan penanganan terhadap kejadian-kejadian yang tidak terduga. Misalnya menghindari perdagangan saat berita penting, atau berhenti cepat.

Meringkaskan

Strategi ini menggunakan sistem linear, sistem overbought dan oversold serta sistem volatilitas, dengan kemampuan untuk melacak tren yang kuat. Namun, ada beberapa masalah seperti pengaturan parameter tetap, mekanisme stop loss yang tidak sempurna. Kita dapat melakukan optimasi multi-aspek dari pengaturan parameter yang dioptimalkan, memperbaiki mekanisme stop loss, menambahkan kondisi riak, dan lain-lain.

Kode Sumber Strategi
/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)