Perdagangan Sistem

Burg Extrapolator: EA Canggih untuk MetaTrader 5
MetaTrader5
Burg Extrapolator: EA Canggih untuk MetaTrader 5

Penulis ide: Vladimir, penulis kode mq5: barabashkakvn. Burg Extrapolator adalah Expert Advisor (EA) yang menggunakan metode Burg untuk prediksi linier. Prediksi linier ini berfokus pada menemukan nilai masa depan sebagai fungsi linier dari nilai-nilai sebelumnya. Misalkan kita memiliki rentang harga x[0]..x[n-1] di mana indeks yang lebih tinggi menunjukkan harga terbaru. Prediksi harga masa depan x[n] dihitung sebagai berikut: x[n] = -Sum(a[i]*x[n-i], i=1..p) Di sini, a[i=1..p] adalah rasio model, dan p adalah urutan model. Metode Burg mencari rasio a[] dengan mengurangi kesalahan kuadrat rata-rata pada n-p bar pelatihan terakhir. Parameter Input MaxRisk - risiko maksimum dari semua transaksi yang dilakukan secara bersamaan. ntmax - jumlah maksimum transaksi dalam satu arah. MinProfit - profit minimal yang diprediksi di mana posisi akan dibuka. MaxLoss - kerugian maksimal yang diprediksi di mana posisi akan ditutup. TakeProfit - nilai Take Profit. StopLoss - nilai Stop Loss. TrailingStop - fungsi Trailing Stop. PastBars - jumlah bar sebelumnya yang digunakan untuk memprediksi nilai masa depan. ModelOrder - urutan model Burg sebagai fraksi dari jumlah bar lalu (0..1). UseMOM - mengaktifkan detrend data input: mom(i)=log[p(i)/p(i-1)]. UseROC - mengaktifkan detrend data input: roc=100*(p(i)/p(i-1)-1). Hanya satu dari variabel UseMOM dan UseROC yang dapat bernilai benar, artinya UseMOM=true AND UseROC=true tidak diperbolehkan. Seperti kebanyakan Expert Advisor yang dioptimalkan, Burg Extrapolator hanya bekerja dengan baik pada bar pelatihan. EA ini akan terus mengalami kerugian tanpa adanya re-optimasi yang konstan.

2017.11.03
Strategi Trading: Menggunakan EA untuk Posisi Berlawanan di MetaTrader 5
MetaTrader5
Strategi Trading: Menggunakan EA untuk Posisi Berlawanan di MetaTrader 5

Pernahkah kamu mendengar tentang strategi Opposite Trade? Ini adalah teknik yang bisa sangat berguna untuk trader yang menggunakan MetaTrader 5. Konsepnya sederhana: kita membuka posisi yang berlawanan dari posisi yang baru saja ditutup, dengan volume yang sama. Teknik ini bisa diterapkan pada simbol apa pun dan dengan nomor magic apa pun. Misalnya, jika kita memiliki posisi BUY AUDUSD dengan volume 0.01 dan kita menutup posisi tersebut (misalnya dengan menutupnya secara manual), Expert Advisor Opposite Trade akan secara otomatis membuka posisi baru AUDUSD, kali ini dengan jenis SELL. Kode untuk Fungsi OnTradeTransaction Seluruh kode untuk strategi ini terdapat dalam fungsi OnTradeTransaction: //+------------------------------------------------------------------+ //| Fungsi TradeTransaction | //+------------------------------------------------------------------+ void OnTradeTransaction(const MqlTradeTransaction &trans,                         const MqlTradeRequest &request,                         const MqlTradeResult &result)   { //--- ambil tipe transaksi sebagai nilai enumerasi    ENUM_TRADE_TRANSACTION_TYPE type=trans.type; //--- jika transaksi adalah hasil dari penambahan transaksi dalam riwayat    if(type==TRADE_TRANSACTION_DEAL_ADD)      {       long     deal_type         =-1;       long     deal_entry        =-1;       double   deal_volume       =0.0;       string   deal_symbol       ="";       if(HistoryDealSelect(trans.deal))         {          deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);          deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);          deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);          deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);         }       else          return;       if(deal_entry==DEAL_ENTRY_OUT)         {          switch((int)deal_type)            {             case  DEAL_TYPE_BUY:                m_trade.Buy(deal_volume,deal_symbol);                break;             case  DEAL_TYPE_SELL:                m_trade.Sell(deal_volume,deal_symbol);                break;             default:                break;            }         }      }   } Di sini, kita menunggu transaksi penutupan posisi (DEAL_ENTRY_OUT). Begitu transaksi ini muncul, kita akan memeriksa posisi transaksi (jika kita menutup posisi BUY, maka ini akan menjadi transaksi SELL, dan sebaliknya) dan kita akan membuka posisi baru.

