Perdagangan Sistem

Cara Cek Trade Terakhir yang Ditutup di MetaTrader 5
MetaTrader5
Cara Cek Trade Terakhir yang Ditutup di MetaTrader 5

Halo trader! Kali ini kita akan membahas cara untuk mengambil data trade terakhir yang ditutup tanpa menggunakan loop di MetaTrader 5. Yuk, simak langkah-langkahnya! Buat variabel untuk mengatur waktu mulai hari ini. (Ini tidak wajib dilakukan.) Buat beberapa variabel tambahan untuk menampilkan output grafik dan bisa digunakan di blok kode lain juga. (Ini juga tidak wajib.) Dengan menggunakan kode ini di dalam OnTick();, kamu akan mendapatkan hasil untuk setiap tick. Kamu juga dapat mengatur ini untuk sekali per bar. // variabel string DayStart = "00:00"; // Waktu Mulai Hari double LastClosed_Profit; // Profit trade terakhir yang ditutup string TradeSymbol, TradeType; // Inisialisasi Expert -------------------- int OnInit()   {    return(INIT_SUCCEEDED);   } // Deinisialisasi Expert ------------------- void OnDeinit(const int reason)   {   } // Fungsi OnTick -------------------------- void OnTick()   { // cek trade terakhir yang ditutup.    CheckLastClosed();   } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ void CheckLastClosed()   {    datetime HistoryTime = StringToTime(DayStart); // sejarah dari "awal hari hingga waktu saat ini"    if(HistorySelect(HistoryTime,TimeCurrent()))      {       int Total = HistoryDealsTotal();       // Dapatkan nomor tiket deal terakhir dan pilih untuk pekerjaan selanjutnya.       ulong Ticket = HistoryDealGetTicket(Total -1);       // Ambil data yang kamu butuhkan.       LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);       TradeSymbol      = HistoryOrderGetString(Ticket,ORDER_SYMBOL);       // Identifikasi trade sell.       if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)         {          TradeType = "Sell Trade";         }       // Identifikasi trade buy       if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)         {          TradeType = "Buy Trade";         }       // Output grafik.       Comment(" ","Total Deals - :  ", Total,               " ","Tiket Deal Terakhir - :  ", Ticket,               " ", "Profit Terakhir -:  ", LastClosed_Profit,               " ", "Trade Terakhir adalah -:  ", TradeType);      }   } //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ Kamu juga bisa mendapatkan seluruh riwayat trading (dari awal akun) dengan menggunakan fungsi HistorySelect(); dengan cara ini: // Dapatkan seluruh riwayat HistorySelect(0,TimeCurrent());

2024.04.22
Mengoptimalkan Trading dengan EA Trailing Close dan Profit untuk MetaTrader 5
MetaTrader5
Mengoptimalkan Trading dengan EA Trailing Close dan Profit untuk MetaTrader 5

Selamat datang, para trader! Hari ini kita akan membahas tentang EA (Expert Advisor) yang sangat berguna untuk membantu mengelola order trading Anda dengan lebih efektif. Semua Order EA ini adalah modifikasi dari EA lama yang sudah terbukti bermanfaat. Cara Menggunakan: Tambahkan EA ini pada simbol yang Anda inginkan. Tentukan nilai variabel untuk Take Profit (TP), Stop Loss (SL), Trailing, Penutupan, dan Ambang Profit atau Kerugian untuk order Anda. EA ini tidak bergantung pada nomor magic tertentu, sehingga jika Anda membuka order melalui perangkat mobile, EA ini akan secara otomatis mengubah (SL, TP, dan Trailing) order tersebut. Fitur Modifikasi: Memisahkan dengan 5 tombol yang berbeda. Menutup semua order secara otomatis jika mencapai profit sesuai dengan nilai parameter: "CLOSE IF PROFIT-xxxx" (isi dengan 0 jika tidak ingin menggunakan ini). Contoh: Mengisi 100.0 akan menutup semua order secara otomatis ketika profit mencapai $100. Jika Anda mengisi 0.0, fungsi ini tidak akan aktif. Menutup semua order secara otomatis jika mencapai kerugian sesuai dengan nilai parameter: "CLOSE IF LOSS-xxxx" (isi dengan 0 jika tidak ingin menggunakan ini). Contoh: Mengisi -70.0 akan menutup semua order secara otomatis ketika kerugian mencapai -$70. Jika Anda mengisi 0.0, fungsi ini tidak akan aktif. Semoga trading Anda semakin sukses! Riwayat Pembaruan: Menambahkan tombol Close BUY Menambahkan tombol Close SELL Menghapus parameter yang tidak digunakan: Lots

