Perdagangan Sistem

Membuat Expert Advisor MA Crossing untuk MetaTrader 4
MetaTrader4
Membuat Expert Advisor MA Crossing untuk MetaTrader 4

Halo sobat trader! Pada kesempatan kali ini, kita akan belajar cara membuat Expert Advisor (EA) sederhana dengan menggunakan teknik MA Crossing di MetaTrader 4. Mari kita mulai dengan mendefinisikan variabel input yang diperlukan. //--- parameter input input    int      period_ma_fast = 8;  //Periode MA Cepat input    int      period_ma_slow = 20; //Periode MA Lambat input    double   takeProfit  = 20.0;  //Take Profit (pips) input    double   stopLoss    = 20.0;  //Stop Loss (pips) input    double   lotSize     = 0.10;  //Ukuran Lot input    double   minEquity   = 100.0; //Equity Minimum ($) input    int Slippage = 3;       //Slippage input    int MagicNumber = 889;  //Nomor Magis Selanjutnya, kita akan mendefinisikan variabel global. Variabel dengan cakupan global ini akan dikenal dan dapat diakses oleh semua fungsi. //Variabel Global double   myPoint    = 0.0; int      mySlippage = 0; int      BuyTicket   = 0; int      SellTicket  = 0; Ketika EA dieksekusi, fungsi pertama yang dijalankan adalah OnInit(). Fungsi ini sering digunakan untuk memvalidasi dan menginisialisasi variabel global yang akan digunakan. int OnInit() {    //validasi input, selalu lakukan validasi saat inisialisasi data input    if (period_ma_fast >= period_ma_slow || takeProfit < 0.0 || stopLoss < 0.0 || lotSize < 0.01 || minEquity < 10){       Alert("PERINGATAN - Data input awal tidak valid");       return (INIT_PARAMETERS_INCORRECT);    }       double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);    if(lotSize<min_volume)    {       string pesan =StringFormat("Volume lebih kecil dari batas yang dibolehkan yaitu %.2f",min_volume);       Alert (pesan);       return(INIT_PARAMETERS_INCORRECT);    }       myPoint = GetPipPoint(Symbol());    mySlippage = GetSlippage(Symbol(),Slippage);    return(INIT_SUCCEEDED); } Ketika harga pasar bergerak (tick), fungsi OnTick() akan dipanggil dan menjalankan semua instruksi/fungsi yang terdapat dalam blok fungsi OnTick(). Di dalam fungsi OnTick() akan memanggil berbagai fungsi lainnya. Dimulai dengan memanggil fungsi checkMinEquity() untuk mengontrol kecukupan equity trading. Jika dana equity mencukupi (melebihi equity minimum), akan dilanjutkan dengan deklarasi variabel sinyal dan diikuti dengan pemanggilan fungsi NewCandle() yang berfungsi untuk memberi tahu ketika candle baru terbentuk. Fungsi getSignal() akan membaca nilai pada kedua indikator moving average dan mengembalikan informasi sinyal apakah terjadi cross naik atau turun sebagai sinyal untuk beli/jual. Berdasarkan informasi sinyal ini, akan diteruskan ke fungsi transaction() untuk membuka posisi beli atau jual. Dan akan dilanjutkan dengan memanggil fungsi setTPSL() yang berfungsi untuk mengatur harga take profit dan stop loss. Jika equity tidak memenuhi persyaratan minimum, akan muncul alert dan EA ini akan dihentikan. void OnTick() {    if (cekMinEquity()){                     int signal = -1;       bool isNewCandle = NewCandle(Period(), Symbol());              signal = getSignal(isNewCandle);       transaction(isNewCandle, signal);       setTPSL();                  }else{       //Hentikan trading, karena equity tidak cukup       Print("EA akan segera diberhentikan karena equity tidak mencukup");    } } Fungsi untuk setTPSL() void setTPSL(){    int   tOrder = 0;    string   strMN = "", pair = "";    double sl = 0.0, tp = 0.0;       pair = Symbol();       tOrder = OrdersTotal();    for (int i=tOrder-1; i>=0; i--){       bool hrsSelect = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);       strMN = IntegerToString(OrderMagicNumber());       if (StringFind(strMN, IntegerToString(MagicNumber), 0) == 0 && StringFind(OrderSymbol(), pair, 0) == 0 ){          if (OrderType() == OP_BUY && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() + (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() - (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if(OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrBlue)){                   Print ("OrderModify Berhasil");                }             }          }          if (OrderType() == OP_SELL && (OrderTakeProfit() == 0 || OrderStopLoss() == 0) ){             if (takeProfit > 0) {                tp = OrderOpenPrice() - (takeProfit * myPoint);             }else{                tp = OrderOpenPrice();             }             if (stopLoss > 0) {                sl = OrderOpenPrice() + (stopLoss * myPoint);             }else{                sl = OrderStopLoss();             }             if (OrderTakeProfit() != tp || OrderStopLoss() != sl ){                if (OrderModify(OrderTicket(), OrderOpenPrice(), sl, tp, 0, clrRed)){                   Print ("OrderModify Berhasil");                }             }          }       }//akhir if magic number && pair           }//akhir for } Untuk edukasi dan berbagi ilmu di Indonesia, silakan bergabung di grup telegram kami t.me/codeMQL Jika Anda mencari aplikasi untuk mendukung trading Anda, silakan unduh aplikasi SignalForex kami di Play Store. https://play.google.com/store/apps/details?id=com.autobotfx.signalforex