2017.11.03
Panduan Signal Trading OzFx untuk MetaTrader 5
MetaTrader5
Panduan Signal Trading OzFx untuk MetaTrader 5

Penulis ide: Yuri, penulis kode mq5: barabashkakvn. Deskripsi tentang cara menghasilkan sinyal pembukaan posisi: Stoh_main_1 - nilai Stochastic Oscillator pada bar #1. InpStochasticLevel - input untuk level Stochastic. AC_1 - nilai Accelerator Oscillator pada bar #1. ACPrev_2 - nilai Accelerator Oscillator pada bar #2. Sinyal BUY - terjadi ketika Stochastic Oscillator pada bar #1 lebih besar dari input level Stochastic dan Accelerator Oscillator pada bar #1 lebih besar dari Accelerator Oscillator pada bar #2. Dalam hal ini, Accelerator Oscillator pada bar #1 harus di atas nol, dan Accelerator Oscillator pada bar #2 harus di bawah nol: if(Stoh_main_1>InpStochasticLevel && AC_1>ACPrev_2 && AC_1>0 && ACPrev_2<0 && count_buys==0) ... Sinyal SELL - terjadi ketika Stochastic Oscillator pada bar #1 kurang dari input level Stochastic dan Accelerator Oscillator pada bar #1 kurang dari Accelerator Oscillator pada bar #2. Dalam hal ini, Accelerator Oscillator pada bar #1 harus di bawah nol, dan Accelerator Oscillator pada bar #2 harus di atas nol: if(Stoh_main_1<InpStochasticLevel && AC_1<ACPrev_2 && AC_1<0 && ACPrev_2>0 && count_sells==0) ... Contoh sinyal SELL: Ketika sinyal diterima, kita membuka lima posisi dengan lot yang sama. Posisi pertama memiliki Stop Loss dan Take Profit yang sama dengan nol. Semua posisi berikutnya memiliki Stop Loss yang sama dan setiap posisi memiliki Take Profit yang meningkat dengan langkah dari input Take Profit (dalam pips). Hasil pengujian pada semua simbol di PERIOD_D1:

2017.11.03
Martin: EA Andalan untuk MetaTrader 5 bagi Trader Indonesia
MetaTrader5
Martin: EA Andalan untuk MetaTrader 5 bagi Trader Indonesia

