Strategi Beli dan Jual Berbilang Penunjuk


Tarikh penciptaan: 2023-10-18 11:36:38 Akhirnya diubah suai: 2023-10-18 11:36:38
Salin: 3 Bilangan klik: 649
1
fokus pada
1617
Pengikut

Strategi Beli dan Jual Berbilang Penunjuk

Gambaran keseluruhan

Strategi ini menggabungkan indikator garis rata, indikator overbought dan oversold, dan indikator kadar turun naik untuk membeli pada harga rendah jika terdapat rebound dan menjual pada harga tinggi jika terdapat rebound.

Prinsip Strategi

Apabila RSI dan Stoch berada di kawasan oversold pada masa yang sama, dan penyokong AO membuat kedudukan apabila terdapat isyarat pembalikan. Khususnya, apabila RSI dan Stoch berada di kedudukan rendah (bawah 30 dan 20), dan AO melakukan lebih banyak apabila ia membetulkan dari negatif; apabila RSI dan Stoch berada di kedudukan tinggi (atas 70 dan 80), dan AO melakukan kosong apabila ia membetulkan dari negatif.

Strategi ini menggunakan empat penunjuk utama:

  • AO Oscillator: mencerminkan pergerakan harga yang boleh digunakan untuk menentukan pembalikan trend.
  • RSI merupakan penunjuk yang agak lemah: mencerminkan keadaan overbought dan oversold. Bawah 30 adalah kawasan oversold.
  • StochStochastic: mencerminkan kawasan overbuy dan oversold. Bawah 20 adalah kawasan oversold.
  • Rata-rata gelombang sebenar ATR: mencerminkan pergerakan harga terkini.

Apabila terdapat isyarat pembalikan AO, dan RSI dan Stoch berada di kawasan oversold pada masa yang sama, ini menunjukkan bahawa harga mungkin berbalik, dan ini boleh campur tangan untuk membina kedudukan. Indeks ATR digunakan untuk menetapkan harga hentian hentian, menyesuaikan ketinggian hentian hentian mengikut turun naik pasaran, untuk mengelakkan pegangan.

Kelebihan Strategik

  • Menggunakan pelbagai petunjuk untuk mengesahkan isyarat, mengelakkan perdagangan yang salah yang disebabkan oleh satu petunjuk.
  • Penetapan stop-loss yang ditetapkan mengikut turun naik pasaran dapat mengawal kerugian tunggal dengan berkesan.
  • Strategi perdagangan logiknya mudah difahami dan mudah diimplementasikan.
  • Ia boleh digunakan untuk mengambil peluang yang lebih baik untuk merebut peluang yang lebih baik.

Risiko dan penyelesaian

  • Penunjuk AO mudah menghasilkan isyarat palsu dan perlu digunakan dengan gabungan RSI dan penunjuk Stoch untuk mengelakkan perdagangan yang salah.
  • Tetapan parameter tetap mungkin tidak dapat menyesuaikan diri dengan perubahan pasaran, dan parameter perlu dioptimumkan.
  • Titik hentian terlalu dekat dan mungkin sering dihentikan. Anda boleh melepaskan jangkauan hentian dengan sewajarnya, atau menggunakan strategi keluar dari lapangan.
  • Penangguhan tetap, kemungkinan berlepas awal atau inlineCallbacks. Penangguhan bergerak atau berlepas berturut-turut boleh digunakan.

Untuk mengurangkan risiko ini, anda boleh mengoptimumkan:

  1. Optimumkan parameter untuk membolehkannya menyesuaikan diri dengan pasaran yang berbeza untuk kitaran dan varieti.
  2. Peningkatan mekanisme hentian kerugian, seperti hentian bergerak, pemisahan lapangan, dan sebagainya.
  3. Mengoptimumkan syarat kemasukan untuk mengelakkan isyarat salah kerana satu indikator.
  4. Mengoptimumkan cara berhenti seperti berhenti bergerak atau berhenti mengikut trend.

Arah pengoptimuman strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Tetapan parameter pengoptimuman. Anda boleh mencari kombinasi parameter yang lebih baik dengan mengembara melalui kaedah seperti mencari keunggulan.

  2. Tambah syarat penapisan. Anda boleh menambah pengesahan tambahan pada masa kemasukan untuk mengelakkan isyarat palsu.

  3. Mekanisme penangguhan kerugian yang dioptimumkan. Anda boleh menggunakan penangguhan bergerak, keluar dari lapangan, dan lain-lain untuk mengawal risiko.

  4. Mengoptimumkan cara berhenti. Anda boleh mengunci lebih banyak keuntungan dengan cara berhenti bergerak dan berhenti mengikut trend.

  5. Tambah penangguhan automatik. Sebagai contoh, penangguhan apabila mendekati pintu integer penting, untuk mengelakkan kejatuhan.

  6. Pengurusan wang yang optimum. Sebagai contoh, menyesuaikan saiz kedudukan mengikut perubahan risiko, mengawal kerugian maksimum.

  7. Optimumkan ujian untuk varieti / kitaran tertentu. Parameter dan kaedah penangguhan kerugian harus dioptimumkan untuk varieti dan kitaran yang berbeza.

  8. Menambah pengendalian kepada peristiwa yang tidak dijangka. Sebagai contoh, mengelakkan perdagangan apabila berita penting, atau berhenti dengan cepat.

ringkaskan

Strategi ini menggunakan sistem garis rata, sistem overbought dan oversold serta sistem turun naik, dengan kemampuan trend yang kuat untuk membeli dengan harga rendah dan menjual dengan harga tinggi. Tetapi terdapat juga beberapa masalah seperti parameter yang ditetapkan tetap, mekanisme penangguhan yang tidak sempurna. Kita boleh melakukan pengoptimuman pelbagai sudut dari segi pengoptimuman parameter, memperbaiki mekanisme penangguhan, menambah keadaan riak, dan sebagainya, untuk menjadikan strategi lebih stabil dan boleh dipercayai.

Kod 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)