2021.03.30
EA Adaptif Mandiri: Sistem Deep Learning untuk MetaTrader 4
MetaTrader4
EA Adaptif Mandiri: Sistem Deep Learning untuk MetaTrader 4

Halo sahabat trader! Hari ini saya ingin berbagi tentang Expert Advisor (EA) yang sangat menarik, yaitu EA Adaptif Mandiri yang saya kembangkan. Sebelum mulai, saya berencana untuk menjual EA ini di pasar, dan saya ingin menjelaskan bagaimana sistem ini bekerja. Ide untuk mengembangkan EA ini muncul setelah saya menciptakan EA yang bisa trading berdasarkan pola statis, yang saya sebut 'The Unreal Engine'. Anda bisa cek di sini: The Unreal Engine. Saya menghadapi beberapa kendala dalam menguji EA Deep Learning ini karena terbatasnya sumber daya komputer saya. Saat ini, saya menggunakan komputer dengan prosesor dual core dan RAM 4 GB saja, sehingga untuk menguji EA ini dalam jangka waktu yang lama, Anda akan memerlukan komputer yang lebih canggih, atau siap-siap menunggu cukup lama. Nama merek dari EA ini adalah 'The Enchantress'. EA ini dirancang untuk mengumpulkan setiap pola yang terjadi di pasar dan membuka perintah virtual dengan stop loss dan take profit yang sesuai. EA ini akan mendeteksi pola pasar terbaik untuk membuka trading nyata. Penting untuk dicatat bahwa EA ini adalah expert advisor berbasis deep learning, dan diperlukan waktu setidaknya 3 hingga 5 bulan sebelum mulai membuka trading nyata. Saya sarankan Anda untuk mencoba di strategy tester terlebih dahulu sebelum menggunakan di akun riil. Jika ada di antara kalian yang telah mencoba EA ini, silakan bagikan hasilnya di sini: https://www.mql5.com/en/messages/018799F5C217D701 Jangan lupa untuk mengikuti channel saya di The Unreal Engine. Selamat mencoba! Saya merekomendasikan untuk menguji EA ini pada pasangan mata uang 5 digit dengan timeframe minimal H1.

2021.03.13
EA Sederhana Menggunakan Indikator DeMarker untuk MetaTrader 4
MetaTrader4
EA Sederhana Menggunakan Indikator DeMarker untuk MetaTrader 4

