Strategi Mengikuti Trend Persilangan Purata Pergerakan Dinamik


Tarikh penciptaan: 2023-12-08 15:45:47 Akhirnya diubah suai: 2023-12-08 15:45:47
Salin: 0 Bilangan klik: 673
1
fokus pada
1621
Pengikut

Strategi Mengikuti Trend Persilangan Purata Pergerakan Dinamik

Gambaran keseluruhan

Strategi ini mengesan trend dengan mengira dua garis lurus dinamik DEMA dan TEMA, dan membina kedudukan plus atau minus apabila mereka berlaku Goldfork atau Deadfork. Pada masa yang sama, strategi ini juga menetapkan beberapa bar memegang kedudukan untuk mengelakkan kehilangan yang tidak perlu.

Prinsip Strategi

Strategi ini digunakan untuk menilai arah trend berdasarkan persilangan DEMA dan TEMA.

DEMA mewakili purata bergerak dua indeks, yang menggabungkan ciri-ciri lancar bertimbangan EMA dan mengoptimumkan masalah ketinggalan dalam EMA. Rumus pengiraan adalah:

DEMA = 2*EMA(CLOSE,N) - EMA(EMA(CLOSE,N),N)

N di sini ialah Demalength.

TEMA mewakili purata bergerak tiga indeks, yang mengurangkan keterbelakangan purata dengan tiga kali penyelarasan indeks. Rumus pengiraan adalah:

EMA1 = EMA(CLOSE,Temalength)
EMA2 = EMA(EMA1,Temalength)
EMA3 = EMA(EMA2,Temalength)
TEMA = 3*EMA1 - 3*EMA2 + EMA3

Apabila TEMA naik melalui DEMA, anggap sebagai isyarat garpu emas, buat lebih; apabila TEMA turun melalui DEMA, anggap sebagai isyarat garpu mati, buat kosong.

Di samping itu, strategi ini juga menetapkan delayBars untuk memastikan kebenarannya dan mengelakkan isyarat palsu. Ia memerlukan kitaran berterusan selepas garpu emas atau garpu mati untuk mencetuskan masuk.

Akhirnya, strategi ini menambah logik pemeriksaan dua kali. Iaitu, sebelum membuka kedudukan, anda perlu menilai sama ada anda perlu menebus kedudukan terbalik semasa, yang dapat mengelakkan risiko penarikan dua arah.

Analisis kelebihan

  1. Menggunakan dua garis lurus dinamik untuk menilai trend dengan lebih tepat

DEMA dan TEMA, kedua-dua garis lurus dinamik, lebih sensitif daripada EMA dan SMA tradisional, dapat menangkap perubahan trend lebih cepat, sehingga meningkatkan ketepatan penghakiman pergerakan pasaran.

  1. Tetapkan kitaran kelewatan tertentu untuk menapis isyarat palsu

Tetapan parameter delayBars, yang menyebabkan perlu menunggu isyarat berlanjutan untuk beberapa waktu sebelum membuka kedudukan, untuk menyaring beberapa isyarat palsu dan mengelakkan tersandung.

  1. Pemeriksaan dua kali ganda dapat mengurangkan risiko

Strategi ini akan memberi keutamaan kepada penilaian sebelum membuka kedudukan mengenai keperluan untuk melonggarkan kedudukan terbalik, yang dapat mengelakkan risiko memegang kedudukan dua arah pada masa yang sama, dan meminimumkan kerugian dalam penarikan.

  1. Keseragaman yang kuat

Strategi ini bergantung kepada tanda-tanda dan trend yang umum, iaitu persilangan linear, dan tidak bergantung kepada jenis tertentu. Ia digunakan untuk kebanyakan jenis yang mempunyai trend yang jelas.

Analisis risiko

  1. Mudah tertipu dalam pasaran yang bergolak

Apabila pasaran berada dalam kawasan yang sangat bergolak, garis rata-rata mungkin sering bercampur, mudah membentuk isyarat palsu yang menyebabkan tersandung. Pada masa ini, tetapan kitaran kelewatan mungkin tidak dapat menyaring isyarat sepenuhnya.

