Strategi Perdagangan Moving Average Golden Cross


Tanggal Pembuatan: 2023-11-06 16:38:22 Akhirnya memodifikasi: 2023-11-06 16:38:22
menyalin: 0 Jumlah klik: 704
1
fokus pada
1617
Pengikut

Strategi Perdagangan Moving Average Golden Cross

Ringkasan

Strategi ini didasarkan pada prinsip moving average yang berupa Gold Forks. Strategi ini menggunakan dua moving averages, yang menghasilkan sinyal beli ketika moving average jangka pendek menembus moving average jangka panjang dari arah bawah. Strategi ini menghasilkan sinyal jual ketika harga jatuh dari moving average lain. Strategi ini berlaku untuk pasar yang sedang tren dan dapat secara efektif menyaring sebagian dari perdagangan yang berisik dan menangkap tren utama untuk perdagangan.

Prinsip Strategi

Strategi ini menggunakan periode rata-rata bergerak jangka pendek yang disesuaikan oleh pengguna, periode rata-rata bergerak jangka panjang, periode rata-rata bergerak keluar, dan cara menghitung rata-rata bergerak.

Ketika rata-rata bergerak jangka pendek dari arah bawah menembus rata-rata bergerak jangka panjang, sinyal beli dihasilkan. Ini berarti bahwa tren jangka pendek berubah menjadi tren naik dan dapat dibeli.

Ketika harga penutupan jatuh keluar dari moving average, menghasilkan sinyal jual. Ini berarti bahwa tren berbalik dan harus keluar dari posisi.

Jadi sinyal perdagangan untuk strategi ini berasal dari persilangan rata-rata bergerak jangka pendek dan rata-rata bergerak jangka panjang dan hubungan antara harga penutupan dan keluar dari rata-rata bergerak.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Ini adalah salah satu cara yang paling sederhana untuk memahami dan mengimplementasikan.

  2. Parameter yang dapat disesuaikan, sesuai dengan situasi pasar yang berbeda.

  3. Filter kebisingan dengan moving average untuk menangkap tren utama.

  4. Indikator teknis seperti tren, dukungan dan resistensi dapat dioptimalkan lebih lanjut.

  5. Rasio keuntungan dan kerugian dapat dikontrol dengan mekanisme stop loss.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Dalam pasar yang tidak terlalu tren, sinyal palsu dapat dihasilkan.

  2. Jika parameter tidak disetel dengan benar, maka akan terjadi kehilangan tren atau terlalu banyak transaksi yang tidak valid.

  3. Pengaturan posisi stop loss yang tidak masuk akal dapat memperbesar kerugian.

  4. Kegagalan penembusan bisa mengakibatkan kerugian.

  5. Parameter harus disesuaikan dengan perubahan pasar.

Solusi untuk menghadapi risiko meliputi: pengaturan parameter optimasi, kombinasi sinyal filter indikator lain, penyesuaian posisi stop loss, dan keterlibatan setelah menentukan tren.

Arah optimasi

Strategi ini dapat dioptimalkan dengan:

  1. Mengembangkan mekanisme penilaian tren, mengidentifikasi tren dan kemudian menghasilkan sinyal perdagangan.

  2. Untuk filter sinyal, gunakan volume transaksi atau indikator fluktuasi.

  3. Parameter siklus rata-rata bergerak yang dioptimalkan secara dinamis.

  4. Mengoptimalkan mekanisme stop loss, untuk mencapai stop loss mobile.

  5. Dalam kombinasi dengan resistance support dan indikator lainnya, sinyal perdagangan lebih lanjut dikonfirmasi.

  6. Parameter disesuaikan dengan varietas dan siklus.

Meringkaskan

Strategi perdagangan forks rata-rata bergerak ini secara keseluruhan merupakan strategi pelacakan tren yang sederhana dan praktis. Ini dapat menyesuaikan parameter sesuai dengan kondisi pasar, menangkap arah tren utama dalam situasi tren. Namun, perhatikan juga untuk mencegah risiko kesalahan penilaian tren, yang perlu terus dioptimalkan untuk menyesuaikan diri dengan perubahan pasar. Secara keseluruhan, strategi ini memiliki kepraktisan yang baik.

Kode Sumber Strategi
/*backtest
start: 2022-10-30 00:00:00
end: 2023-11-05 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/
// © TwoChiefs

//@version=4
strategy("John EMA Crossover Strategy", overlay=true)
////////////////////////////////////////////////////////////////////////////////
// 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 = 1, 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
 
////////////////////////////////////////////////////////////////////////////////

//CREATE USER-INPUT VARIABLES

periodShort = input(13, minval=1, title="Enter Period for Short Moving Average")
smoothingShort = input(title="Choose Smoothing Type for Short Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])

periodLong = input(48, minval=1, title="Enter Period for Long Moving Average")
smoothingLong = input(title="Choose Smoothing Type for Long Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])

periodExit = input(30, minval=1, title="Enter Period for Exit Moving Average")
smoothingExit = input(title="Choose Smoothing Type for Exit Moving Average", defval="EMA", options=["RMA", "SMA", "EMA", "WMA", "VWMA", "SMMA", "DEMA", "TEMA", "HullMA", "LSMA"])


src1 = close
pivot = (high + low + close) / 3

//MA CALCULATION FUNCTION
ma(smoothing, src, length) => 
    if smoothing == "RMA"
        rma(src, length)
    else
        if smoothing == "SMA"
            sma(src, length)
        else 
            if smoothing == "EMA"
                ema(src, length)
            else 
                if smoothing == "WMA"
                    wma(src, length)
				else
					if smoothing == "VWMA"
						vwma(src, length)
					else
						if smoothing == "SMMA"
							na(src[1]) ? sma(src, length) : (src[1] * (length - 1) + src) / length
						
						else
							if smoothing == "HullMA"
								wma(2 * wma(src, length / 2) - wma(src, length), round(sqrt(length)))




//ASSIGN A MOVING AVERAGE RESULT TO A VARIABLE
shortMA=ma(smoothingShort, pivot, periodShort)
longMA=ma(smoothingLong, pivot, periodLong)
exitMA=ma(smoothingExit, pivot, periodExit)

//PLOT THOSE VARIABLES
plot(shortMA, linewidth=4, color=color.yellow,title="The Short Moving Average")
plot(longMA, linewidth=4, color=color.blue,title="The Long Moving Average")
plot(exitMA, linewidth=1, color=color.red,title="The Exit CrossUnder Moving Average")



//BUY STRATEGY
buy = crossover(shortMA,longMA) ? true : na
exit = crossunder(close,exitMA) ? true : na


strategy.entry("long",true,when=buy and time_cond)
strategy.close("long",when=exit and time_cond)


if (not time_cond)
    strategy.close_all()