Strategi berbalik dua garis lurus


Tanggal Pembuatan: 2023-09-21 16:40:01 Akhirnya memodifikasi: 2023-09-21 16:40:01
menyalin: 0 Jumlah klik: 606
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini didasarkan pada dua garis ekuivalen. Strategi ini mudah dipahami dan cocok untuk pemula.

Prinsip Strategi

Strategi ini didasarkan pada dua indikator rata-rata sma ((close, 14) dan sma ((close, 28).

Pertama, tentukan garis rata-rata panjang dan pendek:

short_ma = sma(close, 14)
long_ma = sma(close, 28)

Dan kemudian, berdasarkan penilaian, mereka masuk dan bermain:

longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)

Jika Anda menggunakan garis rata-rata jangka panjang, Anda harus melakukan lebih banyak:

strategy.entry("Buy", strategy.long, when = longCondition) 

Ketika posisi lurus melewati garis rata-rata jangka panjang di bawah garis rata-rata jangka pendek:

strategy.close_all(when = shortCondition)

Prinsip strategi ini sederhana dan jelas, menggunakan dua garis lurus untuk membuat keputusan, dan memiliki kemampuan untuk melacak tren.

Analisis Keunggulan

  • Strategi ini sederhana, mudah dipahami, dan mudah digunakan oleh pemula.
  • Menggunakan garis rata untuk menilai tren, memiliki kemampuan untuk melacak tren
  • Periode rata-rata yang dapat disesuaikan, parameter kebijakan yang dapat dioptimalkan
  • Stop loss yang dapat diatur untuk mengendalikan kerugian tunggal

Analisis risiko

  • Strategi Binary Equity Sensitif terhadap Guncangan Pasar dan Mungkin Memicu Banyak Perdagangan yang Merugikan
  • Garis rata-rata memiliki keterlambatan dan mungkin kehilangan titik balik harga
  • Posisi yang dibangun di dekat titik persimpangan rata-rata mudah terjebak
  • Perlu mengoptimalkan parameter siklus rata-rata, efek siklus yang berbeda mungkin berbeda
  • Tidak bisa berhenti dengan cepat saat tren berubah dengan keras

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter siklus rata-rata untuk mencari kombinasi parameter yang optimal

Anda dapat mencoba berbagai siklus garis rata-rata jangka pendek dan jangka panjang untuk menemukan kombinasi yang optimal. Misalnya, pengujian kontras parameter (5, 10), (…, 10, 20), (…, 20, 60) dll.

  1. Meningkatkan kondisi penyaringan untuk menghindari sinyal palsu

Anda dapat menambahkan filter volume, selisih harga, dan lain-lain saat persimpangan rata-rata untuk menghindari terlalu banyak transaksi di pasar yang bergoyang.

  1. Meningkatkan strategi stop loss

Mengatur stop loss atau menggunakan garis rata-rata sebagai garis stop loss, Anda dapat mengendalikan kerugian tunggal.

  1. Kombinasi dengan Indikator Lain

Anda dapat menggunakan indikator tambahan seperti MACD, KDJ, dan lain-lain untuk melakukan perdagangan kombinasi, meningkatkan efektivitas strategi.

  1. Pengoptimalan tempat masuk

Carilah titik masuk yang lebih baik di dekat garis rata-rata, daripada membangun posisi yang dekat dengan garis rata-rata. Misalnya, masuklah di tempat yang jauh dari garis rata-rata.

Meringkaskan

Konsep strategi dua garis sejajar sederhana dan mudah digunakan oleh pemula. Namun, strategi ini sensitif terhadap gejolak pasar, ada risiko kerugian tertentu. Kita dapat meningkatkan efektivitas strategi dengan cara mengoptimalkan parameter, menambahkan kondisi filter, mengatur stop loss, dan menambahkan indikator lain.

||

Overview

This strategy is designed based on the golden cross and death cross of dual moving averages. It goes long when the short period moving average crosses above the long period moving average, and closes position when the short period moving average crosses below the long period moving average. The strategy is simple and easy to understand, suitable for beginners to learn.

Strategy Logic

The strategy is mainly based on the sma(close, 14) and sma(close, 28) indicators.

First define the short and long moving averages:

short_ma = sma(close, 14)  
long_ma = sma(close, 28)

Then determine entry and exit based on golden cross and death cross:

longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma) 

Go long when the short MA crosses above the long MA:

strategy.entry("Buy", strategy.long, when = longCondition)

Close position when the short MA crosses below the long MA:

strategy.close_all(when = shortCondition) 

The logic is simple and clear, utilizing the crossovers of dual MAs to determine entries and exits. It has some trend following capacity.

Advantage Analysis

  • Simple logic, easy for beginners to use
  • Utilizes MA crossovers to determine trends
  • Customizable MA periods for parameter optimization
  • Allows stop loss to control single trade loss

Risk Analysis

  • Sensitive to market fluctuation, may generate multiple losing trades
  • Lagging nature of MAs, may miss price reversal points
  • Prone to being trapped near MA crossover points
  • Need to optimize MA periods, different periods may lead to different results
  • Unable to quickly cut loss when trend changes violently

Optimization Directions

The strategy can be optimized in the following aspects:

  1. Optimize MA periods to find the best combination

Test different short and long MA periods, such as (5, 10), (10, 20), (20, 60) etc to find the optimal combination.

  1. Add filters to avoid false signals

Add filters like trading volume, price gap etc. near MA crossovers to avoid excessive trades in ranging markets.

  1. Incorporate stop loss

Set stop loss price or use MA as stop loss line to control single trade loss.

  1. Combine with other indicators

Add auxiliary indicators like MACD, KDJ etc. to improve strategy performance.

  1. Optimize entry points

Find better entry points near MAs instead of entering right at the crossover. For example, enter on MA divergence points.

Summary

The dual MA strategy is simple for beginners to use. But it is sensitive to market fluctuations and has risks of losses. We can improve it by optimizing parameters, adding filters, incorporating stop loss, combining other indicators etc. It can perform well in strong trends but should be used with caution or proper stop loss in ranging markets.
[/trans]

Kode Sumber Strategi
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=2
// strategy("Tester", pyramiding = 50, default_qty_type = strategy.cash, default_qty_value = 20, initial_capital = 2000, commission_type = strategy.commission.percent, commission_value = 0.25)

minGainPercent = input(0.6)
gainMultiplier = minGainPercent * 0.01 + 1


longCondition = crossover(sma(close, 14), sma(close, 28))
shortCondition = crossunder(sma(close, 14), sma(close, 28))


avg_protection = input(1)
gain_protection = input(1)


strategy.entry("Buy", strategy.long, when = longCondition    and (avg_protection >= 1 ? (na(strategy.position_avg_price) ? true : close <= strategy.position_avg_price) : true))
strategy.close_all(when = shortCondition  and (gain_protection >=1 ? (close >= gainMultiplier * strategy.position_avg_price) : true))