Pernahkah kamu berpikir untuk menggunakan EA (Expert Advisor) dalam trading? Saya juga! Di sini, saya akan berbagi tentang EA sederhana yang saya gunakan, dan ini adalah yang paling mudah yang pernah saya buat. Setelah membaca, jangan lupa untuk memberikan penilaian, ya! EA ini bekerja pada satu pasangan mata uang saja. Kamu bisa mengatur periode waktu, lot, stop loss, dan take profit melalui menu properti yang tersedia. extern ENUM_TIMEFRAMES TF  = PERIOD_CURRENT;// Pilih Time Frame extern int period          = 8;// Periode DeMarker extern double lt           = 0.01;// Lot extern int sl              = 100;// Stop Loss extern int tp              = 100;// Take Profit extern double OB           = 0.7;// Over Sold extern double OS           = 0.3;// Over Bought extern bool OPENBAR        = false;// Trading di harga open bar baru Berikut adalah rahasianya, saya membagi variabel ini menjadi 3 bagian:1. Data | Timeframe2. Order3. Pair //+------------------------------------------------------------------+ //-- time frame|indicator double dmrk[5]; int signal  =-1;//-- 0.buy 1.sell int hold = 0; //-- order int ticket  =0; double lot  =0.0; int typ     =-1; //-- pair datetime t1=0; bool newbar=false; bool entry =false; //+------------------------------------------------------------------+ Di fungsi OnInit(), saya harus menginisialisasi array variabel indikator DeMarker dan juga memeriksa ukuran lot minimum untuk jenis broker tertentu. //+------------------------------------------------------------------+ //|                                                                  | //+------------------------------------------------------------------+ void OnInit()   {    ArrayInitialize(dmrk,0.0);   //---       const double test_lot   = SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);       if(lt<test_lot)   lt    = test_lot;   } Di fungsi OnTick(), saya menghitung indikator dan menentukan sinyal beli dan jual. //---------------------------------------------------------------------------    signal = -1; //--------------------------------------------------------------------------- //---calc    for(int i=0; i<ArraySize(dmrk); i++)      {       dmrk[i]  =  iDeMarker(Symbol(),TF,period,i);      } //---    if(dmrk[1] > OB)      {       hold = 1;//set      }    else       if(dmrk[1] < OS)         {          hold = -1;//set         }       else         {          hold = 0;//reset         }    if(hold ==  1)      {       if(dmrk[0]<OB && dmrk[1]>OB)         {          signal = OP_SELL;         }      }    if(hold == -1)      {       if(dmrk[0]>OS && dmrk[1]<OS)         {          signal = OP_BUY;         }      } Untuk membuka sinyal beli dan jual... //---------------------------------------------------------------------------    if(signal != -1)       if(newbar==true)          if(entry==false)//pintu terbuka            {             //---             entry =true;//set             //---             if(signal == OP_BUY)               {                ticket = OrderSend(Symbol(),OP_BUY,lt,Ask,(int)((Ask-Bid)/Point,                                    sl>0?Bid-sl*Point:0.0,                                    tp>0?Bid+tp*Point:0.0,                                   EAName+":signal= "+IntegerToString(signal)+":hold= "+IntegerToString(hold),                                   EANumber,                                   0,                                   clrBlue);                signal=-1;                //hold =0;               }//reset             else                if(signal == OP_SELL)                  {                   ticket = OrderSend(Symbol(),OP_SELL,lt,Bid,(int)((Ask-Bid)/Point,                                      sl>0?Ask+sl*Point:0.0,                                      tp>0?Ask-tp*Point:0.0,                                      EAName+":signal= "+IntegerToString(signal)+":hold= "+IntegerToString(hold),                                   EANumber,                                    0,                                    clrRed);                   signal=-1;                   //hold =0;                      }//reset signal              } Dan untuk penutupan...    if(entry == true) // penutupan      {       if(OrderSelect(ticket,SELECT_BY_TICKET))         {          if(OrderCloseTime() == 0)//-- order masih aktif            {             /*  todo kondisi untuk menutup  */             //entry = false;            }          //else             if(OrderCloseTime() != 0)//--  close by 1. manual 2. sl/tp 3. ea               {                entry = false;//reset entry               }         }      }   

2020.12.17
Contoh Pembuatan File CSV untuk Expert Advisor di MetaTrader 4
MetaTrader4
Contoh Pembuatan File CSV untuk Expert Advisor di MetaTrader 4