Penulis ide — Vladimir Khlystov, penulis kode mq5 — barabashkakvn. Deskripsi dari penulis ide: Deskripsi Expert Advisor (EA) ini dibuat atas permintaan salah satu peserta forum. Sebuah komentar dari vvx080: Ide dasarnya adalah untuk membuat grid dari stop order. Misalnya, kita terlebih dahulu menempatkan dua order, satu sell dan satu buy; setelah salah satu order terpicu, yang kedua harus dihapus. Jika trading tidak menguntungkan, setelah 10 poin kita membuka order berlawanan dengan lot yang digandakan. Jika masih tidak menguntungkan, setelah 20 poin kita membuka order berlawanan yang dua kali lebih besar dari sebelumnya. Jika lagi-lagi trading negatif, setelah 30 poin kita membuka order berlawanan yang dua kali lebih besar lagi, dan seterusnya. Dalam kondisi seperti ini, seharusnya ada banyak kesempatan agar deposit tidak sepenuhnya hilang. Jika pergerakan trading positif, kita menggunakan trailing yang baik untuk menangkap 300 poin profit. Tidak ada stop loss dan take profit yang digunakan untuk order ini, trading ditutup saat ada profit secara keseluruhan. Strategi ini tidak takut pada tren atau flat. Selama tren, total profit akan di-trail. Berikut adalah perhitungan awal lot dan deposit: sell 0.1 -10p = -1, buy 0.2 -20p = -3 sell 0.4 -30p = -12 buy 0.8 -40p = -32 sell 1.6 -50p = -87 buy 3.2 -60p = -213 sell 6.4 -70p = -514 buy 12.8 -80p = -1194 sell 25.6 -90p = -2886 Saya rasa deposit sebesar 3000 sudah cukup, tetapi strategi ini mungkin sulit mencapai order ke-8 atau ke-9. Mungkin saya salah di beberapa bagian, tetapi ide dasarnya seperti itu. EA ini akan lebih akurat. EA ini menggunakan peningkatan lot, tetapi tidak bisa disebut sebagai martingale murni. Selain itu, EA ini bisa keluar dari kondisi flat, sementara banyak martingale tidak bisa melakukannya. Silakan tambahkan komentar dan ide-ide Anda untuk meningkatkan strategi ini. Namun, mohon jangan kirimkan ide "martingale itu buruk" tanpa mencoba EA ini setidaknya di demo dan tanpa memahami prinsip kerjanya. Parameter Expert Advisor InpStep - jarak antara posisi. InpProfitClose - profit minimum, di mana semua posisi akan ditutup. InpLot - volume posisi. Hasil pengujian pada EURUSD:

2017.11.03
Panduan Menggunakan iCCI iMA di MetaTrader 5 untuk Trader Indonesia
MetaTrader5
Panduan Menggunakan iCCI iMA di MetaTrader 5 untuk Trader Indonesia

Penulis ide adalah Andrey, penulis kode MQL5 adalah barabashkakvn. Menghitung Moving Average menggunakan data Commodity Channel Index: //--- membuat handle dari indikator iMA    handle_iMA=iMA(m_symbol.Name(),Period(),15,0,MODE_EMA,handle_iCCI); //--- jika handle tidak berhasil dibuat    if(handle_iMA==INVALID_HANDLE)      {       //--- laporkan kegagalan dan output kode error       PrintFormat("Gagal membuat handle indikator iMA untuk simbol %s/%s, kode error %d",                   m_symbol.Name(),                   EnumToString(Period()),                   GetLastError());       //--- indikator dihentikan lebih awal       return(INIT_FAILED);      } Ini mirip dengan meluncurkan indikator Moving Average di jendela Commodity Channel Index dengan memilih "Data Indikator Sebelumnya" dalam parameternya (menerapkan indikator ke data indikator lain). Prinsip membuka dan menutup posisi: Jika Moving Average yang dihitung berdasarkan Commodity Channel Index memotong Commodity Channel Index yang umum ke bawah, posisi BUY dibuka. Jika Moving Average yang dihitung berdasarkan Commodity Channel Index memotong Commodity Channel Index yang umum ke atas, posisi SELL dibuka. Jika Moving Average yang dihitung berdasarkan Commodity Channel Index memotong Commodity Channel Index yang umum ke atas, posisi BUY ditutup. Jika Moving Average yang dihitung berdasarkan Commodity Channel Index memotong Commodity Channel Index yang umum ke bawah, posisi SELL ditutup. Pengujian pada EURUSD, H1:

2017.11.03
Mengoptimalkan Stop Loss dan Take Profit di MetaTrader 5
MetaTrader5
Mengoptimalkan Stop Loss dan Take Profit di MetaTrader 5

