Galileo Moving Average Crossover Strategy


Tarikh penciptaan: 2023-12-18 12:07:07 Akhirnya diubah suai: 2023-12-18 12:07:07
Salin: 0 Bilangan klik: 566
1
fokus pada
1621
Pengikut

Galileo Moving Average Crossover Strategy

Gambaran keseluruhan

Strategi penyambungan garis rata-rata Galileo adalah strategi perdagangan berdasarkan purata bergerak. Strategi ini menghasilkan isyarat perdagangan dengan mengira purata bergerak indeks untuk tempoh tertentu dan membandingkannya dengan harga. Ia menghasilkan isyarat jual apabila harga menembus garis rata-rata dari arah atas ke bawah; ia menghasilkan isyarat beli apabila harga menembus garis rata-rata dari arah bawah.

Prinsip Strategi

EMA adalah algoritma purata bergerak yang cenderung memberi lebih banyak kepentingan kepada harga terkini. Rumus pengiraan adalah:

EMA hari ini = (harga penutupan hari ini x kestabilan lancar) + (EMA semalam × ((1- kestabilan lancar))

Di antaranya, bilangan biasa licin α = ((2/(bilangan kitaran + 1)).

Strategi ini mengira nilai EMA dalam masa nyata melalui panjang kitaran input pengguna. Ia kemudian membandingkan harga dengan EMA dan menilai persilangan kedua-duanya sebagai isyarat membeli dan menjual:

  1. Apabila harga jatuh ke bawah EMA dari arah atas ke bawah, menghasilkan isyarat menjual dan melakukan operasi garis pendek.

  2. Apabila harga menembusi EMA dari arah bawah, ia akan menghasilkan isyarat beli dan melakukan operasi ganda.

Strategi ini memetakan garisan EMA dan juga anak panah yang menandakan isyarat beli dan jual.

Analisis kelebihan

Strategi penyambungan garisan rata Galileo mempunyai kelebihan berikut:

  1. Idea ini mudah difahami dan diimplementasikan, sesuai untuk pemula.
  2. Dengan menggunakan EMA, ia dapat bertindak balas dengan lebih cepat terhadap perubahan harga.
  3. Ia akan menghasilkan isyarat yang jelas dan tidak akan berlaku pertukaran yang kerap.
  4. Anda boleh menyesuaikan parameter EMA dengan keadaan pasaran yang berbeza.
  5. Isyarat masuk dan keluar jelas, kawalan risiko.

Analisis risiko

Strategi penyambungan linear Galileo juga mempunyai risiko:

  1. Apabila harga turun naik dengan kuat, lebih banyak isyarat palsu akan muncul dan mempengaruhi kesannya. Anda boleh menetapkan strategi berhenti kehilangan untuk mengoptimumkannya.
  2. Indikator tunggal mudah terjejas oleh penipuan, berlaku kegagalan isyarat. Indikator tambahan boleh ditambah untuk pengoptimuman.
  3. Terdapat beberapa tahap kelewatan, terutamanya selepas kejadian mendadak. Anda boleh menguji parameter garis purata yang lebih pendek.
  4. Tidak dapat menyesuaikan diri dengan harga yang terus berlarutan. Ini adalah kelemahan umum strategi garis sejajar.

Arah pengoptimuman

Strategi penyambungan linear Galileo boleh dioptimumkan dari beberapa arah:

  1. Gabungan dengan penunjuk lain, membina strategi komposit, mengelakkan isyarat palsu, meningkatkan kestabilan. Sebagai contoh, tambah jumlah transaksi, penunjuk trend dan sebagainya.

  2. Tambah strategi hentikan kerugian, set hentikan bergerak atau peratusan hentikan kerugian, mengawal kerugian tunggal.

  3. Uji kesan pelbagai parameter EMA, pilih kombinasi parameter terbaik. Anda juga boleh menguji jenis purata bergerak yang lain.

  4. Kajian untuk menyertai mekanisme kemasukan semula (re-entry mechanism) untuk meningkatkan kadar keuntungan apabila harga berbalik.

ringkaskan

Strategi penyambung garisan rata Galileo adalah strategi perdagangan yang mudah digunakan, jelas, mudah dikendalikan, sesuai untuk pemula yang melakukan perdagangan kuantitatif. Dengan pengoptimuman dan peningkatan yang berterusan, kami yakin bahawa kesannya akan menjadi lebih baik dan lebih baik.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © armigoldman

//@version=3
strategy(title="Galileo Galilei", shorttitle="Galileo Galilei", overlay=true, initial_capital = 100000, default_qty_type=strategy.cash, default_qty_value = 100000)
len = input(11, minval=1, title="Length")
src = input(open, title="Source")
out = ema(src, len)
plot(out, title="EMA", color=yellow)
//last8h = highest(close, 8)
//lastl8 = lowest(close, 8)

//plot(last8h, color=red, linewidth=2)
//plot(lastl8, color=green, linewidth=2)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE

// From Date Inputs
fromDay = input(defval=1, title="From Day", minval=1, maxval=31)
fromMonth = input(defval=1, title="From Month", minval=1, maxval=12)
fromYear = input(defval=2020, title="From Year", minval=1970)

// To Date Inputs
toDay = input(defval=1, title="To Day", minval=1, maxval=31)
toMonth = input(defval=12, title="To Month", minval=1, maxval=12)
toYear = input(defval=2021, title="To Year", minval=1970)

// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


bearish = cross(close, out) == 1 and close[1] > close
bullish = cross(close, out) == 1 and close[1] < close

plotshape(bearish, color=white, style=shape.arrowdown, text="BEAR", location=location.abovebar)
plotshape(bullish, color=white, style=shape.arrowup, text="BULL", location=location.belowbar)

buy = if cross(close, out) == 1 and close[1] < close
    strategy.entry("BUY", strategy.long, when=time_cond)
        //strategy.close_all(when=bearish)
        // strategy.exit("exit", "Long", profit =, loss = 35)


sell = if cross(close, out) == 1 and close[1] > close
    strategy.entry("SELL", strategy.short, when=time_cond)
        //sell = if bearish
        //strategy.close_all(when=bullish)
        // strategy.exit("exit", "Long", profit = bullish, loss = 100)

profit = strategy.netprofit
if not time_cond
    strategy.close_all()

//plotshape(true, style=shape.triangleup, location=location.abovebar)