Halo teman-teman, saya Lucas. Saya ingin berbagi sesuatu dengan komunitas luar biasa ini yang telah banyak saya pelajari dari membaca artikel informatif dan lainnya. Saya adalah investor di pasar forex dan saham, serta pembuat Expert Advisor (EA) untuk trading pribadi saya sendiri. Jadi, berikut adalah kontribusi saya dan semoga ada manfaatnya bagi kalian semua! Ini adalah contoh bagaimana Anda dapat menulis data order ke dalam file CSV yang nantinya bisa Anda pelajari dan gunakan dalam analisis Anda. Expert ini tidak seharusnya digunakan untuk trading (seperti saat ini), namun contoh ini menunjukkan bagaimana Anda dapat mengimplementasikan dan menggunakan fungsi ini dalam Expert Anda sendiri, atau Anda bisa terus mengembangkan dan memodifikasi EA ini sesuai dengan strategi Anda. Expert ini akan membuka posisi dalam arah yang dipilih, dan order akan ditutup secara virtual berdasarkan pengaturan input TP/SL. Jika 'WriteCloseData' diatur ke true, sebuah file akan dibuat yang menyimpan data order seperti arah, keuntungan/kerugian, harga, dan lain-lain dalam format CSV di terminal Anda. Untuk menguji Expert ini di strategy tester, Anda bisa menemukan file ini di OpenDataFolder/tester/CSVexpert/CSVexample. Direktori CSVexpert akan dibuat saat Anda mulai melakukan testing, dan file yang menyimpan semua data, CSVexample, akan dibuat di dalamnya. Ketika Anda mengimplementasikan fungsi ini ke dalam Expert Anda sendiri atau melanjutkan pengembangan dan kemudian menjalankannya di akun demo/riil, Anda akan menemukan file yang dibuat ini di MQL4/Files/CSVexpert/CSVexample. Nama direktori dan file dapat Anda ubah sesuai keinginan, kecuali untuk ekstensi .csv yang harus Anda biarkan tetap sama. Sekali lagi, ingat bahwa ini hanya contoh Expert tentang apa yang bisa Anda lakukan dan bagaimana cara menggunakan fungsi ini. Saya tidak ingin Anda kehilangan dana jika Anda berpikir bahwa ini bisa digunakan untuk tujuan trading saat ini!

2020.11.14
Rencana Keluar Master: Strategi Cerdas untuk Trader MetaTrader 4
MetaTrader4
Rencana Keluar Master: Strategi Cerdas untuk Trader MetaTrader 4

Rencana Keluar Master adalah kumpulan strategi sederhana yang akan membantu trader dalam mengelola cara keluar dari posisi trading terbuka dan order yang belum dieksekusi. CATATAN: EA ini tidak membuka trade untuk Anda. Ini hanya mengelola trade terbuka dan order pending Anda. Berikut adalah daftar strategi keluar yang bisa Anda gunakan: Target Ekuitas - bagian dari program ini membantu Anda melindungi ekuitas akun Anda dengan cara yang konservatif. Stop-Loss Tetap - Anda dapat mengatur stop-loss tetap yang terlihat untuk setiap trade yang Anda lakukan. Stop-Loss Tersembunyi - Anda dapat mengatur stop-loss tetap yang tersembunyi untuk setiap trade Anda. Stop-Loss Dinamis - ini adalah stop-loss yang terlihat dan bergerak seiring dengan harga. Ini memungkinkan trader untuk bertrading seolah-olah tidak ada stop-loss meskipun sebenarnya ada. Penjelasan lengkap tentang konsep revolusioner ini dibahas dalam e-book, Uncharted Stratagems: Unknown Depths of Forex Trading. Ada lebih dari selusin ide baru yang bisa Anda ambil dari buku tersebut. Stop-Loss Dinamis Tersembunyi - seperti namanya, ini adalah versi tersembunyi dari stop-loss dinamis. Trailing Stop - ini bukan metode trailing stop biasa. Ia memiliki ide revolusioner lainnya yang memicu trailing stop ketika persentase profit positif tertentu tercapai. Ini juga menjamin trader untuk mendapatkan pips positif. Trailing Order Pending - ini mengikuti order stop untuk memaksimalkan posisi yang menguntungkan.