2024.04.21
Menghitung dan Menunggu di MetaTrader 5: Panduan Lengkap untuk Trader
MetaTrader5
Menghitung dan Menunggu di MetaTrader 5: Panduan Lengkap untuk Trader

01. Hitung "X" Kali dan Lanjutkan. Langkah 01 - Buat variabel untuk menetapkan batas hitungan. Anda juga bisa menggunakannya sebagai parameter input untuk optimasi dalam kode Anda. Langkah 02 - Buat variabel lain untuk menyimpan batas hitungan (seberapa banyak sudah dihitung). Langkah 03 - Ketika Counter dan batas hitungan Anda sama, itu artinya saatnya untuk melanjutkan blok kode yang telah Anda tentukan. Langkah 04 - Setelah kode dilanjutkan, pastikan untuk reset counter juga. Jika tidak, ini akan menyebabkan hitungan terus berlanjut tanpa henti. Anda bisa menetapkan kondisi penyaringan pada blok Counter juga. Misalnya, >> "JIKA ini benar, maka hitung sekali." input int count = 50; // Tetapkan batas hitungan sebagai input int Counter; // variabel counter // Inisialisasi Expert -------------------- int OnInit() { return(INIT_SUCCEEDED); } // Deinisialisasi Expert ------------------- void OnDeinit(const int reason) { } // OnTick Expert -------------------------- void OnTick() { Counter ++; // tambah 1 pada counter setiap tick. Comment("Hitungan Saat Ini -:", Counter); if(Counter == count) // Hitung "X" kali dan lanjutkan | Blok ini dijalankan hanya sekali per hitungan. {      // Kode Anda ditulis di sini...... Alert(count," Kali dihitung"); Counter = 0; // Reset counter di akhir blok kode Anda. Ini sangat penting. } } // Akhir OnTick  <<---------------------- 02. Lanjutkan "X" Kali dan Tunggu "X" Kali, kemudian lanjutkan. Metode ini dapat digunakan sebagai menunggu dan melanjutkan, melanjutkan dan menunggu. Langkah 01 - Buat variabel untuk menetapkan batas hitungan dan batas tunggu. Anda bisa menggunakan ini sebagai parameter input untuk optimasi dalam kode Anda. Langkah 02 - Buat variabel lain untuk menyimpan batas hitungan & batas tunggu (seberapa banyak sudah dihitung dan ditunggu). Langkah 03 - Ketika Counter dan batas hitungan Anda sama, itu artinya saatnya untuk melanjutkan blok kode yang telah Anda tentukan. Langkah 04 - Setelah batas tunggu Anda tercapai, pastikan untuk reset counter dan waiter juga. Jika tidak, ini akan berhenti bekerja. Anda bisa menetapkan kondisi penyaringan pada blok Counter dan blok waiter juga. Misalnya, >> "JIKA ini benar, tunggu sejenak" input int count = 50; // Tetapkan batas hitungan sebagai input input int wait = 50; // Tetapkan batas tunggu sebagai input int Counter; // variabel counter nilai defaultnya "0" int Waiter; // variabel tunggu nilai defaultnya "0" // Inisialisasi Expert -------------------- int OnInit()   {    return(INIT_SUCCEEDED);   } // Deinisialisasi Expert ------------------- void OnDeinit(const int reason)   {   } // OnTick Expert -------------------------- void OnTick()   {    Comment("Hitungan Tick -: ", Counter, "\n", "Tick yang Ditunggu -: ", Waiter);    if(Counter < count) // Lanjutkan "X" kali      {       Counter++; // update counter       // Kode Anda ditulis di sini.      }    else       if(Waiter < wait) // Tunggu selama "X" kali         {          Waiter++; // update waiter          // Kode Anda ditulis di sini.         }    if(Waiter == wait) // Batas Tunggu tercapai      {       Counter = 0; // reset counter       Waiter = 0; // reset waiter      }   } // Akhir OnTick  <<---------------------- //+------------------------------------------------------------------+ Spesial -: Anda bisa mengkodekan "Lanjutkan X kali dan berhenti" dengan memodifikasi kode di atas dengan menghapus blok kode tunggu. Kemudian, ini akan menghitung untuk jumlah tertentu dan berhenti bekerja hingga counter direset. Anda bisa meresetnya di mana saja dalam kode Anda jika Anda membuat variabel ini dalam skala global. (variabel global)

2024.04.14
Deteksi Bar Baru dengan Menghitung Jumlah Bar di MetaTrader 5
MetaTrader5
Deteksi Bar Baru dengan Menghitung Jumlah Bar di MetaTrader 5

