Strategi Crossover Rata-rata Gerak Galileo Galilei

Penulis:ChaoZhang, Tanggal: 2023-12-18 12:07:07
Tag:

img

Gambaran umum

Strategi crossover rata-rata bergerak Galileo Galilei adalah strategi perdagangan yang didasarkan pada rata-rata bergerak. Sinyal perdagangan dihasilkan dengan menghitung rata-rata bergerak eksponensial (EMA) selama periode tertentu dan membandingkan crossover antara EMA dan harga. Sinyal jual dihasilkan ketika harga turun di bawah EMA dari atas ke bawah, sementara sinyal beli terjadi ketika harga pecah di atas EMA dari bawah ke atas.

Logika Strategi

Inti dari strategi Galileo Galilei terletak pada rata-rata bergerak eksponensial (EMA). EMA adalah jenis rata-rata bergerak yang menempatkan lebih banyak bobot pada harga terbaru. Rumus perhitungannya adalah:

EMA hari ini = (Harga penutupan hari ini × Faktor penyeimbang) + (EMA kemarin × (1 − Faktor penyeimbang))

Di mana faktor pelemahan α = (2/(jumlah periode + 1))

Strategi ini secara dinamis menghitung EMA berdasarkan parameter periode input pengguna. kemudian membandingkan persilangan antara harga dan EMA untuk menentukan sinyal perdagangan:

  1. Ketika harga turun di bawah EMA dari atas ke bawah, sinyal jual dihasilkan untuk perdagangan pendek.

  2. Ketika harga melintasi EMA dari bawah, sinyal beli dipicu untuk perdagangan panjang.

Strategi ini juga memetakan garis EMA pada grafik, bersama dengan penanda panah yang menunjukkan sinyal beli dan jual.

Analisis Keuntungan

Strategi crossover rata-rata bergerak Galileo Galilei memiliki keuntungan berikut:

  1. Logika sederhana yang mudah dipahami dan diterapkan, cocok untuk pemula.
  2. Tanggapan yang lebih cepat terhadap perubahan harga melalui penggunaan EMA.
  3. Sinyal crossover yang jelas tanpa whipsaws yang berlebihan.
  4. Fleksibilitas untuk beradaptasi dengan lingkungan pasar yang berbeda dengan menyesuaikan parameter EMA.
  5. Sinyal masuk dan keluar yang ditentukan memberikan kontrol risiko.

Analisis Risiko

Risiko potensial dari strategi ini meliputi:

  1. Lebih banyak sinyal palsu dapat terjadi selama volatilitas harga yang tinggi.
  2. Keandalan pada satu indikator membuat rentan terhadap manipulasi harga.
  3. Efek keterlambatan, terutama setelah kejadian mendadak.
  4. Tidak mampu beradaptasi dengan tren harga yang berkepanjangan dan sepihak, sebuah batasan umum di antara strategi rata-rata bergerak.

Arahan Optimasi

Beberapa cara untuk mengoptimalkan strategi:

  1. Menggabungkan indikator lain untuk membangun strategi komposit untuk meningkatkan ketahanan terhadap sinyal palsu.

  2. Tambahkan mekanisme stop loss seperti trailing stop loss atau stop loss berbasis persentase untuk mengontrol jumlah kerugian perdagangan tunggal.

  3. Uji EMA dengan kombinasi parameter yang berbeda untuk menemukan pengaturan yang optimal.

  4. Mengevaluasi logika re-entry untuk menangkap rebound setelah pembalikan harga awal, meningkatkan profitabilitas.

Kesimpulan

Galileo Galilei's moving average crossover adalah strategi sederhana namun praktis dengan logika yang jelas dan mudah dioperasikan. Ini cocok untuk pedagang kuantum pemula. Dengan perbaikan terus menerus, kinerjanya bisa menjadi semakin unggul dari waktu ke waktu.


/*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)


Lebih banyak