Strategi ini menggunakan kombinasi dari beberapa indikator untuk menentukan arah tren dan peluang perdagangan, mengadopsi pendekatan keseimbangan tekanan untuk meningkatkan tingkat kemenangan perdagangan.
Gunakan EMA untuk menghitung moving average untuk menentukan arah tren keseluruhan. Nilai EMA yang lebih besar menunjukkan tren naik, sedangkan nilai EMA yang lebih kecil menunjukkan tren turun.
Gunakan MACD untuk menghitung perbedaan antara rata-rata bergerak cepat dan lambat. Ketika perbedaannya lebih besar dari 0, itu menunjukkan tren naik, jika kurang dari 0, itu menunjukkan tren turun.
Gunakan PSAR untuk menghitung titik variabel terus menerus. Ketika nilai PSAR besar, itu menunjukkan tren menurun, ketika nilai PSAR kecil, itu menunjukkan tren naik.
Menggabungkan tiga indikator di atas untuk menentukan konsistensi tren. Ketika penilaian dari tiga indikator konsisten, itu mewakili tren yang jelas yang memungkinkan perdagangan masuk.
Masukkan perdagangan berdasarkan kriteria beli dan jual, dan atur titik stop loss dan take profit. keluarkan perdagangan ketika kondisi stop loss atau take profit terpenuhi untuk mewujudkan keuntungan.
Peraturan khusus adalah:
Menggunakan beberapa indikator untuk menentukan tren meningkatkan akurasi.
Pembukaan perdagangan berdasarkan tren pasti yang diidentifikasi melalui neraca tekanan meningkatkan tingkat kemenangan.
Menetapkan stop loss dan mengambil keuntungan dapat membatasi kerugian dan mengunci keuntungan.
Aturan perdagangan yang jelas dan sistematis membuatnya cocok untuk perdagangan algoritma.
Parameter dapat dioptimalkan untuk menyesuaikan dengan produk dan kerangka waktu yang berbeda.
Penghakiman tren mungkin salah, menghasilkan arah perdagangan yang salah.
Gerakan pasar yang ekstrim dapat menghasilkan sinyal palsu dari indikator.
Stop loss diatur terlalu luas, tidak bisa keluar tepat waktu.
Penyesuaian parameter yang tidak tepat menyebabkan over-trading atau trading yang hilang.
Produk tidak likuid tidak dapat memenuhi rencana stop loss dan take profit.
Risiko dapat dikurangi dengan mengoptimalkan parameter, menyesuaikan stop, dan memilih produk cair.
Sesuaikan periode EMA untuk mengoptimalkan akurasi tren.
Siapkan periode MACD cepat dan lambat untuk meningkatkan sensitivitas.
Optimalkan stop loss dan mengambil rasio keuntungan untuk menemukan keseimbangan yang ideal.
Tambahkan indikator tambahan lainnya untuk meningkatkan waktu masuk.
Pilih produk dengan likuiditas yang baik dan perubahan besar.
Sesuaikan kerangka waktu agar sesuai dengan karakteristik produk yang berbeda.
Strategi ini mengintegrasikan beberapa indikator untuk analisis tren dan memasuki perdagangan berdasarkan tren yang pasti, dengan stop loss dan take profit yang telah ditetapkan sebelumnya, yang dapat secara efektif menangkap pergerakan pasar dan mencapai pengembalian yang baik sambil memastikan profitabilitas tertentu. Perbaikan lebih lanjut pada stabilitas dan profitabilitas dapat dicapai melalui penyesuaian parameter dan indikator tambahan. Aturan perdagangan yang jelas membuat strategi ini sangat cocok untuk perdagangan algoritmik.
/*backtest start: 2023-10-13 00:00:00 end: 2023-11-12 00:00:00 period: 1h basePeriod: 15m 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/ // © exlux99 //@version=4 strategy(title = "Crypto Scalper", overlay = true, pyramiding=1,initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03) len = input(60, minval=1, title="Length EMA") src = input(close, title="Source") out = ema(src, len) // fast_length = input(title="Fast Length MACD", type=input.integer, defval=12) slow_length = input(title="Slow Length MACD", type=input.integer, defval=26) signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 9) sma_source = input(title="Oscillator MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"]) sma_signal = input(title="Signal Line MA Type MACD", type=input.string, defval="EMA", options=["SMA", "EMA"]) // Calculating fast_ma = sma_source == "SMA" ? sma(src, fast_length) : ema(src, fast_length) slow_ma = sma_source == "SMA" ? sma(src, slow_length) : ema(src, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? sma(macd, signal_length) : ema(macd, signal_length) hist = macd - signal start = input(0.02) increment = input(0.02) maximum = input(0.2) var bool uptrend = na var float EP = na var float SAR = na var float AF = start var float nextBarSAR = na if bar_index > 0 firstTrendBar = false SAR := nextBarSAR if bar_index == 1 float prevSAR = na float prevEP = na lowPrev = low[1] highPrev = high[1] closeCur = close closePrev = close[1] if closeCur > closePrev uptrend := true EP := high prevSAR := lowPrev prevEP := high else uptrend := false EP := low prevSAR := highPrev prevEP := low firstTrendBar := true SAR := prevSAR + start * (prevEP - prevSAR) if uptrend if SAR > low firstTrendBar := true uptrend := false SAR := max(EP, high) EP := low AF := start else if SAR < high firstTrendBar := true uptrend := true SAR := min(EP, low) EP := high AF := start if not firstTrendBar if uptrend if high > EP EP := high AF := min(AF + increment, maximum) else if low < EP EP := low AF := min(AF + increment, maximum) if uptrend SAR := min(SAR, low[1]) if bar_index > 1 SAR := min(SAR, low[2]) else SAR := max(SAR, high[1]) if bar_index > 1 SAR := max(SAR, high[2]) nextBarSAR := SAR + AF * (EP - SAR) tplong=input(0.245, step=0.005) sllong=input(1.0, step=0.005) tpshort=input(0.055, step=0.005) slshort=input(0.03, step=0.005) if (uptrend and hist >0 and close < out) strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short") strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort') if (not uptrend and hist <0 and close > out) strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long") strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closelong')