Strategi ini menggabungkan indikator rata-rata bergerak, oversold overbought dan volatility rate untuk membeli pada penurunan ketika oversold dan menjual pada kenaikan ketika overbought, untuk melacak tren.
Ambil posisi ketika RSI dan Stoch berada di zona oversold/overbought dan osilator AO menunjukkan sinyal pembalikan. Secara khusus, pergi panjang ketika RSI dan Stoch rendah (di bawah 30 dan 20) dan AO berubah dari negatif menjadi positif; pergi pendek ketika RSI dan Stoch tinggi (di atas 70 dan 80) dan AO berubah dari positif menjadi negatif. Atur stop loss dan ambil keuntungan berdasarkan nilai ATR untuk menyesuaikan tingkat kerugian / keuntungan sesuai dengan volatilitas pasar.
Strategi ini terutama menggunakan empat indikator:
Ketika AO menunjukkan sinyal pembalikan dan RSI & Stoch keduanya berada di zona oversold / overbought, harga dapat berbalik. Ambil posisi pada saat ini. Gunakan ATR untuk mengatur stop loss dan mengambil harga profit untuk menghindari terjebak dengan menyesuaikan rentang loss / profit berdasarkan volatilitas.
Untuk mengurangi risiko, optimalisasi dalam aspek berikut:
Aspek di bawah ini dapat dioptimalkan untuk strategi:
Mengoptimalkan pengaturan parameter dengan melewati nilai yang berbeda.
Tambahkan kondisi filter saat masuk untuk menghindari sinyal palsu.
Mengoptimalkan metode stop loss seperti trailing stop loss.
Mengoptimalkan mengambil keuntungan cara seperti adaptif mengambil keuntungan.
Tambahkan otomatis mengambil keuntungan di dekat tingkat kunci untuk menghindari penarikan.
Mengoptimalkan pengelolaan uang dengan menyesuaikan ukuran posisi berdasarkan risiko.
Uji dan optimalkan parameter dan tingkat stop/profit berdasarkan instrumen dan kerangka waktu yang berbeda.
Menangani peristiwa ekstrem seperti menghindari perdagangan selama berita atau cepat memotong kerugian.
Strategi ini menggabungkan sistem moving average, overbought-oversold dan volatility untuk membeli rendah dan menjual tinggi, dengan kemampuan mengikuti tren yang kuat. Tapi beberapa masalah seperti parameter tetap dan stop loss yang tidak tepat ada. Kita dapat mengoptimalkan dari berbagai aspek seperti penyesuaian parameter, meningkatkan stop loss, menambahkan filter untuk membuatnya lebih kuat. Dalam perdagangan nyata, perlu menguji dan mengoptimalkan berdasarkan instrumen dan periode tertentu untuk memaksimalkan efektivitas dan profitabilitasnya.
/*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)