Strategi Larry Williams untuk Melintasi Moving Average


Tanggal Pembuatan: 2023-12-26 15:03:16 Akhirnya memodifikasi: 2023-12-26 15:03:16
menyalin: 1 Jumlah klik: 1523
1
fokus pada
1623
Pengikut

Strategi Larry Williams untuk Melintasi Moving Average

Ringkasan

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

Prinsip Strategi

Strategi ini didasarkan pada crossover emas dan crossover mati dari rata-rata bergerak untuk menilai peluang untuk melakukan over dan shorting. Ketika garis cepat melintasi garis lambat dari bawah sebagai crossover emas, menunjukkan bahwa pasar bergeser ke bullish, melakukan over; Ketika garis cepat melintasi garis panjang dari atas ke bawah sebagai crossover mati, menunjukkan bahwa pasar bergeser ke bearish, melakukan over.

Untuk menghindari terjadinya terobosan palsu yang menyebabkan kerugian virtual, strategi ini juga diperkenalkan untuk menilai tren besar di garis 21 hari. Hanya tindakan perdagangan yang dilakukan ketika harga melewati garis 21 hari pada saat bersamaan dengan terobosan garis cepat. Ini dapat secara efektif memfilter banyak terobosan palsu.

Secara khusus, sinyal melakukan lebih adalah: garis cepat naik dan menembus titik tinggi kemarin, sementara garis cepat menembus garis 21 hari, sehingga polinomial dapat ditetapkan; sinyal kosong adalah: garis cepat turun dan menembus titik rendah kemarin, sementara garis cepat menembus garis 21 hari, sehingga polinomial dapat ditetapkan.

Analisis Keunggulan

Keuntungan dari strategi ini adalah sebagai berikut:

  1. Strategi ini sederhana, mudah dipahami dan diterapkan.
  2. Teknologi rata-rata bergerak sudah matang dan digunakan secara luas.
  3. Masukkan filter penembusan palsu yang efektif pada 21 hari.
  4. “Saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa, saya tidak tahu apa-apa”.
  5. Parameter kebijakan yang lebih kuat, tidak mudah untuk ditinjau.

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  1. Pada saat situasi berubah-ubah, rata-rata bergerak terbelakang dan mungkin akan kehilangan poin terbaik.
  2. Dalam situasi yang tidak stabil, sering terjadi kerugian kecil.
  3. Tidak mampu menanggapi secara efektif perubahan besar dalam situasi yang disebabkan oleh insiden yang tidak terduga.

Risiko-risiko tersebut dapat dioptimalkan dan dikontrol dengan cara berikut:

  1. Memperkenalkan penilaian tambahan pada indikator MACD untuk mendapatkan lebih banyak sinyal real-time.
  2. Tingkatkan parameter periodik rata-rata bergerak untuk mengurangi frekuensi transaksi.
  3. Meningkatkan strategi stop loss dan mengendalikan kerugian tunggal.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimasi parameter. Kombinasi parameter siklus MA dapat diuji dengan metode yang lebih sistematis untuk menemukan parameter yang lebih baik.

  2. Meningkatkan stop loss. Mengatur stop loss yang masuk akal, stop loss skala, dan lain-lain. Mengontrol kerugian tunggal secara efektif.

  3. Dalam kombinasi dengan indikator lain. Mengenaikan sinyal indikator lain seperti MACD, ATR, KD, dan lain-lain untuk mendapatkan lebih banyak dimensi konfirmasi dan meningkatkan stabilitas strategi.

  4. Mengoptimalkan mekanisme penarikan diri. Mempelajari berbagai jenis strategi penarikan diri, seperti cara membalik sinyal penarikan diri, dan penarikan diri dari mobil.

Meringkaskan

Strategi melintasi moving average secara keseluruhan adalah strategi pelacakan tren yang sangat tipikal dan praktis. Ini memiliki kelebihan yang mudah dipahami dan diimplementasikan, tetapi juga ada beberapa ruang untuk perbaikan. Dengan metode optimasi parameter, pengoptimalan stop loss, dan kombinasi multi-indikator, strategi ini dapat terus ditingkatkan, sehingga menjadi sistem perdagangan yang lebih stabil dan praktis.

Kode 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)  )