Saat melakukan trading, penting untuk mengetahui bagaimana Stop Loss dan Take Profit bekerja. Jika sebuah posisi ditutup karena Stop Loss, volume trading akan digandakan; sedangkan jika ditutup karena Take Profit, volume minimum yang digunakan. Untuk menentukan apakah sebuah transaksi terjadi setelah aktivasi Stop Loss atau Take Profit, kita bisa menggunakan fungsi OnTradeTransaction. Pembaruan yang sangat bermanfaat, yaitu ENUM_DEAL_REASON, telah ditambahkan dalam build 1625: ENUM_DEAL_REASON Deskripsi Alasan ... ... DEAL_REASON_SL Transaksi ini dieksekusi akibat aktivasi Stop Loss DEAL_REASON_TP Transaksi ini dieksekusi akibat aktivasi Take Profit ... ... Kita dapat memeriksa informasi ini dalam OnTradeTransaction. Dengan kata lain, ini adalah cara yang sangat sederhana dan andal untuk menentukan apakah sebuah transaksi dihasilkan dari Take Profit atau Stop Loss. Saat ini (build 1626), Expert Advisor ini hanya dapat diuji dalam mode live - dengan meluncurkannya pada grafik atau dalam mode debug menggunakan data nyata (F5 di editor MetaEditor). Saya menggunakan langkah berikut untuk memeriksa:       if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)          if(deal_entry==DEAL_ENTRY_OUT)            {             if(deal_reason==DEAL_REASON_SL)                ExtLot*=2.0;             else if(deal_reason==DEAL_REASON_TP)                ExtLot=m_symbol.LotsMin();            }

2017.11.03
Multi Arbitration 1.1xx: Sistem Trading Terbaru untuk MetaTrader 5
MetaTrader5
Multi Arbitration 1.1xx: Sistem Trading Terbaru untuk MetaTrader 5

Pengembangan lebih lanjut dari Multi Arbitration 1.000. Perbedaan dari versi 1.000: Sistem trading ini hanya dijalankan di PERIOD_M1 (lihat penjelasan di bawah, parameter Time frame). Sistem ini sekarang dapat melakukan trading pada dua simbol secara bersamaan. Simbol kedua diambil dari array statis ExtArrSymbols: string         ExtArrSymbols[20]=   {    "EURUSD","GBPUSD","USDCHF","USDJPY","USDCAD",    "AUDUSD","AUDNZD","AUDCAD","AUDCHF","AUDJPY",    "CHFJPY","EURGBP","EURAUD","EURCHF","EURJPY",    "EURNZD","EURCAD","GBPCHF","GBPJPY","CADCHF"   }; //+------------------------------------------------------------------+ //| Fungsi inisialisasi sistem                                   | //+------------------------------------------------------------------+ int OnInit() Prinsip pembukaan posisi telah berubah: Sekarang, posisi BUY baru hanya dapat dibuka ketika harga saat ini di bawah posisi BUY terendah. Posisi SELL baru hanya dapat dibuka ketika harga saat ini di atas posisi SELL tertinggi. Parameter baru Time frame memungkinkan pengoptimalan EA di grafik apa pun. Sistem ini akan aktif saat muncul bar baru dari simbol utama (yaitu simbol dari grafik tempat EA berjalan): //+------------------------------------------------------------------+ //| Fungsi tick sistem                                             | //+------------------------------------------------------------------+ void OnTick()   { //--- kita bekerja hanya pada saat lahirnya bar baru    static datetime prevtime=0;    datetime time_0=iTime(0,m_symbol_one.Name(),InpTimeFrame);    if(time_0==prevtime)       return;    prevtime=time_0; Di sini variabel InpTimeFrame adalah input Time frame kita. Tergantung pada input Time frame, kita dapat mengaktifkan EA untuk bekerja di setiap timeframe! Hasil pengujian pada EURUSD:

2017.11.03
Awal Sebelumnya 23 24 25 26 27 28 29 30 31 32 33 Berikutnya Akhir