Pada kode sebelumnya, saya menggunakan waktu untuk mendeteksi bar baru. Kali ini, kita akan menggunakan jumlah bar untuk mendeteksi bar baru. Metode ini jauh lebih ringan dan cepat dibandingkan metode waktu.Deklarasikan variabel dengan tipe data integer untuk menyimpan jumlah bar.Assign jumlah bar untuk "BarsTotal_OnInt" pada saat inisialisasi.Gunakan fungsi iBars(); untuk menetapkan jumlah bar ke variabel "BarsTotal_OnTick" pada grafik langsung. Variabel ini akan diperbarui pada setiap tick.Gunakan comments dan alerts untuk memeriksa akurasi kode.int BarsTotal_OnInt; int BarsTotal_OnTick; //+------------------------------------------------------------------+ //| Fungsi inisialisasi Expert                                   | //+------------------------------------------------------------------+ int OnInit()   {      BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // Mengatur jumlah total bar saat inisialisasi    return(INIT_SUCCEEDED);   }    void OnTick() // Fungsi OnTick   {      BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // Menyimpan jumlah terbaru       if(BarsTotal_OnTick > BarsTotal_OnInt) // Bar baru telah tiba    {     BarsTotal_OnInt = BarsTotal_OnTick; // Memperbarui riwayat.     Alert("Bar Baru Telah Tiba");     Comment("Jumlah Bar dalam riwayat -: ", BarsTotal_OnInt, " ", "Jumlah Bar dalam Live -: ", BarsTotal_OnTick); // Kode Anda di sini. -------------------------- // Anda bisa memperbarui sebuah "flag" / variabel untuk digunakan nanti.    }   }

2024.04.11
Mengelola Trading dengan Virtual SL TP Pending dan Trailing Stop di MetaTrader 4
MetaTrader4
Mengelola Trading dengan Virtual SL TP Pending dan Trailing Stop di MetaTrader 4

Halo, Sobat Trader! Hari ini kita akan membahas tentang Virtual SL TP Pending dengan fitur Trailing Stop yang bisa kamu gunakan di MetaTrader 4. Skrip ini sangat membantu dalam mengelola trading kamu dengan menetapkan level stop loss dan take profit secara virtual, serta menambahkan pending order dengan opsi trailing stop. Yuk, kita simak lebih lanjut! Rincian Skrip Berikut adalah penjelasan mengenai skrip "Virtual_SL_TP_Pending_with_SL_Trailing.mq4": Hak Cipta dan Tautan: Menyediakan informasi hak cipta dan tautan ke situs web pembuat skrip. Versi: Menunjukkan versi dari skrip ini. Deskripsi: Memberikan informasi tentang skrip, termasuk alamat email pembuat, detail kekayaan intelektual, serta peringatan untuk menggunakan perangkat lunak ini dengan risiko sendiri. Parameter Input: Variabel eksternal yang memungkinkan pengguna untuk menyesuaikan perilaku EA, termasuk: StopLossPoints: Stop Loss awal dalam poin. TakeProfitPoints: Take Profit awal dalam poin. SpreadThreshold: Ambang spread untuk stop loss/take profit virtual dalam poin. TrailingStopPoints: Trailing stop dalam poin untuk pending order virtual. EnableTrailing: Opsi untuk mengaktifkan atau menonaktifkan trailing stop. Variabel Global: Variabel yang digunakan di seluruh skrip untuk menyimpan spread awal, stop loss virtual, take profit virtual, dan harga pending order. Fungsi Inisialisasi (OnInit): Menginisialisasi EA saat terpasang di grafik. Fungsi ini menghitung stop loss virtual awal, take profit, dan harga pending order berdasarkan parameter input. Fungsi Tick (OnTick): Dipanggil pada setiap tick harga. Fungsi ini memeriksa apakah spread telah meningkat melebihi ambang batas dan menyesuaikan stop loss virtual, take profit, serta harga pending order. Selain itu, jika harga mencapai stop loss virtual atau take profit, posisi akan ditutup. Jika trailing stop diaktifkan dan harga mencapai harga pending order, maka akan ditempatkan pending order virtual dengan trailing stop loss. Fungsi Tutup Posisi (ClosePosition): Menutup posisi saat harga mencapai stop loss virtual atau take profit. Fungsi Tempatkan Pending Order (PlacePendingOrder): Menempatkan pending order virtual dengan trailing stop loss jika trailing stop diaktifkan. Dengan menggunakan EA ini, kamu dapat mengelola trading secara fleksibel dengan level virtual dan fitur trailing stop, sehingga proses manajemen trading di MetaTrader 4 menjadi lebih otomatis. Semoga informasi ini bermanfaat dan dapat membantu kamu dalam trading! Selamat bertrading!

