Perdagangan Sistem

Meningkatkan Keandalan EA: Tips untuk Trader Indonesia
MetaTrader4
Meningkatkan Keandalan EA: Tips untuk Trader Indonesia

Halo teman-teman trader, Saya ingin berbagi pengalaman mengenai EA (Expert Advisor) pertama saya yang saya buat tahun lalu. EA ini bukan jenis scalper, dengan target profit (t/p) 100, saya mencoba menjalankannya di pasangan mata uang EURUSD pada timeframe M1 selama periode 2007 (01.01.2007 - 25.11.2007). Hasilnya cukup mengejutkan, saya meraih profit sekitar 1 juta USD hanya dengan modal awal 3000 USD! Namun, sayangnya, EA ini juga mengalami kerugian pada periode 2005-2006 dan bulan Desember 2007. Saya pernah mencoba beberapa strategi seperti menggunakan stop loss, menutup posisi yang flat, dan membatasi waktu, tetapi semua itu malah memperburuk situasi. Banyak order potensial yang seharusnya menguntungkan terfilter, dan jelas sekali drawdown terasa sangat menyakitkan. Saya ingin bertanya kepada kalian semua, apakah ada ide untuk meningkatkan keandalan EA ini tanpa harus memotong order yang berpotensi "baik"? Jangan anggap ini sebagai masalah, ayo kita berbagi! Salam, P.S. Pengaturan yang saya gunakan sangat agresif. Untuk mengurangi risiko, kita bisa mengubah beberapa parameter berikut: MaxLots - turunkan hingga 1. LotsRiskReductor - tingkatkan, sampai 5-10. SpanGator - tingkatkan sampai 3-5. Namun, saya percaya bahwa pengurangan risiko dalam sistem satu order tidak selalu meningkatkan kualitas sistem secara keseluruhan. Pemblokiran order yang terbuka dapat menghalangi pembukaan order lain, baik yang menguntungkan maupun yang merugikan. Jadi, menurut saya, pengujian menyeluruh terhadap kualitas sistem hanya dapat dilakukan tanpa batasan pada jumlah order yang dibuka.

2016.05.16
Strategi Trading Menggunakan EA untuk MetaTrader 4
MetaTrader4
Strategi Trading Menggunakan EA untuk MetaTrader 4

Pengenalan EA pada MetaTrader 4Dalam dunia trading, kita sering mendengar istilah EA atau Expert Advisor. Ini adalah alat yang sangat berguna bagi para trader yang ingin mengotomatiskan strategi trading mereka. Kali ini, saya ingin berbagi tentang strategi trading berbasis EA yang cukup menarik dan bisa kamu coba di MetaTrader 4.Bagaimana Cara Kerjanya?Strategi ini didasarkan pada pengamatan bahwa harga sering kali melintasi garis Moving Average (MA) dan bergerak sejauh jarak tertentu setelahnya. EA ini akan menempatkan pending order, baik itu Buy Limit atau Sell Limit, pada harga yang sama dengan nilai MA (590-M1). Ketika harga bergerak, nilai MA juga berubah, sehingga order pun dimodifikasi hingga order tersebut terpicu.Proses dan Manajemen OrderSetelah order terpicu, order tersebut tidak akan dimodifikasi lagi. Untuk keluar dari posisi, kita menggunakan Take Profit (TP) dan Stop Loss (SL) yang ketat. Begitu EA menyadari bahwa tidak ada order yang aktif, ia akan menempatkan pending order baru. Ini sangat berguna karena sering kali harga hanya menyentuh garis MA tanpa melanjutkan pergerakan. Oleh karena itu, saya memilih untuk menetapkan SL yang cukup kecil, yaitu 30 poin, dengan level TP sebesar 70 poin.Pentingnya Memahami RisikoWalaupun strategi ini menjanjikan, penting bagi kita untuk tetap memahami risiko yang ada. Setiap keputusan trading harus diambil dengan hati-hati dan berdasarkan analisis yang matang.Catatan: Karena versi asli tidak tersedia, saya harus mengembalikan teks sumber dari versi yang lebih baru. Meskipun saya yakin sudah berhasil, ada kemungkinan kecil saya melewatkan beberapa detail penting.

