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
Simbol EURUSD (Euro vs US Dollar) Periode 1 Jam (H1) 2003.01.08 00:00 - 2003.11.25 00:00 Model Setiap tick (berdasarkan semua timeframe yang tersedia dengan interpolasi fraktal setiap tick) Parameter Lots=0.1; MaximumRisk=0.01; DecreaseFactor=1; MovingPeriod=16; MovingShift=11; Bar dalam uji 19371 Ticks dimodelkan 656918 Kualitas modeling 25.00% Setoran awal 10000.00 Total profit bersih 1695.20 Gross profit 4293.20 Gross loss -2598.00 Rasio profit 1.65 Perkiraan payoff 10.80 Drawdown absolut 40.35 Drawdown maksimal (%) 318.50 (3.0%) Total perdagangan 157 Posisi 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%) Terbesar perdagangan menguntungkan 262.55 perdagangan rugi -91.00 Rata-rata perdagangan menguntungkan 93.33 perdagangan rugi -23.41 Maksimal kemenangan berturut-turut (keuntungan dalam uang) 2 (387.15) kerugian berturut-turut (kerugian dalam uang) 7 (-287.25) Maksimal keuntungan berturut-turut (jumlah kemenangan) 387.15 (2) kerugian berturut-turut (jumlah kerugian) -287.25 (7) Rata-rata kemenangan berturut-turut 1 kerugian berturut-turut 3
Komentar 0