2024.04.10
Tutup Posisi Sepanjang Keranjang dengan Close Basket Pairs v1 di MetaTrader 4
MetaTrader4
Tutup Posisi Sepanjang Keranjang dengan Close Basket Pairs v1 di MetaTrader 4

Halo para trader! Kali ini kita akan membahas sebuah skrip MQL4 yang sangat berguna, yaitu Close Basket Pairs. Skrip ini dirancang untuk menutup posisi dalam keranjang pasangan mata uang berdasarkan ambang batas keuntungan dan kerugian tertentu. Yuk, kita simak lebih lanjut! Nama skrip ini adalah CloseBasketPairs.mq4. Skrip ini dilindungi hak cipta oleh MetaQuotes Software Corp. pada tahun 2024. Ada tautan ke situs web MetaQuotes untuk informasi lebih lanjut. Versi skrip ini adalah 1.01. Skrip ini ditulis oleh persinaru@gmail.com. Skrip ini dilisensikan di bawah IP 2024 - open source gratis. Tujuan utama skrip ini adalah untuk menutup posisi dalam keranjang pasangan mata uang ketika ambang batas keuntungan atau kerugian tercapai. Perlu diingat, penggunaan skrip ini adalah risiko Anda sendiri, dan penciptanya tidak bertanggung jawab atas kerugian atau kerusakan yang mungkin terjadi. Skrip ini mendefinisikan pasangan yang ada dalam keranjang dan jenis order-nya, serta ambang batas keuntungan dan kerugian. Skrip ini akan melakukan loop melalui semua posisi yang terbuka dan memeriksa apakah posisi tersebut termasuk dalam pasangan keranjang yang telah ditentukan. Jika posisi memenuhi kriteria (keuntungan melebihi ambang keuntungan atau kerugian melebihi ambang kerugian), posisi tersebut akan ditutup. Selain itu, skrip ini juga menyediakan fungsi untuk inisialisasi, deinisialisasi, dan penanganan peristiwa tick. Fungsi PrintStrategyInfo() digunakan untuk mencetak informasi tentang strategi yang digunakan.

2024.04.10
Strategi Sederhana Mengikuti Tren untuk Trading di MetaTrader 4
MetaTrader4
Strategi Sederhana Mengikuti Tren untuk Trading di MetaTrader 4

Dalam dunia trading, memiliki strategi yang jelas sangat penting. Kali ini, kita akan membahas tentang sebuah skrip MetaTrader 4 yang menerapkan strategi sederhana untuk mengikuti tren secara terus-menerus. Skrip ini dirancang untuk membantu kita dalam mengambil keputusan beli dan jual berdasarkan kondisi yang telah ditentukan. Berikut adalah penjelasan mendetail tentang skrip ini:Inisialisasi: Skrip ini akan melakukan inisialisasi dan mencetak pesan ketika berhasil diinisialisasi.Deinisialisasi: Skrip ini akan melakukan deinisialisasi dan mencetak pesan ketika di-deinisialisasi.Fungsi OnTick: Fungsi ini dieksekusi setiap kali ada perubahan harga baru di pasar.Reset Variabel Pelacakan Posisi: Skrip ini akan mereset variabel yang melacak posisi beli dan jual yang terbuka.Periksa Pesanan Terbuka: Skrip ini akan memeriksa semua pesanan terbuka untuk menentukan apakah ada posisi beli atau jual yang sudah ada.Buka Posisi Beli: Jika tidak ada posisi beli terbuka dan flag "OpenBuyPosition" disetel ke true, skrip akan mencoba membuka posisi beli berdasarkan harga bid pasar saat ini. Skrip ini juga akan menetapkan stop loss dan take profit untuk pesanan beli.Buka Posisi Jual: Jika tidak ada posisi jual terbuka dan flag "OpenSellPosition" disetel ke true, skrip akan mencoba membuka posisi jual berdasarkan harga ask pasar saat ini. Skrip ini juga akan menetapkan stop loss dan take profit untuk pesanan jual.Periksa Pesanan yang Ditutup: Skrip ini akan memeriksa apakah ada pesanan yang telah ditutup. Jika ada pesanan beli atau jual yang ditutup dengan keuntungan, skrip akan mereset flag posisi yang sesuai.Parameter Input: Skrip ini menyediakan parameter input untuk ukuran lot, stop loss, take profit, dan flag untuk mengontrol apakah akan membuka posisi beli atau jual.Penafian: Skrip ini menyertakan peringatan yang menyarankan pengguna untuk menggunakannya dengan risiko mereka sendiri dan membebaskan pembuat skrip dari tanggung jawab atas kerugian atau kerusakan yang mungkin terjadi.Secara keseluruhan, skrip ini bertujuan untuk mengotomatisasi proses eksekusi pesanan beli dan jual berdasarkan strategi mengikuti tren yang berkelanjutan. Dengan adanya parameter yang dapat disesuaikan seperti ukuran lot dan arah perdagangan, pengguna dapat lebih fleksibel dalam trading. Namun, penting untuk selalu berhati-hati dan melakukan pengujian menyeluruh sebelum menerapkannya dalam lingkungan trading nyata.