Penyelesaiannya adalah untuk mengenal pasti strategi berehat selepas keadaan gegaran, atau menyesuaikan parameter garis purata dan tempoh kelewatan dengan sewajarnya.

  1. Tidak dapat mengenal pasti perangkap atau kejutan

Strategi ini hanya menjejaki trend harga dan tidak dapat meramalkan perangkap jangka pendek atau pembalikan yang disebabkan oleh peristiwa kejutan utama. Strategi ini mungkin mengalami kerugian besar.

Penyelesaiannya adalah dengan menggabungkannya dengan petunjuk lain untuk menilai latar belakang risiko, atau mengurangkan saiz kedudukan dengan sewajarnya.

Arah pengoptimuman

  1. Uji lebih banyak jenis rata-rata

Selain DEMA dan TEMA, anda juga boleh menguji kombinasi SMA, EMA dan lain-lain garis rata yang diperbaiki untuk mencari penunjuk rata yang lebih sesuai dengan pasaran tersebut.

  1. Optimumkan parameter MA dan kitaran kelewatan

Untuk mendapatkan isyarat dagangan yang lebih tepat, cari parameter panjang garisan purata dan tempoh kelewatan isyarat dengan mengoptimumkan parameter.

  1. Pelbagai varieti menyesuaikan diri dengan parameter yang berbeza

Mengikut ciri-ciri varieti, masing-masing mencari kombinasi parameter garis purata dan tempoh kelewatan yang sesuai dengan julat turun naik dan kecenderungan mereka.

  1. Penilaian risiko dalam kombinasi dengan petunjuk lain

Sebagai contoh, Bollinger Bands menentukan kadar turun naik dan kedudukan harga, untuk mengelakkan jatuh ke dalam perangkap guncangan; menggabungkan kebijaksanaan indikator kelas tenaga, untuk menilai kebolehpercayaan trend.

ringkaskan

Strategi ini mengesan tren besar melalui persilangan DEMA dan TEMA rata-rata dinamik, dan merupakan strategi pengesanan trend yang mudah. Kelebihannya adalah kestabilan, kebolehpercayaan, dan kebolehgunaan yang tinggi, sesuai untuk digunakan sebagai strategi asas; tetapi juga mempunyai kelemahan yang agak ketinggalan dan keupayaan pengiktirafan terbalik yang lemah.

Kod sumber strategi
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © jacobdickson255

strategy("Crypto Bull Run Tracker", overlay=true, pyramiding=0)

//Dema Scripting
Demalength = input.int(230, minval=1)
src = close
e1 = ta.ema(src, Demalength)
e2 = ta.ema(e1, Demalength)
dema = 2 * e1 - e2
plot(dema, "DEMA", color=#43A047)

//Tema Scripting
Temalength = input.int(210, minval=1)
ema1 = ta.ema(close, Temalength)
ema2 = ta.ema(ema1, Temalength)
ema3 = ta.ema(ema2, Temalength)
tema = 3 * (ema1 - ema2) + ema3
plot(tema, "TEMA", color=#2962FF)

delayBars = input(5, title="Bar Delay")
var int lastTradeBar = na

longCondition = ta.crossover(tema, dema) 
longExit = ta.crossunder(tema, dema)
shortCondition = ta.crossunder(tema, dema)
shortExit = ta.crossover(tema, dema)

// Exit conditions should be checked before entry conditions
// Close short position if a long condition is present
if ((shortExit and strategy.position_size < 0)) // If conditions for exiting the short are met, and there is a balance in the short direction, exit the short
    strategy.close("Short")
   

// Close long position if a short condition is present
if ((longExit and strategy.position_size > 0))
    strategy.close("Long")
   
// Now check for entry conditions
if (longCondition)
    strategy.entry("Long", strategy.long)
    lastTradeBar := bar_index

if (shortCondition)
    strategy.entry("Short", strategy.short)
    lastTradeBar := bar_index