2016.05.16
Panduan Lengkap EA exp_iCustom_v1 untuk MetaTrader 4
MetaTrader4
Panduan Lengkap EA exp_iCustom_v1 untuk MetaTrader 4

Tujuan dari EA ini EA ini dirancang untuk bekerja dengan Custom Indicator yang menggambar panah beli/jual, kecuali indikator yang memiliki parameter string. Nama indikator kustom ditentukan dalam parameter EA, begitu juga dengan daftar parameter indikator dan nomor buffer untuk menggambar panah beli/jual. Meskipun menggunakan daftar parameter string, masih memungkinkan untuk mengoptimalkan hingga lima parameter dari indikator. Alih-alih menggunakan variabel dari daftar parameter iCustomParam, Anda dapat menggunakan nilai dari variabel Opt_1_Value - Opt_5_Value. Parameter dari Expert Advisor TimeFrame - timeframe kerja EA: 0 - timeframe dari chart tempat EA dijalankan, atau yang dipilih di tester. Atau nilai spesifik 1,5,15,30,60,240,1440... iCustomName - nama indikator kustom. iCustomParam - daftar parameter yang dipisahkan oleh "/". Untuk variabel boolean, gunakan 1 sebagai pengganti true, 0 sebagai pengganti false. Jika parameter indikator mengandung variabel string, EA tidak akan berfungsi! iBuyBufIndex - indeks buffer dengan panah beli. iSellBufIndex - indeks buffer dengan panah jual. iShift - offset indikator. 1 - bekerja pada bar yang sudah terbentuk, 0 - pada bar yang sedang terbentuk (tidak disarankan). Anda juga dapat memasukkan nilai 2,3,4... Opt_1_Use - aktifkan penggunaan variabel 1 untuk dioptimalkan. Ketika variabel yang akan dioptimalkan diaktifkan alih-alih nilai dari string iCustomParam, nilai dari variabel Opt_X_Value akan digunakan. Opt_1_Index - indeks variabel 1 untuk dioptimalkan dalam array parameter (dalam string iCustomParam). Penomoran dimulai dari nol. Opt_1_Value - nilai dari variabel 1 untuk dioptimalkan. Opt_2_Use - aktifkan penggunaan variabel 2 untuk dioptimalkan. Opt_2_Index - indeks variabel 2 untuk dioptimalkan dalam array parameter (dalam string iCustomParam). Penomoran dimulai dari nol. Opt_2_Value - nilai dari variabel 2 untuk dioptimalkan. Opt_3_Use - aktifkan penggunaan variabel 3 untuk dioptimalkan. Opt_3_Index - indeks variabel 3 untuk dioptimalkan dalam array parameter (dalam string iCustomParam). Penomoran dimulai dari nol. Opt_3_Value - nilai dari variabel 3 untuk dioptimalkan. Opt_4_Use - aktifkan penggunaan variabel 4 untuk dioptimalkan. Opt_4_Index - indeks variabel 4 untuk dioptimalkan dalam array parameter (dalam string iCustomParam). Penomoran dimulai dari nol. Opt_4_Value - nilai dari variabel 4 untuk dioptimalkan. Opt_5_Use - aktifkan penggunaan variabel 5 untuk dioptimalkan. Opt_5_Index - indeks variabel 5 untuk dioptimalkan dalam array parameter (dalam string iCustomParam). Penomoran dimulai dari nol. Opt_5_Value - nilai dari variabel 5 untuk dioptimalkan. MMMethod - metode manajemen modal: 0-Lots, 1-part (Risiko) dari margin bebas, 2-part (Risiko) dari margin bebas yang dinormalisasi oleh MeansStep. Lots - jumlah lot saat MMMethod=0. Risk - risiko. Nilai berdasarkan dana saat FixedLot=false. MeansType - jenis dana yang digunakan dalam perhitungan lot. 1 - Balance, 2 - Equity, 3 - FreeMargin. MeansStep - langkah dana. Digunakan saat MMMethod=2. LotsDigits - jumlah decimal pada nilai lot. Slippage - deviasi yang diperbolehkan dari harga yang diminta. StopLoss - stop loss. TakeProfit - take profit. Magic_N - nomor magic. MaxOrdersCount - total jumlah pesanan yang dibuka yang diperbolehkan. -1 - tidak terbatas. MaxBuyCount - jumlah pesanan beli yang dibuka yang diperbolehkan. -1 - tidak terbatas. MaxSellCount - jumlah pesanan jual yang dibuka yang diperbolehkan. -1 - tidak terbatas. SleepBars - timeout setelah membuka pesanan sebagai jumlah bar dari timeframe kerja. CancelSleeping - aktivasikan pembatalan timeout saat membuka pesanan dalam arah yang berlawanan. CloseOnRev - tutup pesanan arah berlawanan sebelum membuka. TrailingStop_Use - aktifkan fungsi trailing stop. TrailingStopStart - profit dari pesanan untuk mengaktifkan trailing stop. TrailingStop - level trailing stop. BreakEven_Use - aktifkan fungsi breakeven. BreakEvenStart - profit pesanan untuk mengaktifkan breakeven. BreakEvenLevel - level untuk menempatkan stop loss dari harga aktivasi breakeven. Catatan Arsip dengan expert ini berisi file test_example.set dengan contoh pengaturan untuk menggunakan indikator ind_Test (persilangan dua MA) dan variabel yang akan dioptimalkan. Indikator ind_Test terlampir. Versi 2 1. Menambah kemampuan untuk menggunakan indikator yang berbeda untuk sinyal pembukaan dan penutupan. Parameter untuk indikator pembuka diawali dengan awalan _O_, untuk indikator penutup - dengan awalan _C_. Ada tiga mode yang mungkin untuk menggunakan indikator pembukaan dan penutupan (ditentukan oleh variabel _OС_Mode): Mode 1 - indikator tidak digunakan untuk penutupan. Penutupan hanya mungkin dengan stop loss dan take profit. Mode 2 - indikator penutup tidak digunakan. Selain menutup dengan stop loss dan take profit, penutupan pesanan berlawanan dilakukan dengan sinyal pembukaan. Stop loss dan take profit dapat dinonaktifkan - setel nilai 0 pada variabel StopLoss dan/atau TakeProfit (berlaku untuk semua mode). Mode 3 - sinyal penutupan terpisah berdasarkan indikator penutup (_C_) digunakan. Dalam mode ini, dimungkinkan untuk menggunakan mode tambahan untuk menyalin parameter indikator pembuka ke parameter indikator penutup (variabel C_UseOpenParam). 2. Dimungkinkan untuk menggunakan tidak hanya indikator dengan panah, tetapi juga indikator dengan garis. Anda dapat menggunakan dua garis (persilangan dari garis utama dan sinyal) dan satu garis - persilangannya dengan level. Gunakan variabel _O_Mode (dan _С_Mode dalam blok penutupan) untuk memilih jenis indikator. Mode 1 - indikator menggambar panah. Variabel _O_M1_iBuyBufIndex dan _O_M1_iSellBufIndex digunakan untuk menentukan nomor buffer, dan dalam blok penutupan - _C_M1_iCloseBuyBufIndex dan _C_M1_iCloseSellBufIndex. Mode 2 - garis utama dan sinyal dari indikator digunakan. Jika garis utama memotong garis sinyal dari bawah - sinyal untuk membuka Buy atau menutup Sell. Variabel _O_M2_iMainBufIndex, _O_M2_iSignalBufIndex dan _C_M2_iMainBufIndex, _C_M2_iSignalBufIndex digunakan untuk menentukan buffer. Mode 3 - satu garis indikator digunakan. Nomor buffer ditentukan dalam variabel _O_M3_iBufIndex (atau _С_M3_iBufIndex dalam blok penutupan). _O_M3_BuyLevel dan _O_M3_SellLevel (_O_M3_CloseBuyLevel dan _C_M3_CloseSellLevel dalam blok penutupan) digunakan untuk menentukan nilai level. Versi 3 Menambahkan mode lain _O_Mode (dan _S_Mode) Mode 4 - Extremum dengan tiga titik. Menggunakan satu garis indikator. Nomor buffer ditentukan dalam variabel _O_M4_iBufIndex (atau _С_M4_iBufIndex dalam blok penutupan). Versi 4 1. Menambahkan kemampuan bekerja dengan pending order. 2. Menambahkan pemisah bagian dalam jendela properti (dari variabel string). Pemilihan tipe pesanan dilakukan oleh variabel OrdType: 0 - market, 1 - stop, 2 - limit (variabel ini ada di bagian "Order"). Bagian variabel "Pending orders" untuk mengelola operasi pending order: PendLevel - level dari harga pasar saat ini untuk menempatkan pending order. PendPromPrice - harga untuk menempatkan pending order dihitung dari harga bar nol, pada nilai PendPromPrice=0 - dari harga penutupan (sesuai dengan harga pasar saat ini), 1 - dari harga pembukaan bar. PendNewSigMode - metode pengendalian pending order pada sinyal trading baru: 0 - jika pesanan sudah ditempatkan, maka tidak ada tindakan yang diambil saat sinyal trading baru muncul, 1 - mengganti pesanan pada sinyal baru, 2 - pada sinyal baru pesanan diganti hanya ke "level yang lebih baik". PendPriceFollow - mode mengikuti harga. Pesanan dimodifikasi pada setiap perubahan variabel PendPromPrice. PendDelete - menghapus pending order pada sinyal trading berlawanan. Pada nilai false, dua pending order dalam arah berbeda dapat ada sekaligus. PendExpiration - waktu kedaluwarsa pesanan dalam menit (nilai minimum adalah 11 menit).