2024.04.10
Panduan Menggunakan Trailing Stop di MetaTrader 5 untuk Trader Indonesia
MetaTrader5
Panduan Menggunakan Trailing Stop di MetaTrader 5 untuk Trader Indonesia

Kode ini berfungsi jika Anda menggunakan Stop Loss atau tidak. Persyaratan Anda perlu menyertakan "Trade.mqh" untuk mengakses kelas CTrade yang memungkinkan Anda bekerja dengan posisi dan order. #include <Trade\Trade.mqh> // <<------------------------------------------ Sertakan "Trade.mqh" untuk mengakses kelas CTrade Anda perlu mengatur parameter input untuk menyesuaikan jarak trailing sesuai keinginan Anda. Ini tidak wajib, tetapi sangat membantu. input double Traling_Step = 3.0; Anda perlu mendefinisikan instance untuk kelas CTrade. Namanya bisa apa saja, tetapi sebaiknya didefinisikan setelah handler acara OnInit. Selanjutnya, Anda perlu membuat pernyataan if untuk memeriksa apakah ada posisi yang sedang berjalan saat ini. Pernyataan ini memanggil fungsi Check_TrailingStop(); untuk setiap tick. Ini penting karena EA harus melakukan trailing dengan tepat dan mulus. Ingat untuk menempatkan pernyataan ini di bagian atas handler acara OnTick agar berfungsi dengan baik. //+------------------------------------------------------------------+ //| Fungsi inisialisasi Expert                                    | //+------------------------------------------------------------------+ int OnInit()   {    //--- buat timer    EventSetTimer(60); //---    return(INIT_SUCCEEDED);   } CTrade trade; // <<------------------------------------------ Deklarasikan kelas "CTrade". Anda bisa mengganti "trade" dengan nama apa pun yang Anda inginkan void OnTick()   {    if(PositionsTotal() > 0) // memanggil fungsi trailing stop untuk setiap tick jika ada posisi yang berjalan.      {       Check_TralingStop();      }               } Anda perlu mendeklarasikan fungsi khusus bernama Check_TrailingStop(); (dalam hal ini) untuk menyelesaikan sisanya. Anda bisa menggunakan nama apa pun yang Anda mau. Fungsi kustom ini akan melakukan loop melalui semua posisi terbuka dan melakukan trailing sesuai jarak yang Anda tentukan. void Check_TralingStop()   {    int totalPositions = PositionsTotal();    for(int count =0; count < totalPositions; count++)      {       ulong TicketNo = PositionGetTicket(count); // Mendapatkan nomor tiket posisi menggunakan 'indeks' posisi.       if(PositionSelectByTicket(TicketNo)) // Memilih posisi menggunakan nomor tiket (kita sudah mengambil nomor tiketnya)         {          if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY) // Memeriksa jenis posisi.            {             double openPrice = PositionGetDouble(POSITION_PRICE_OPEN);             double stopLoss  = PositionGetDouble(POSITION_SL);       // <<------------------- Mendapatkan Stop Loss saat ini             double takeProfit = PositionGetDouble(POSITION_TP);             double bidPrice  = SymbolInfoDouble(_Symbol,SYMBOL_BID);             ulong ticket = PositionGetTicket(count);             double trailingLevel = NormalizeDouble(bidPrice - (Traling_Step * Point()),_Digits);             if(stopLoss < openPrice) // Tidak ada stop loss yang benar.               {                if(bidPrice > openPrice && trailingLevel > openPrice) // Hanya berjalan sekali per posisi. Mengatur SL pertama.                 trade.PositionModify(ticket,trailingLevel,takeProfit); // Mengubah trailing Stop menggunakan "CTrade.trade"               }             if(bidPrice > openPrice && trailingLevel > stopLoss) // memeriksa level trailing di atas level sebelumnya.               {                trade.PositionModify(ticket,trailingLevel,takeProfit); // Mengubah trailing Stop menggunakan "CTrade.trade"               }            }          if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)            {             double openPrice = PositionGetDouble(POSITION_PRICE_OPEN);             double stopLoss  = PositionGetDouble(POSITION_SL);             double takeProfit = PositionGetDouble(POSITION_TP);             double bidPrice  = SymbolInfoDouble(_Symbol,SYMBOL_BID);             double askPrice  = SymbolInfoDouble(_Symbol,SYMBOL_ASK);             ulong ticket = PositionGetTicket(count);             double trailingLevel = NormalizeDouble(askPrice + (Traling_Step * Point()),_Digits);             if(stopLoss < openPrice) // Tidak ada stop loss yang benar.               {                if(askPrice < openPrice && trailingLevel < openPrice) // Hanya berjalan sekali per posisi. Mengatur SL pertama.                 trade.PositionModify(ticket,trailingLevel,takeProfit); // Mengubah trailing Stop menggunakan "CTrade.trade"               }             if(askPrice < openPrice && trailingLevel < stopLoss) // memeriksa level trailing di atas level sebelumnya.               {                trade.PositionModify(ticket,trailingLevel,takeProfit); // Mengubah trailing Stop menggunakan "CTrade.trade"               }            }         }     }   }

