Strategi ini dicipta berdasarkan prinsip bercabang emas dan bercabang mati. Apabila rata-rata jangka pendek berada di atas rata-rata jangka panjang, lakukan lebih banyak; apabila rata-rata jangka pendek berada di bawah rata-rata jangka panjang, posisi kosong. Strategi ini mudah difahami dan sesuai untuk pelajar pemula.
Strategi ini berdasarkan kepada dua indikator garis rata sma ((close, 14) dan sma ((close, 28).
Pertama, tentukan garis purata panjang dan pendek:
short_ma = sma(close, 14)
long_ma = sma(close, 28)
Kemudian, berdasarkan keputusan yang dibuat oleh penyokong-penyokong yang terlibat, dia berkata:
longCondition = crossover(short_ma, long_ma)
shortCondition = crossunder(short_ma, long_ma)
Apabila anda memakai garis rata-rata jangka panjang pada garis rata-rata jangka pendek, lakukan lebih banyak:
strategy.entry("Buy", strategy.long, when = longCondition)
Apabila jangka pendek rata-rata di bawah garis rata-rata jangka panjang:
strategy.close_all(when = shortCondition)
Prinsip strategi ini adalah mudah dan jelas, menggunakan garpu emas garpu mati garpu untuk membuat keputusan, dan mempunyai keupayaan untuk mengesan trend.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Anda boleh mencuba pelbagai jangka masa purata jangka pendek dan jangka panjang untuk mencari kombinasi terbaik. Sebagai contoh, ujian perbandingan parameter (5, 10), (10, 20), (20, 60) dan sebagainya.
Anda boleh menambah syarat penapisan seperti jumlah transaksi, perbezaan harga dan lain-lain semasa persilangan garis rata-rata untuk mengelakkan terlalu banyak transaksi dalam pasaran yang bergolak.
Menetapkan titik henti atau menggunakan garis rata sebagai garis henti, anda boleh mengawal kerugian tunggal.
Ia boleh digunakan untuk perdagangan gabungan dengan penunjuk tambahan seperti MACD, KDJ dan lain-lain untuk meningkatkan kesan strategi.
Mencari tempat kemasukan yang lebih baik berhampiran garis rata-rata, dan bukannya membina kedudukan yang rapat dengan garis rata-rata. Sebagai contoh, tempat kemasukan yang jauh dari garis rata-rata.
Konsep strategi dua garis sejajar adalah mudah dan mudah digunakan oleh pemula. Tetapi strategi ini sensitif terhadap gegaran pasaran, terdapat risiko kerugian tertentu. Kita boleh meningkatkan keberkesanan strategi dengan mengoptimumkan parameter, menambah syarat penapis, menetapkan hentian, dan menambahkan indikator lain.
||
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.
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.
The strategy can be optimized in the following aspects:
Test different short and long MA periods, such as (5, 10), (10, 20), (20, 60) etc to find the optimal combination.
Add filters like trading volume, price gap etc. near MA crossovers to avoid excessive trades in ranging markets.
Set stop loss price or use MA as stop loss line to control single trade loss.
Add auxiliary indicators like MACD, KDJ etc. to improve strategy performance.
Find better entry points near MAs instead of entering right at the crossover. For example, enter on MA divergence points.
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]
/*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))