2020.11.07
Strategi Trading Rijfie Pyramid 1.12 untuk MetaTrader 4
MetaTrader4
Strategi Trading Rijfie Pyramid 1.12 untuk MetaTrader 4

Halo, Trader! Di artikel kali ini, saya ingin berbagi rencana trading yang saya gunakan dengan Rijfie Pyramid versi 1.12 di MetaTrader 4. Berikut adalah langkah-langkah yang saya terapkan: Langkah-langkah Trading Pencarian Saham: Cari saham AS yang harganya di bawah €20 atau $20. Pembelian Lot Pertama: Ketika harga naik melewati level rendah stochastic, saya akan membeli 1 lot (0.01). Pembelian Lot Tambahan: Jika harga turun, saya akan membeli lagi 1 lot (0.01). Pengaturan Trailing Stop: Saat harga naik di atas harga beli + spread, trailing stop akan bergerak ke posisi yang tepat. Saya juga memperhatikan beberapa parameter penting lainnya: Level Rendah: Ketika stochastic melintasi level 10, saya akan membeli 1 lot. Harga Maksimum: Tidak ada lot yang akan dibeli di atas harga maksimum (maks = harga + spread). Harga Minimum: Tidak akan ada pembelian di bawah harga minimum. Nomor Ajaib: Harus diubah untuk setiap grafik baru. Chart Waktu: Ini adalah grafik yang digunakan. MA Period: Ini adalah periode moving average. Step Level: Persentase saat order beli akan ditempatkan. Jika saya mengatur profit pada 0, semua order positif yang terbuka akan ditutup saat penutupan jika close all diatur ke true. Selain itu, saya juga mengatur jam dan menit untuk penutupan order. Misalnya, jika close all diatur ke true, profit diatur ke 10, jam ke 20:00, dan menit ke 55, maka semua order terbuka dengan profit lebih dari 10 akan ditutup antara pukul 20:55 hingga 21:00. Pemilihan Saham yang Tepat Saya sangat menyarankan untuk mencari saham dengan swap rendah seperti Zynga, Nokia, dan Vale. Hal ini penting karena swap bisa mempengaruhi profitabilitas trading kita. Jika saya mengatur harga minimum ke 1, saya bisa menghitung kemungkinan kerugian maksimum. Misalnya, jika saya mengatur kerugian maksimum menjadi 1% dari saham seharga €5, maka kerugian maksimum sekitar €500. Jika trading saham seharga €15, kerugian maksimum bisa mencapai sekitar €1500. Tetapi, Anda hanya akan menghadapi risiko ini jika perusahaan bangkrut. Jika Anda ingin menutup semua trading saat rugi, maka Anda harus siap untuk menerima kerugian tersebut. Selain itu, Anda juga bisa kehilangan sebagian jika broker Anda tidak lagi mendukung saham tersebut. Ini adalah versi terbaru yang saya suka gunakan: Rijfie Pyramid versi 1.12.mq4. Satu hal yang perlu diingat, ketika menggunakan EA ini, pertimbangkan untuk menutup semua order terbuka yang di atas 0 sebelum waktu penutupan. Ini penting untuk menghindari pembukaan gap pada hari berikutnya. Dengan versi 1.10, Anda bisa menutup trading sebelum waktu penutupan jika profit sudah diatur dan close all diatur ke true, serta jam dan menit ditentukan. Di versi 1.12, persentase bisa diubah dengan mengatur step level. Jika step level diatur ke 1, itu artinya 1%, dan jika diatur ke 5, berarti 5%. Di akhir, Anda mungkin melihat beberapa kerugian, tetapi itu adalah bagian dari proses pengujian.

2020.10.26
DreamBot - Robot Trading Terbaik untuk MetaTrader 4
MetaTrader4
DreamBot - Robot Trading Terbaik untuk MetaTrader 4