2016.05.16
Contoh EA SAR Otomatis dengan Manajemen Uang Lanjutan untuk MetaTrader 4
MetaTrader4
Contoh EA SAR Otomatis dengan Manajemen Uang Lanjutan untuk MetaTrader 4

Halo, para trader! Hari ini kita akan membahas contoh sederhana dari EA (Expert Advisor) yang menggunakan indikator SAR (Stop And Reverse) dengan fungsi Manajemen Uang Lanjutan. Meskipun ini bukan EA yang menguntungkan, namun ini bisa jadi dasar yang baik bagi kalian yang ingin belajar coding. Penulis asli: Mohammad Soubra Fungsi Manajemen Uang Lanjutan: //+------------------------------------------------------------------+ //    fungsi AdvancedMM untuk EA //+------------------------------------------------------------------+ double AdvancedMM()   {    int i;    double AdvancedMMLots=0;    bool profit1=false;    int SystemHistoryOrders=0;       for(i=0;i<OrdersHistoryTotal();i++)      {       bool ordsel = OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);       if(OrderMagicNumber()==MagicNumber) SystemHistoryOrders++;      }         bool profit2=false;    int LO=0;       if(SystemHistoryOrders<2) return(Lots);    for(i=OrdersHistoryTotal()-1;i>=0;i--)      {       if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))          if(OrderMagicNumber()==MagicNumber)            {             if(OrderProfit()>=0 && profit1) return(Lots);             if(LO==0)               {                if(OrderProfit()>=0) profit1=true;                if(OrderProfit()<0)  return(OrderLots());                LO=1;               }             if(OrderProfit()>=0 && profit2) return(AdvancedMMLots);             if(OrderProfit()>=0) profit2=true;             if(OrderProfit()<0)               {                profit1=false;                profit2=false;                AdvancedMMLots+=OrderLots();               }            }      }    return(AdvancedMMLots);   } Saran: Jaga Selalu Manajemen Risiko!

2016.05.12
Awal Sebelumnya 16 17 18 19 20 21 22 23 24 25 26 Berikutnya Akhir