
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.
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:
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.
Untuk mengurangi risiko ini, ada beberapa hal yang dapat dioptimalkan:
Strategi ini dapat dioptimalkan dalam beberapa hal:
Pengaturan parameter optimasi. Anda dapat menemukan kombinasi parameter yang lebih baik dengan menjelajahi metode pencarian optimasi dan sebagainya.
Menambahkan kondisi penyaringan. Anda dapat menambahkan konfirmasi indikator tambahan pada saat masuk, untuk menghindari sinyal palsu.
Optimalkan mekanisme stop loss. Anda dapat mengontrol risiko dengan menggunakan stop loss yang bergerak, berangkat dari lapangan, dan sebagainya.
Mengoptimalkan cara stop loss. Anda dapat mengunci lebih banyak keuntungan dengan cara stop loss yang bergerak, stop loss yang dipotong berdasarkan tren, dan sebagainya.
Tambahkan stop otomatis. Misalnya, stop ketika mendekati pintu integer penting, untuk menghindari lompatan.
Mengoptimalkan pengelolaan dana. Misalnya, menyesuaikan ukuran posisi sesuai dengan perubahan risiko, mengendalikan kerugian maksimum.
Optimasi tes untuk varietas / siklus tertentu. Parameter dan metode stop loss harus dioptimalkan untuk varietas dan siklus yang berbeda.
Meningkatkan penanganan terhadap kejadian-kejadian yang tidak terduga. Misalnya menghindari perdagangan saat berita penting, atau berhenti cepat.
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.
/*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)