Strategi Larry Williams untuk Melintasi Purata Pergerakan


Tarikh penciptaan: 2023-12-26 15:03:16 Akhirnya diubah suai: 2023-12-26 15:03:16
Salin: 1 Bilangan klik: 1523
1
fokus pada
1623
Pengikut

Strategi Larry Williams untuk Melintasi Purata Pergerakan

Gambaran keseluruhan

Strategi ini adalah strategi sederhana klasik untuk melintasi purata bergerak, yang dicipta oleh pedagang terkenal Larry Williams. Strategi ini menggunakan purata bergerak sederhana pada hari ke-9 sebagai garis cepat, dan purata bergerak indeks pada hari ke-21 sebagai garis lambat.

Prinsip Strategi

Strategi ini berdasarkan kepada pergerakan rata-rata yang berpusat pada persimpangan emas dan persimpangan kematian untuk menilai peluang untuk melakukan lebih banyak dan lebih rendah. Apabila garis cepat melintasi garis perlahan dari bawah untuk emas, menunjukkan bahawa pasaran bertukar menjadi bullish, melakukan lebih banyak; apabila garis cepat melintasi garis panjang dari atas ke bawah untuk kematian, menunjukkan bahawa pasaran bertukar menjadi bearish, seperti itu.

Untuk mengelakkan pecah palsu yang menyebabkan kerugian maya, strategi ini juga memperkenalkan trend besar untuk menilai garis 21 hari. Hanya tindakan perdagangan dilakukan apabila harga melepasi garis 21 hari pada masa yang sama dengan garis cepat. Ini dapat menyaring banyak pecah palsu dengan berkesan.

Secara khusus, isyarat melakukan lebih adalah: garis cepat naik dan menembusi titik tinggi semalam, sementara garis cepat menembusi garis 21 hari, sehingga banyak kepala ditubuhkan; isyarat kosong adalah: garis cepat turun menembusi titik rendah semalam, sementara garis cepat menembusi garis 21 hari, sehingga kepala kosong ditubuhkan.

Analisis kelebihan

Kelebihan strategi ini ialah:

  1. Strategi ini mudah, mudah difahami dan dilaksanakan.
  2. Teknologi purata bergerak sudah matang dan digunakan secara meluas.
  3. Memperkenalkan 21 hari untuk penapisan penembusan palsu.
  4. “Saya tidak tahu apa-apa mengenai apa yang berlaku di Malaysia, tetapi saya tidak tahu apa-apa mengenai apa yang berlaku di Malaysia.
  5. Parameter strategi yang lebih kukuh dan tidak mudah dipasangkan.

Analisis risiko

Strategi ini mempunyai risiko utama:

  1. Apabila keadaan berubah-ubah, purata bergerak terlewat dan mungkin terlepas tempat terbaik.
  2. Dalam keadaan yang tidak menentu, kerugian kecil sering berlaku.
  3. Tidak dapat bertindak balas dengan berkesan terhadap perubahan besar dalam keadaan yang disebabkan oleh kejadian mendadak.

Risiko di atas boleh dioptimumkan dan dikawal dengan:

  1. Memperkenalkan penunjuk penyokong penilaian MACD untuk mendapatkan lebih banyak isyarat masa nyata.
  2. Tingkatkan parameter kitaran purata bergerak untuk mengurangkan kekerapan dagangan.
  3. Tambah strategi hentikan kerugian dan kawal kerugian tunggal.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dengan cara berikut:

  1. Pengoptimuman parameter. Kombinasi parameter kitaran MA boleh diuji dengan kaedah yang lebih sistematik untuk mencari parameter yang lebih baik.

  2. Meningkatkan penutupan. Menetapkan penutupan bergerak yang munasabah, penutupan penutupan skala, dan lain-lain, untuk mengawal kerugian tunggal dengan berkesan.

  3. Gabungan dengan penunjuk lain. Masukkan isyarat penunjuk lain seperti MACD, ATR, KD, dan sebagainya untuk mendapatkan pengesahan dimensi yang lebih besar dan meningkatkan kestabilan strategi.

  4. Mengoptimumkan mekanisme keluar. Kajian pelbagai jenis strategi keluar, seperti cara untuk membalikkan isyarat keluar, bergerak berhenti keluar.

ringkaskan

Strategi melintasi rata-rata bergerak secara keseluruhan adalah strategi pengesanan trend yang sangat tipikal dan praktikal. Ia mempunyai kelebihan untuk difahami dan dilaksanakan dengan mudah, tetapi ada ruang untuk penambahbaikan.

Kod sumber strategi
// @_benac
//@version=5
strategy('Larry', overlay=true , initial_capital=1000 )


////////////////////////////////////////////////////////
//                                                    //
//                                                    //
//                 Codigo Operacional                 //
//                                                    //
//                                                    //
////////////////////////////////////////////////////////

// Usage for Stocks , or Criptos with value bigger then 1, cuz of 0.01 ´pip.
// Daily timeframe
//Observation Point
start     = timestamp(2020, 00, 00, 00, 00)         // backtest start window
finish    = timestamp(2022, 01, 07, 23, 59)        // backtest finish window
window()  => true // create function "within window of time"  

if time < start 
    strategy.close_all("Closing All")

// Take infos from inputs. 
inp_mmshort = input.int(defval = 9, title = "Media Curta"  )
inp_mminter = input.int(defval = 21, title = "Media Curta"  )

// Risk Manager, here define max and min 
inp_max = input.int(defval = 15, title = "Percentual Ganho"  )
inp_min = input.int(defval = 5, title = "Percental  Perda"  )

// Converting the input to % 
pmax = (inp_max / 100 )
pmin =  (inp_min / 100)

// Infos From Moving Average
mm_short = ta.sma(close , inp_mmshort)
mm_inter = ta.ema(close , inp_mminter)


// Trend Logic
//Long Condition 

//Setup do Larry Willians Bem Simples , media virou para cima e rompeu a maxima de referencia, compra. 
tendencia_alta = mm_short[2] > mm_short[1] and mm_short > mm_short[1] and close > high[1] and close > mm_short and mm_short > mm_inter
tendencia_baixa = mm_short[2] < mm_short[1] and mm_short < mm_short[1] and close > low[1] and close < mm_short and mm_short < mm_inter

// Creating the entry
if tendencia_alta 
    strategy.entry("Compra" , strategy.long , stop = low - 0.01  )
    stop_inst = low - 0.01 
if tendencia_baixa 
    strategy.entry("Venda" , strategy.short , stop= high + 0.01  )
    stop_inst = high + 0.01


// TrailingStop Creation

// Sell Position
if strategy.position_size < 0 
    gain_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close < gain_p 
        strategy.close_all(comment = " 1 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close > stop_p 
        strategy.close_all(comment = " 2 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    
    if  high > mm_short[1]
        strategy.close_all(comment = " 3 - Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
      

// Buy Position    
if strategy.position_size > 0
    gain_p = strategy.opentrades.entry_price(0) + (strategy.opentrades.entry_price(0) * pmax) 
    stop_p = strategy.opentrades.entry_price(0) - (strategy.opentrades.entry_price(0) * pmin) 
    // Managing the position
    if close > gain_p 
        strategy.close_all(comment = " 1- Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if close < stop_p 
        strategy.close_all(comment = " 2 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )
    if low < mm_short[1]
        strategy.close_all(comment = " 3 -Ganho : " + str.tostring( gain_p) + " Perda : " + str.tostring( stop_p)  )