PengenalanSelamat datang, sobat trader! Hari ini kita akan membahas tentang DreamBot, sebuah robot trading yang dirancang khusus untuk MetaTrader 4. Sebelum kita masuk lebih dalam, penting untuk dicatat bahwa tidak ada yang namanya "cawan suci" dalam dunia trading. Robot ini adalah alat yang dapat membantu, tetapi hasil akhir tetap bergantung pada strategi dan pemahaman kita tentang pasar.Apa itu DreamBot?DreamBot adalah salah satu robot trading yang banyak dibicarakan di kalangan trader. Dengan teknologi canggih dan algoritma yang teruji, robot ini dirancang untuk membantu trader dalam mengambil keputusan yang lebih baik dan lebih cepat. Namun, ingat, meskipun DreamBot dapat membantu, tetap diperlukan pemahaman yang baik tentang analisis pasar.Keunggulan DreamBotOtomatisasi Trading: DreamBot dapat melakukan trading secara otomatis berdasarkan parameter yang telah ditentukan.Pengaturan Mudah: Pengguna dapat dengan mudah mengatur strategi trading sesuai dengan preferensi masing-masing.Analisis Pasar Real-Time: Robot ini mampu menganalisis pasar secara langsung dan memberikan sinyal trading yang akurat.KesimpulanJadi, apakah DreamBot adalah solusi untuk semua masalah trading Anda? Tentu saja tidak. Namun, dengan pemahaman yang tepat dan penggunaan yang bijaksana, DreamBot bisa menjadi alat yang berguna dalam perjalanan trading Anda. Jangan ragu untuk mencoba dan lihat bagaimana robot ini dapat membantu Anda mencapai tujuan trading Anda!

2020.10.22
MarketsMaster EA: Solusi Cerdas untuk Trading di MetaTrader 4
MetaTrader4
MarketsMaster EA: Solusi Cerdas untuk Trading di MetaTrader 4

MarketsMaster EA adalah Expert Advisor yang dirancang khusus dengan menggunakan MQL4 dan menawarkan 4 sinyal berdasarkan 6 indikator. Solusi ini cocok untuk berbagai jenis instrumen, mulai dari Forex, Indeks, hingga Logam. Yang Anda perlukan hanyalah memberikan parameter yang tepat. Walaupun tersedia dalam bahasa Spanyol dan Inggris, EA ini lebih mudah dipahami dan digunakan oleh trader lokal. Menurut pengalaman saya, Expert Advisor ini bekerja lebih baik pada timeframe dari M15 hingga H1. Tapi jangan khawatir, setiap timeframe bisa memberikan profit jika strategi Anda sesuai dengan kebutuhan pasar. Anda bisa membuka posisi dengan lot tetap atau menggunakan lot berdasarkan persentase risiko dari saldo Anda. MarketsMaster EA bekerja dengan menggunakan indikator seperti Volume, PSAR, Stochastic, Bull dan Bears Power, ATR, serta MFI. Keuntungan diambil melalui Trailing dan Trailing Step berdasarkan 1 order. Jika Anda membuka beberapa order, keuntungan akan diambil berdasarkan jumlah uang atau persentase dari saldo, begitu juga dengan kerugian. Ingat, jika Anda tidak mengaktifkan kerugian dalam persentase, itu sama saja dengan memberi kerugian 100 persen. Sebelum melakukan backtesting, saya sarankan untuk menempelkan indikator pada grafik Anda terlebih dahulu. Lihat volume minimum untuk tren, lalu evaluasi kecocokan terbaik antara semua indikator dan timeframe, agar backtesting dapat dilakukan dengan parameter yang lebih sedikit. Juga, evaluasi pergerakan rata-rata per trade untuk memberikan nilai pada Trailing Profit. INGAT: Tambahkan URL di Tools / Options / Expert Advisors / aktifkan: Allow WebRequest untuk URL yang terdaftar dan tambahkan kedua URL untuk berita. Perlu diingat bahwa berita tidak dapat diambil untuk Indeks dan Logam, jadi jangan aktifkan fitur ini pada instrumen tersebut, karena akan menghentikan semua EA lainnya di grafik yang berbeda. Jika ada yang ingin menerjemahkan ini ke dalam MQL5, itu akan sangat bagus. Saya masih belum menguasai MQL5. Jika Anda melakukannya, silakan kirimkan salinannya kepada saya 😉.

2020.10.04
Awal Sebelumnya 2 3 4 5 6 7 8 9 10 11 12 Berikutnya Akhir