Strategi Trading Menggunakan Moving Average di MetaTrader 4

Mike 2005.11.29 21:04 9 0 0
Lampiran


    Moving Average adalah salah satu indikator yang sering digunakan oleh trader untuk membantu dalam pengambilan keputusan trading. Dalam artikel ini, kita akan membahas bagaimana cara menggunakan Moving Average sebagai Expert Advisor (EA) di MetaTrader 4 untuk membentuk sinyal trading yang efektif.

    EA ini berfungsi dengan menggunakan satu Moving Average untuk menentukan kapan saat yang tepat untuk membuka atau menutup posisi. Posisi dibuka ketika Moving Average bertemu dengan harga pada bar yang baru terbentuk (indeks bar sama dengan 1). Ukuran lot yang digunakan akan dioptimalkan berdasarkan algoritma khusus.

    EA ini menganalisis kesesuaian antara Moving Average dan grafik harga pasar. Proses pengecekan dilakukan melalui fungsi CheckForOpen(). Jika Moving Average berada di atas harga pembukaan namun di bawah harga penutupan, maka posisi BUY akan dibuka. Sebaliknya, jika Moving Average berada di bawah harga pembukaan namun di atas harga penutupan, maka posisi SELL akan dibuka.

    Manajemen uang yang digunakan dalam EA ini cukup sederhana namun efektif. Kontrol terhadap volume setiap posisi dilakukan berdasarkan hasil transaksi sebelumnya. Algoritma ini diimplementasikan dengan fungsi LotsOptimized(). Ukuran lot dasar dihitung berdasarkan risiko maksimum yang diperbolehkan:

    lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);

    Parameter MaximumRisk menunjukkan persentase risiko dasar untuk setiap transaksi, biasanya memiliki nilai antara 0.01 (1%) hingga 1 (100%). Sebagai contoh, jika AccountFreeMargin sebesar $20,500 dan aturan manajemen modal merekomendasikan risiko 2%, maka ukuran lot dasar akan menjadi 20500 * 0.02 / 1000 = 0.41. Penting untuk mengontrol akurasi ukuran lot dan menormalkan hasil dengan nilai yang diperbolehkan. Umumnya, lot pecahan dengan langkah 0.1 diperbolehkan. Transaksi dengan volume 0.41 tidak akan dilakukan. Untuk menormalkan, digunakan fungsi NormalizeDouble() dengan akurasi hingga 1 digit setelah koma. Hasilnya adalah lot dasar sebesar 0.4. Penghitungan lot dasar berdasarkan AccountFreeMargin memungkinkan untuk meningkatkan volume operasi berdasarkan keberhasilan trading, yaitu, melakukan trading dengan reinvestasi. Ini adalah mekanisme dasar dengan manajemen modal yang wajib untuk meningkatkan efektivitas trading.

    DecreaseFactor adalah faktor yang menunjukkan sejauh mana ukuran lot akan dikurangi setelah trading yang tidak menguntungkan. Nilai normal adalah 2, 3, 4, 5. Jika transaksi sebelumnya tidak menguntungkan, volume selanjutnya akan berkurang dengan faktor DecreaseFactor untuk menunggu periode yang tidak menguntungkan. Ini adalah faktor utama dalam algoritma manajemen modal. Ide dasarnya sangat sederhana: jika trading berhasil meningkat, EA akan beroperasi dengan lot dasar untuk memperoleh keuntungan maksimum. Setelah transaksi pertama yang tidak menguntungkan, EA akan "mengurangi kecepatan" hingga transaksi positif baru terjadi. Algoritma ini memungkinkan untuk menonaktifkan "pengurangan kecepatan" dengan menentukan DecreaseFactor = 0. Jumlah transaksi tidak menguntungkan berturut-turut dihitung dalam sejarah trading. Lot dasar akan dihitung ulang berdasarkan ini:

    if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);

    Dengan demikian, algoritma ini memungkinkan untuk secara efektif mengurangi risiko yang muncul sebagai hasil dari serangkaian transaksi yang tidak menguntungkan. Ukuran lot secara wajib diperiksa untuk memastikan ukuran lot minimum yang diperbolehkan pada akhir fungsi, karena perhitungan sebelumnya dapat menghasilkan lot = 0:

    if(lot<0.1) lot=0.1;

    EA ini terutama ditujukan untuk bekerja dengan periode harian, dan dalam mode pengujian - untuk melakukan di harga penutupan. EA ini hanya akan melakukan trading saat pembukaan bar baru, oleh karena itu mode modeling setiap tick tidak diperlukan.

    Hasil pengujian akan ditampilkan dalam laporan.

Laporan Pengujian Strategi

Moving Average


SimbolEURUSD (Euro vs US Dollar)
Periode1 Jam (H1) 2003.01.08 00:00 - 2003.11.25 00:00
ModelSetiap tick (berdasarkan semua timeframe yang tersedia dengan interpolasi fraktal setiap tick)
ParameterLots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11;

Bar dalam uji19371Ticks dimodelkan656918Kualitas modeling25.00%

Setoran awal10000.00



Total profit bersih1695.20Gross profit4293.20Gross loss-2598.00
Rasio profit1.65Perkiraan payoff10.80

Drawdown absolut40.35Drawdown maksimal (%)318.50 (3.0%)


Total perdagangan157Posisi pendek (persentase menang)73 (26.03%)Posisi panjang (persentase menang)84 (32.14%)

Perdagangan menguntungkan (% dari total)46 (29.30%)Perdagangan rugi (% dari total)111 (70.70%)
Terbesarperdagangan menguntungkan262.55perdagangan rugi-91.00
Rata-rataperdagangan menguntungkan93.33perdagangan rugi-23.41
Maksimalkemenangan berturut-turut (keuntungan dalam uang)2 (387.15)kerugian berturut-turut (kerugian dalam uang)7 (-287.25)
Maksimalkeuntungan berturut-turut (jumlah kemenangan)387.15 (2)kerugian berturut-turut (jumlah kerugian)-287.25 (7)
Rata-ratakemenangan berturut-turut1kerugian berturut-turut3
Daftar
Komentar 0