2024.04.05
Kode Sederhana untuk Mendeteksi 'New Bar' atau 'New Candle' di MetaTrader 5
MetaTrader5
Kode Sederhana untuk Mendeteksi 'New Bar' atau 'New Candle' di MetaTrader 5

Halo trader! Kali ini kita akan membahas kode sederhana yang mendeteksi 'New Bar' atau 'New Candle' ketika sudah diterima. Prinsip dasar dari kode ini sangat mudah. Pertama, kode ini menyimpan Waktu dari bar / Candle sebelumnya. Kemudian, kita tambahkan 60 detik (setara dengan 1 menit, dan Anda bisa menambah waktu sesuai kebutuhan) untuk mendapatkan nilai waktu penutupan dari Current Bar / Candle. Setelah itu, Waktu Saat Ini = nilai waktu penutupan dari Current Bar / Candle. Ini berarti bar baru telah diterima atau bar saat ini telah ditutup. Pada kode ini, ada flag (variabel bool 'NewBarReceived') yang menghindari pemanggilan berulang dari blok kode ini, sehingga kode ini hanya dieksekusi sekali per bar / candle. Fungsi Comment(); dan PlaySound("ok.wav"); digunakan untuk memeriksa akurasi dari blok kode. Anda bisa menghapusnya jika tidak diperlukan. Flag ini akan direset menjadi false ketika waktu saat ini sudah melewati waktu penutupan candle saat ini untuk memeriksa kedatangan bar berikutnya. (Perhatikan komentar untuk lebih jelas). //+------------------------------------------------------------------+ //|                                                  New Bar Detect.mq5 | //|                                                  by H A T Lakmal | //|                                                   https://t.me/Lakmal846 | //+------------------------------------------------------------------+ bool NewBarReceived = false; // Flag untuk kontrol. //+------------------------------------------------------------------+ //| Fungsi inisialisasi Expert                                   | //+------------------------------------------------------------------+ int OnInit()   { //--- buat timer    EventSetTimer(60); //---    return(INIT_SUCCEEDED);   } //+------------------------------------------------------------------+ //| Fungsi deinitialisasi Expert                                   | //+------------------------------------------------------------------+ void OnDeinit(const int reason)   { //--- hancurkan timer    EventKillTimer();   } //+------------------------------------------------------------------+ //| Fungsi tick Expert                                             | //+------------------------------------------------------------------+ void OnTick()   {    datetime TimePreviousBar = iTime(_Symbol,PERIOD_M1,1);    datetime TimeCurrentClose = TimePreviousBar + 60; // Waktu Penutupan bar saat ini.    datetime Time_Current = TimeCurrent();    if(Time_Current == TimeCurrentClose && NewBarReceived == false)      {       PlaySound("ok.wav");   // Untuk memeriksa apakah pembacaan berhasil.       NewBarReceived = true; // Update flag untuk menghindari pemanggilan berulang.       // Kode Anda di sini ----- (Lakukan sesuatu)      }    else       if(Time_Current > TimeCurrentClose)         {          NewBarReceived = false; // Reset flag untuk pembukaan bar berikutnya.          // Kode Anda di sini ----- (Lakukan sesuatu)         }    Comment("\n" +  "\n" +  "Waktu Current Bar -: " + TimeToString(TimePreviousBar,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +            "\n" + "Waktu Current Close -: " +TimeToString(TimeCurrentClose,TIME_DATE|TIME_MINUTES|TIME_SECONDS) +            "\n" + "Waktu Current -: " + TimeToString(Time_Current,TIME_DATE|TIME_MINUTES|TIME_SECONDS) + "\n" +"\n" + "Bar Baru Diterima -: " + NewBarReceived); // Untuk memeriksa perhitungan   } //+------------------------------------------------------------------+ //| Fungsi Timer                                                   | //+------------------------------------------------------------------+ void OnTimer()   { //---   } //+------------------------------------------------------------------+ //| Fungsi Trade                                                   | //+------------------------------------------------------------------+ void OnTrade()   { //---   } //+------------------------------------------------------------------+ //| Fungsi ChartEvent                                              | //+------------------------------------------------------------------+ void OnChartEvent(const int id,                   const long &lparam,                   const double &dparam,                   const string &sparam)   { //---   } //+------------------------------------------------------------------+  

