Strategi ini menggunakan gabungan pelbagai penunjuk untuk menentukan arah trend dan peluang perdagangan, menggunakan pendekatan keseimbangan tekanan untuk meningkatkan kadar kemenangan perdagangan. Ia terutamanya menggunakan penunjuk MACD, PSAR dan EMA untuk penghakiman, dan melaksanakan stop loss dan mengambil keuntungan untuk mencapai keuntungan yang berkesan.
Gunakan EMA untuk mengira purata bergerak untuk menentukan arah trend keseluruhan. Nilai EMA yang lebih besar menunjukkan trend menaik, sementara nilai EMA yang lebih kecil menunjukkan trend menurun.
Gunakan MACD untuk mengira perbezaan antara purata bergerak pantas dan perlahan. Apabila perbezaannya lebih besar daripada 0, ia menunjukkan aliran menaik, apabila kurang daripada 0, ia menunjukkan aliran menurun.
Gunakan PSAR untuk mengira titik berubah berterusan. Apabila nilai PSAR besar, ia menunjukkan trend menurun, apabila nilai PSAR kecil, ia menunjukkan trend menaik.
Menggabungkan tiga penunjuk di atas untuk menentukan konsistensi trend. Apabila penilaian ketiga-tiga penunjuk adalah konsisten, ia mewakili trend yang jelas yang membolehkan perdagangan kemasukan.
Masukkan perdagangan berdasarkan kriteria beli dan jual, dan tetapkan titik stop loss dan ambil keuntungan. keluarkan perdagangan apabila syarat berhenti kehilangan atau mengambil keuntungan dipenuhi untuk merealisasikan keuntungan.
Peraturan khusus ialah:
Menggunakan pelbagai penunjuk untuk menentukan trend meningkatkan ketepatan.
Pembukaan perdagangan berdasarkan trend yang pasti yang dikenal pasti melalui imbangan tekanan meningkatkan kadar kemenangan.
Menetapkan stop loss dan mengambil keuntungan boleh mengehadkan kerugian dan mengunci keuntungan.
Peraturan perdagangan yang jelas dan sistematik menjadikannya sesuai untuk perdagangan algoritma.
Parameter boleh dioptimumkan untuk menyesuaikan diri dengan produk dan jangka masa yang berbeza.
Penghakiman trend mungkin salah, mengakibatkan arah perdagangan yang salah.
Pergerakan pasaran yang melampau boleh menghasilkan isyarat palsu dari penunjuk.
Hentikan kehilangan terlalu luas, tidak dapat keluar tepat pada masanya.
Penyesuaian parameter yang tidak betul membawa kepada perdagangan berlebihan atau perdagangan yang hilang.
Produk tidak cair tidak boleh memenuhi pelan stop loss dan mengambil keuntungan.
Risiko boleh dikurangkan dengan mengoptimumkan parameter, menyesuaikan berhenti, dan memilih produk cecair.
Sesuaikan tempoh EMA untuk mengoptimumkan ketepatan trend.
Tuning tempoh MACD cepat dan perlahan untuk meningkatkan kepekaan.
Mengoptimumkan stop loss dan mengambil nisbah keuntungan untuk mencari keseimbangan yang ideal.
Tambah penunjuk tambahan lain untuk meningkatkan masa kemasukan.
Pilih produk dengan kecairan yang baik dan turun naik yang besar.
Sesuaikan jangka masa untuk menyesuaikan dengan ciri produk yang berbeza.
Strategi ini mengintegrasikan beberapa penunjuk untuk analisis trend dan memasuki perdagangan berdasarkan trend yang pasti, dengan stop loss dan mengambil keuntungan yang telah ditetapkan sebelumnya, yang dapat menangkap pergerakan pasaran dengan berkesan dan mencapai pulangan yang baik sambil memastikan keuntungan tertentu. Penambahbaikan lanjut terhadap kestabilan dan keuntungan dapat dicapai melalui penyesuaian parameter dan penunjuk tambahan. Peraturan perdagangan yang jelas menjadikan strategi ini sangat sesuai untuk perdagangan algoritma.
/*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')