2024.04.05
Optimasi EA untuk Menutup Posisi Profit atau Loss dalam Mata Uang Akun di MetaTrader 4
MetaTrader4
Optimasi EA untuk Menutup Posisi Profit atau Loss dalam Mata Uang Akun di MetaTrader 4

Hai Trader! Hari ini kita akan membahas tentang Close_on_PROFIT_or_LOSS_inAccont_Currency, sebuah Expert Advisor (EA) yang dioptimasi untuk membantu kamu menutup posisi trading kamu dengan lebih efektif. Mari kita lihat apa saja yang baru dalam versi ini! //+------------------------------------------------------------------------------------------------------------------------------+ //| Optimasi Close_on_PROFIT_or_LOSS_inAccont_Currency_V2: //| 1. Pemrosesan Kesalahan: Kini kode sudah dilengkapi dengan penanganan kesalahan untuk mengatasi situasi di mana order tidak dapat ditutup atau dihapus. 2. Optimasi Kode: Kode telah dioptimalkan untuk menghindari pengulangan dan meningkatkan keterbacaan. 3. Efisiensi: Loop atau perhitungan yang tidak perlu telah dihapus. 4. Pembersihan Objek Grafik: Semua objek grafik akan dihapus saat EA dihentikan. //+------------------------------------------------------------------------------------------------------------------------------+ Ketika nilai EA diatur ke 0, EA tidak akan melakukan apa-apa. Positive_Closure_in_Account_Currency harus lebih tinggi dari jumlah Equity saat ini, jika tidak, trading akan dieksekusi segera. Contoh: Jika Equity adalah 55.000$ dan Positive_Closure_in_Account_Currency diatur ke 55.500$ untuk mendapatkan 500$. Positive_Closure_in_Account_Currency > 0 && < 55.000$ = eksekusi segera Negative_Closure_in_Account_Currency harus lebih rendah dari jumlah Equity saat ini, jika tidak, trading akan dieksekusi segera. Contoh: Jika Equity adalah 55.000$ dan Negative_Closure_in_Account_Currency diatur ke 54.500$ untuk kehilangan hanya 500$. Negative_Closure_in_Account_Currency > 55.000$ = eksekusi segera Spike spread bisa dihindari dengan mengurangi angka spread, tetapi pasar akan tetap berperilaku sesuai keinginannya dan bisa terjadi keuntungan atau kerugian yang lebih besar. Jika spread diatur lebih rendah dari rata-rata spread untuk pasangan mata uang yang diperdagangkan, posisi tersebut tidak akan dieksekusi. Peringatan: Gunakan perangkat lunak ini dengan risiko Anda sendiri. Pasar Forex sangat volatile! #property copyright "Copyright 2024, MetaQuotes Ltd." #property link "https://www.mql5.com" #property version "1.01" #property description "persinaru@gmail.com" #property description "IP 2024 - open source gratis" #property description "EA ini menutup semua trading pada Profit dan Loss yang dihitung dalam Mata Uang Akun." #property description "Peringatan: Gunakan perangkat lunak ini dengan risiko Anda sendiri." #property description "Pembuat skrip ini tidak dapat dianggap bertanggung jawab atas kerusakan atau kerugian yang terjadi." #property strict #property show_inputs extern string Closures = "EA menutup semua trading dan order tertunda ketika profit atau loss tercapai. Profit dan Loss dihitung dalam Mata Uang Akun."; extern int Positive_Closure_in_Account_Currency = 0; extern int Negative_Closure_in_Account_Currency = 0; extern int Spread = 10;

2024.03.25
Panduan Neural Networks untuk Trading Algoritmik dengan MQL5
MetaTrader5
Panduan Neural Networks untuk Trading Algoritmik dengan MQL5

Buku Neural Networks for Algorithmic Trading with MQL5 adalah panduan lengkap bagi Anda yang ingin mempelajari cara menggunakan machine learning dan neural networks dalam trading. Buku ini ditujukan untuk trader algoritmik yang ingin menciptakan strategi trading menggunakan teknik kecerdasan buatan yang canggih. Buku ini terdiri dari 7 bab yang mencakup semua yang perlu Anda ketahui untuk memulai dengan neural networks dan mengintegrasikannya ke dalam robot trading Anda di MQL5. Dengan penjelasan yang mudah diikuti, Anda akan mempelajari dasar-dasar machine learning dan menemukan berbagai jenis neural networks, termasuk model konvolusional dan rekuren, serta solusi arsitektural yang lebih kompleks dan mekanisme perhatian. Untuk membantu Anda dalam mengintegrasikan solusi ini ke dalam robot trading Anda dalam lingkungan MQL5, buku ini menyediakan banyak contoh praktis. Selain itu, buku ini juga mengeksplorasi berbagai metode untuk meningkatkan konvergensi model, seperti Batch Normalization dan Dropout. Lebih jauh lagi, penulis memberikan panduan praktis tentang cara melatih neural networks dan mengintegrasikannya ke dalam strategi trading Anda. Anda akan belajar bagaimana membuat Expert Advisors untuk menguji kinerja model yang telah dilatih pada data baru, sehingga memungkinkan Anda untuk mengevaluasi potensi mereka di pasar keuangan dunia nyata. Buku "Neural Networks for Algorithmic Trading with MQL5" bukan sekadar buku: ini adalah panduan praktis yang dapat membantu Anda mengintegrasikan teknik pengambilan keputusan canggih ke dalam algoritma trading Anda dan berpotensi meningkatkan hasil keuangan. Mulailah mempelajari kemampuan canggih machine learning hari ini dan tingkatkan trading Anda ke level berikutnya.

2024.02.29
Panduan Lengkap Buy Sell Close EA untuk Trader Pemula di MetaTrader 4
MetaTrader4
Panduan Lengkap Buy Sell Close EA untuk Trader Pemula di MetaTrader 4

Selamat datang, teman-teman trader! Hari ini kita akan membahas Buy Sell Close, sebuah Expert Advisor (EA) yang dirancang khusus untuk trader pemula. EA ini sangat bermanfaat dalam mode backtesting visual dan juga bisa digunakan dalam trading langsung. Dengan Buy Sell Close, kamu bisa berlatih sistem trading kamu sendiri melalui fitur backtesting yang ada. EA ini memungkinkan kamu untuk melakukan operasi manual, seperti menjeda atau mengubah kecepatan review backtest, sehingga latihan trading manualmu jadi lebih mudah. Pengenalan: Tombol [Lots]: Setelah input box, kamu bisa mengubah jumlah lot yang ingin diperdagangkan. Tombol [BUY]: Dengan menekan tombol ini, kamu akan menambah satu order beli dengan jumlah lot yang sudah ditentukan. Tombol [SELL]: Menekan tombol ini akan menempatkan satu order jual sesuai ukuran lot yang sudah ditentukan. Tombol [SL Modify TP]: Tombol ini digunakan untuk mengubah Stop Loss dan Take Profit. Tekan tombol ini untuk memperbarui semua order sesuai dengan jarak Stop Loss dan Take Profit dari harga saat ini. Tombol [Close All Buy]: Menekan tombol ini akan menutup semua order beli yang terbuka. Tombol [Close All Sell]: Menekan tombol ini akan menutup semua order jual yang terbuka. Tombol [Close All Orders]: Tombol ini akan menutup semua order yang ada. Di sisi kanan tampilan, kamu akan melihat informasi mengenai order yang terbuka, profit, dan detail lainnya. Deskripsi Parameter: MM: Menghitung ukuran lot default secara otomatis berdasarkan rasio risiko. Risiko: Misalnya, 0.2 untuk saldo 10.000 akan menghasilkan ukuran lot 0.2. Lots: Ukuran lot tetap jika MM dinonaktifkan, akan menggunakan angka lot tetap ini. SL: Stop Loss, defaultnya adalah 250 mikro-poin. TP: Take Profit, defaultnya adalah 500 mikro-poin. Parameter lain terkait dengan antarmuka pengguna. Selamat berlatih dengan sistem trading kamu sendiri, semoga informasi ini bermanfaat! Terima kasih telah membaca!

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