Perdagangan Sistem

Mengira Bounce Number untuk Strategi Grid dan Martingale dalam Lot Size di MetaTrader 4
MetaTrader4
Mengira Bounce Number untuk Strategi Grid dan Martingale dalam Lot Size di MetaTrader 4

Dalam dunia perdagangan, pengiraan saiz lot dan jumlah dagangan untuk strategi seperti Grid dan Martingale adalah sangat penting. Kita sering tertanya-tanya tentang apa yang berlaku dalam sejarah sesuatu simbol semasa zon julat dan Berapa Banyak Kali harga melantun antara dua harga dalam Zon Julat?! Inilah yang saya definisikan sebagai Bounce Number. Ia boleh dikira melalui analisis statistik sejarah mana-mana simbol dari pasaran. Untuk lebih jelas, mari kita lihat gambar No. 1. Gambar No. 1: Definisi Bounce Number, tujuannya dan aplikasi. Gambar ini menggambarkan bagaimana pergerakan harga menghasilkan statistik untuk Alat Bounce Number. Untuk mengelakkan kelewatan, saya menghasilkan alat ini sebagai EA untuk menggunakan fungsi Sleep. Fungsi ini mengelakkan keruntuhan pada carta disebabkan oleh jumlah lilin yang tinggi dalam input alat. Gambar lain (Gambar No. 2) menunjukkan struktur grafik ringkas alat ini dan makna objek-objeknya. Gambar No. 2: Statistik Bounce No. Penggunaan alat: Dari Gambar No. 2, jika kita menetapkan Tinggi Separuh Saluran Melantun kepada 600 mata: Terdapat 6 nombor melantun yang berbeza dari 1 hingga 6 untuk simbol ini. Nombor melantun 2 bermaksud, harga bermula dari tengah saluran melantun (tinggi 2 * 600 = 1200 mata) dan bergerak naik dan turun serta menyentuh satu kali garis merah dan satu kali garis biru sebelum mencapai TP=1200 mata. Bagi nombor melantun 5, ini bermaksud harga bermula dari titik tengah saluran dan menyentuh 2 kali garis merah dan 3 kali garis biru atau 3 kali garis merah dan 2 kali garis biru sebelum mencapai TP=1200 mata. Begitu juga untuk nombor melantun yang lain. Kita tiada nombor melantun 7, bermakna tiada sebarang melantun 7 kali antara garis merah dan biru (dengan jarak 1200 mata) sepanjang sejarah yang dipilih dalam input alat. Harap maklum, jika anda memilih lebih banyak data sejarah (Max number of lookback candles), peluang untuk menemui 7 kali melantun akan meningkat. Namun, seperti yang kita lihat, peluang untuk 6 kali melantun adalah 22 dalam 9020 item harga yang mencapai TP. Apa yang terdapat dalam input alat: - Max number of lookback candles: Seperti alat pengimbas lain, berhati-hati tentang nombor yang anda tetapkan untuk sel ini. Jangan meningkatkannya secara mendadak bagi mengelakkan keruntuhan memori. - Time-Frame: Kerangka masa lilin yang ingin kita gunakan untuk mencari melantun dari had saluran dan juga sentuhan garis TP. Gunakan kerangka masa yang lebih rendah untuk saluran yang nipis. Jika anda tidak pasti, lebih baik gunakan kerangka masa M1. - Tinggi Separuh Saluran Melantun: Ini adalah jarak garis hijau dari garis merah dan biru. Ia dalam Mata. - Warna Latar Belakang Carta - Warna Carta Bar 1/Warna Carta Bar 2: Untuk menjadikan bar statistik lebih menarik. - Warna Sel Kira - Warna Sel Nombor Melantun - Warna Bar Pemuat: Semasa pengiraan, bar pemuat ini akan membantu pengguna mengetahui sama ada ia berfungsi atau tidak serta kelajuan pengiraan. - Butang telah ditambah untuk memulakan dan memasukkan nombor lilin sejarah dari Skrin.

2024.01.12
Amaran Bunyi Sambungan Terputus untuk MetaTrader 5
MetaTrader5
Amaran Bunyi Sambungan Terputus untuk MetaTrader 5

Hai trader! Hari ini kita akan berbincang tentang satu alat yang sangat berguna, iaitu Amaran Bunyi Sambungan Terputus untuk platform MetaTrader 5. Alat ini membolehkan anda menerima notifikasi bunyi setiap kali sambungan anda terputus atau disambung semula. Untuk memulakan, anda perlu menambah fail bunyi dalam folder MQL5\Files\Sounds. Pastikan anda mempunyai fail .wav untuk sambungan dan terputus. Ini adalah langkah yang mudah untuk memastikan anda tidak terlepas sebarang perubahan pada sambungan anda. Berikut adalah cara untuk menyiapkan EA ini: Salin kod di bawah dan kompilasi alat EA. Kod ini termasuk baris komen yang menerangkan penggunaan #resource, yang mungkin menyukarkan muat naik fail. //+------------------------------------------------------------------+ //|                               Connect_Disconnect_Sound_Alert.mq5 | //|                                Hak Cipta 2024, Rajesh Kumar Nait | //|                                https://www.mql5.com/en/users/rajeshnait/seller | //+------------------------------------------------------------------+ #property copyright "Hak Cipta 2024, Rajesh Kumar Nait" #property link      "https://www.mql5.com/en/users/rajeshnait/seller" #property version   "1.00" #include <Trade/TerminalInfo.mqh> bool     first             = true; bool     Now_IsConnected   = false; bool     Pre_IsConnected   = true; datetime Connect_Start = 0, Connect_Stop = 0; CTerminalInfo terminalInfo; //--- Fail bunyi #resource "\Files\Sounds\CONNECTED.wav" #resource "\Files\Sounds\DISCONNECTED.wav" //+------------------------------------------------------------------+ //| Fungsi inisialisasi pakar                                   | //+------------------------------------------------------------------+ int OnInit()   { //---       ResetLastError();       while ( !IsStopped() ) {          Pre_IsConnected = Now_IsConnected;          Now_IsConnected = terminalInfo.IsConnected();          if ( first ) {             Pre_IsConnected = !Now_IsConnected;          }          if ( Now_IsConnected != Pre_IsConnected ) {             if ( Now_IsConnected ) {                Connect_Start = TimeLocal();                if ( !first ) {                   if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))                      Print("Ralat: ",GetLastError());                }                if ( IsStopped() ) {                   break;                }                if(!PlaySound("::Files\Sounds\CONNECTED.wav"))                   Print("Ralat: ",GetLastError());             } else {                Connect_Stop = TimeLocal();                if ( !first ) {                   if(!PlaySound("::Files\Sounds\CONNECTED.wav"))                      Print("Ralat: ",GetLastError());                }                if ( IsStopped() ) {                   break;                }                if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))                   Print("Ralat: ",GetLastError());             }          }          first = false;          Sleep(1000);       } //---    return(INIT_SUCCEEDED);   } //+------------------------------------------------------------------+ Saya juga telah sediakan video panduan untuk anda. Anda boleh menontonnya di bawah:

2024.01.08
Alat MQL5 Lanjutan untuk Trader: Panduan Penuh
MetaTrader5
Alat MQL5 Lanjutan untuk Trader: Panduan Penuh

Bahagian 7. Alat MQL5 Lanjutan "Bahagian 7. Alat MQL5 Lanjutan" dari buku "Pemrograman MQL5 untuk Trader" membincangkan kemampuan canggih API MQL5 yang akan sangat berguna ketika membangunkan program untuk MetaTrader 5. Ini termasuk simbol kewangan khusus, acara kalendar ekonomi terbina dalam, dan teknologi umum seperti rangkaian, pangkalan data, dan kriptografi. Bahagian ini juga membahas tentang perpustakaan – satu jenis program khas yang menyediakan API siap pakai untuk menyambung kepada program MQL lain. Ia juga membincangkan kemungkinan membangunkan pakej perisian dan menggabungkan program-program yang saling berkaitan secara logik ke dalam projek. Akhirnya, bahagian ini mempersembahkan integrasi dengan persekitaran perisian lain, termasuk Python. Kita akan mula dengan mempelajari sumber yang merupakan fail dari pelbagai jenis yang boleh disisipkan dalam kod program. Sumber-sumber ini boleh mengandungi: Elemen multimedia "Tetapan keras" dari program luar Program MQL5 lain dalam bentuk terkompilasi Persekitaran pembangunan MQL5 membenarkan penyertaan array data aplikasi, gambar, bunyi, dan fon dalam fail sumber, menjadikan program ini sebagai produk yang berdikari dan mudah digunakan oleh pengguna akhir. Perhatian khas akan diberikan kepada sumber grafik dengan imej raster dalam format BMP: Anda akan belajar bagaimana untuk mencipta, mengedit, dan memaparkannya secara dinamik di carta. Kita akan mengakhiri bahagian terakhir buku ini dengan mempelajari integrasi OpenCL dalam MQL5. OpenCL adalah standard terbuka untuk pemrograman selari dalam sistem multiprosesor, termasuk pemproses grafik (GPU) dan unit pemproses pusat (CPU). Ia membolehkan percepatan tugas yang memerlukan pengiraan intensif dengan syarat algoritma boleh diparalelkan. Ini mungkin termasuk latihan rangkaian neural, transformasi Fourier, dan penyelesaian sistem persamaan. Pemanfaatan OpenCL dalam program MQL memerlukan kehadiran pemacu khas dari pengeluar dan sokongan untuk versi OpenCL 1.1 dan ke atas. Kehadiran kad grafik tidak wajib, kerana pemproses pusat juga boleh digunakan untuk pengiraan selari.

2023.12.16
Automasi Perdagangan dengan MQL5: Panduan Lengkap untuk Trader
MetaTrader5
Automasi Perdagangan dengan MQL5: Panduan Lengkap untuk Trader

Bahagian 6: Automasi Perdagangan Dalam "Bahagian 6: Automasi Perdagangan" dari buku "MQL5 Programming for Traders", kita akan mendalami komponen utama dalam bahasa MQL5. Kita akan mulakan dengan penerangan tentang entiti asas, seperti spesifikasi instrumen kewangan dan tetapan akaun perdagangan. Ini adalah prasyarat untuk mencipta Sistem Trading yang berfungsi dengan baik. Seterusnya, kita akan beralih kepada fungsi terbina dalam dan struktur data, acara khusus robot, serta aspek utama operasi Sistem Trading dalam penguji strategi. Penguji Strategi MetaTrader 5 adalah komponen penting dalam pembangunan robot trading kerana ia membolehkan anda menilai prestasi kewangan dan mengoptimumkan strategi perdagangan. Penguji ini menyediakan alat yang tidak ternilai untuk debug dalam pelbagai mod, termasuk ujian visual menggunakan bar atau tick, sama ada dengan tick yang dimodelkan atau sebenar. Ia juga membolehkan reproduksi visual aliran sebut harga dan ujian mudah tanpa tetingkap visual. Kita telah melihat sebelum ini bagaimana untuk menguji penunjuk dalam mod visual, tetapi hanya set tetapan yang terhad dibenarkan untuknya. Apabila membangunkan Sistem Trading, kita akan mempunyai akses kepada semua ciri penguji. Kita juga akan melihat representasi yang berbeza bagi data pasaran: Depth of Market dan antaramuka perisian yang berkaitan. MetaTrader 5 menawarkan kemampuan untuk menganalisis dan berdagang instrumen kewangan (simbol), yang merupakan asas bagi semua subsistem terminal. Pengguna boleh memilih simbol dari senarai yang disediakan oleh broker dan memantau mereka di Market Watch. Dengan API MQL5, anda boleh melihat dan menganalisis ciri-ciri semua simbol, menambah atau mengeluarkannya dari Market Watch. Selain daripada simbol standard yang disediakan oleh broker, MetaTrader 5 menyokong penciptaan simbol khas, memuatkan sifat dan sejarah sebut harga mereka dari sumber data yang arbitrari atau mengira mereka menggunakan formula dan program MQL5.

2023.12.16
Panduan MQL5 untuk Pedagang: Membina Program Aplikasi dalam MetaTrader 5
MetaTrader5
Panduan MQL5 untuk Pedagang: Membina Program Aplikasi dalam MetaTrader 5

Bahagian 5: Membina Program Aplikasi dalam MQL5 Dalam "Bahagian 5: Membina Program Aplikasi" dari buku MQL5 Programming for Traders, kita akan menyelami lebih dalam tentang API yang berkaitan dengan perdagangan algoritma, termasuk analisis dan pemprosesan data kewangan, visualisasi carta, automasi, dan interaksi pengguna. Kita akan mulakan dengan prinsip umum untuk mencipta program MQL dan akan mempertimbangkan jenis-jenis acara, ciri, dan model dalam terminal. Selepas itu, kita akan meneroka cara mengakses siri masa, operasi dengan carta dan objek grafik, serta prinsip untuk mencipta dan menggunakan setiap jenis program MQL secara terpisah. Terminal MetaTrader 5 menyokong lima jenis program: penunjuk teknikal, Sistem Trading (EA) untuk perdagangan automatik atau separa automatik, skrip untuk melaksanakan tugas sekali sahaja, perkhidmatan untuk operasi latar belakang, dan pustaka untuk modul fungsi individu. Kita akan mendalami cara bekerja dengan penunjuk dan carta serta mempelajari teknik yang juga boleh digunakan untuk Sistem Trading. Pembangunan Sistem Trading akan dibincangkan dalam bahagian seterusnya buku ini, di mana kita akan meneroka pelaksanaan pesanan secara automatik, formaliti strategi perdagangan, serta pengujian dan pengoptimuman menggunakan data sejarah. Kita akan belajar tentang cara menggunakan penunjuk terbina dalam yang standard dan bagaimana untuk mencipta aplikasi khusus dari awal atau berdasarkan penunjuk lain. Semua program yang telah dikompilasi dipaparkan dalam Navigator di MetaTrader 5, kecuali pustaka EX5, yang digunakan oleh program lain tetapi tidak mempunyai representasi terpisah dalam Navigator. Sebagai hasilnya, kita akan memperoleh pemahaman yang lebih mendalam tentang keupayaan bahasa MQL5 dan aplikasinya dalam perdagangan algoritma. Ini akan membolehkan kita bekerja dengan data kewangan secara berkesan dan mencipta penunjuk perdagangan serta Sistem Trading.

2023.12.16
MQL5 untuk Trader: Memahami API dan Fungsi Terbina Dalam
MetaTrader5
MQL5 untuk Trader: Memahami API dan Fungsi Terbina Dalam

Bahagian 4. API MQL5 yang Umum Pada bahagian sebelum ini, kita telah mengupas asas bahasa pengaturcaraan MQL5, termasuk sintaks, peraturan penggunaan, dan konsep-konsep penting. Namun, untuk menghasilkan program yang benar-benar berfungsi dalam pemprosesan data dan dagangan automatik, kita perlu memanfaatkan banyak fungsi terbina dalam untuk berinteraksi dengan terminal MetaTrader 5. Dalam "Bahagian 4. API MQL5 yang Umum", kita akan fokus kepada penguasaan fungsi terbina dalam (MQL5 API) dan secara beransur-ansur menyelami subsistem yang lebih khusus. Setiap program MQL5 boleh memanfaatkan pelbagai teknologi dan fungsi. Oleh itu, adalah wajar untuk memulakan dengan fungsi yang paling mudah dan berguna yang boleh digunakan dalam kebanyakan program. Antara topik utama yang akan kita pelajari termasuk operasi array, pemprosesan string, interaksi fail, penukaran data, dan fungsi interaksi pengguna. Kita juga akan meneroka fungsi matematik serta pengurusan persekitaran program. Berbeza dengan beberapa bahasa pengaturcaraan lain, menggunakan fungsi terbina dalam API MQL5 tidak memerlukan arahan praprosesor tambahan. Nama semua fungsi API MQL5 tersedia dalam konteks global (namespace) dan boleh diakses tanpa syarat. Kita juga akan membincangkan kemungkinan penggunaan nama yang sama dalam konteks program yang berbeza, seperti nama metode kelas atau namespace khusus. Dalam kes seperti ini, anda perlu menggunakan operator resolusi konteks untuk memanggil fungsi global, yang telah kita bincangkan dalam bahagian mengenai jenis bersarang, namespace, dan operator konteks '::'. Pemrograman sering memerlukan operasi dengan pelbagai jenis data. Pada bahagian sebelum ini, kita telah melihat mekanisme untuk penukaran jenis data terbina dalam secara eksplisit dan implisit. Namun, ini mungkin tidak selalu sesuai atas pelbagai sebab. Untuk memberikan penukaran data yang lebih tepat antara pelbagai jenis, API MQL5 menyertakan set fungsi penukaran. Perhatian khusus diberikan kepada fungsi untuk penukaran antara string dan jenis lain, seperti nombor, tarikh dan waktu, warna, struktur, dan enumerasi.

2023.12.15
Pengaturcaraan MQL5 untuk Trader: Memahami OOP dan Kode Sumber
MetaTrader5
Pengaturcaraan MQL5 untuk Trader: Memahami OOP dan Kode Sumber

Bahagian 3: Pengaturcaraan Berorientasikan Objek dalam MQL5 "Bahagian 3: Pengaturcaraan Berorientasikan Objek dalam MQL5" membawa kita ke dalam dunia pengaturcaraan berorientasikan objek (OOP) dalam bahasa MQL5. Dalam pembangunan perisian, kita sering berhadapan dengan kerumitan yang berkaitan dengan pengurusan pelbagai entiti, dan ini memerlukan teknologi canggih untuk meningkatkan kemudahan pengaturcaraan, produktiviti, dan kualiti. Teknologi OOP berasaskan konsep objek, yang merupakan pemboleh ubah jenis khusus yang ditakrifkan oleh pengaturcara menggunakan alat MQL5. Dengan mencipta jenis khusus, kita dapat memodelkan objek dan memudahkan penulisan serta penyelenggaraan program. Bahagian ini membincangkan pelbagai cara untuk mendefinisikan jenis baru, termasuk kelas, struktur, dan union. Jenis khusus ini dapat menggabungkan data dan algoritma untuk menggambarkan keadaan dan tingkah laku objek aplikasi. Penulis menekankan prinsip "pecah dan takluk", menunjukkan bahawa objek adalah mini-program, masing-masing bertanggungjawab untuk menyelesaikan tugas kecil tetapi lengkap secara logik. Anda boleh menggabungkan objek menjadi satu sistem dan mencipta produk serta perkhidmatan dengan kerumitan yang arbitrari. Untuk membantu pengguna memahami kemampuan MQL5, bahagian "Pengaturcaraan Berorientasikan Objek dalam MQL5" memperkenalkan prinsip-prinsip OOP bersama dengan contoh pelaksanaan praktikal. Buku ini juga merangkumi templat, antaramuka, dan ruang nama, yang menunjukkan fleksibiliti dan kuasa OOP dalam membangunkan program MQL5.

2023.12.15
Pengenalan kepada MQL5: Asas Pemrograman untuk Trader
MetaTrader5
Pengenalan kepada MQL5: Asas Pemrograman untuk Trader

Pengenalan kepada MQL5 dan Persekitaran Pembangunan Bahagian pertama buku ini bertajuk "Pengenalan kepada MQL5 dan Persekitaran Pembangunan" yang menerangkan asas-asas bahasa MQL5 serta persekitaran pembangunannya. Salah satu ciri baru yang diperkenalkan dalam bahasa MQL5 berbanding MQL4 (bahasa untuk MetaTrader 4) adalah sokongan untuk pemrograman berorientasikan objek (OOP), yang menjadikannya serupa dengan C++. Walaupun beberapa fungsi OOP telah dipindahkan dari MQL5 ke MQL4, ramai pengguna yang tidak biasa dengan pemrograman mungkin merasakan OOP agak mencabar. Tujuan buku ini adalah untuk menjadikan pendekatan ini lebih mudah difahami dan diakses. Buku ini berfungsi sebagai pelengkap kepada rujukan MQL5, meliputi semua aspek pemrograman MQL5 dan menerangkan semua proses dengan terperinci. Pembangun boleh memilih antara gaya pemrograman berorientasikan objek dan prosedur, serta menggabungkan kedua-duanya. Untuk mereka yang sudah mempunyai pengalaman dalam pemrograman, anda boleh melangkau bahagian asas. Pengaturcara C++ akan mendapati lebih mudah untuk menguasai MQL5, tetapi anda perlu memberi perhatian kepada perbezaan bahasa untuk mengelakkan kesilapan. Dengan menggunakan MQL5, anda boleh mencipta pelbagai jenis program, seperti indikator untuk paparan grafik data, Sistem Trading (Expert Advisors) untuk automasi perdagangan, skrip untuk tindakan sekali sahaja, dan perkhidmatan untuk tugas latar belakang. Ciri khas MetaTrader 5 adalah pengurusan keseluruhan sistem perdagangan dari terminal klien, di mana program MQL5 berfungsi dan menghantar arahan perdagangan kepada pelayan perdagangan. Aplikasi MQL5 tidak dipasang pada pelayan. Bahagian 1 menerangkan cara untuk mengedit, menyusun, dan menjalankan program, serta merangkumi pelbagai jenis data, pembolehubah, ungkapan, array, penyahpepijatan, dan output.

2023.12.15
Panduan Menggunakan Model ONNX untuk Kenali Nombor Tangan dalam MetaTrader 5
MetaTrader5
Panduan Menggunakan Model ONNX untuk Kenali Nombor Tangan dalam MetaTrader 5

EA yang Mampu Mengenali Nombor TanganDatabase MNIST mengandungi 60,000 imej untuk latihan dan 10,000 imej untuk ujian. Imej-imej ini dihasilkan dengan mencampurkan set asal NIST yang terdiri daripada sampel hitam-putih bersaiz 20x20 piksel, yang diambil daripada Biro Bancian AS dan ditambah dengan sampel ujian daripada pelajar sekolah menengah Amerika. Sampel-sampel ini telah dinormalisasi kepada saiz 28x28 piksel dan diproses dengan anti-aliasing, yang memperkenalkan tahap kelabu.Model pengenalan nombor tangan yang telah dilatih, mnist.onnx, boleh dimuat turun dari Github menerusi Model Zoo (opset 8). Bagi mereka yang berminat, anda boleh memuat turun dan mencuba model-model lain, kecuali untuk model dengan opset 1 yang tidak lagi disokong oleh runtime ONNX terkini. Menariknya, vektor output tidak diproses dengan fungsi pengaktifan Softmax, seperti yang biasa dilakukan dalam model klasifikasi. Namun, ini bukanlah masalah kerana kita boleh melaksanakannya dengan mudah sendiri.int PredictNumber(void)   {    static matrixf image(28,28);    static vectorf result(10);    PrepareMatrix(image);    if(!OnnxRun(ExtModel,ONNX_DEFAULT,image,result))      {       Print("OnnxRun error ",GetLastError());       return(-1);      }    result.Activation(result,AF_SOFTMAX);    int predict=int(result.ArgMax());    if(result[predict]<0.8)       Print(result);       Print("value ",predict," predicted with probability ",result[predict]);    return(predict);   } Anda boleh melukis nombor dalam grid khas menggunakan tetikus dengan menekan butang kiri tetikus. Untuk mengenali nombor yang dilukis, tekan butang CLASSIFY. Jika kebarangkalian untuk nombor yang dikenali adalah kurang dari 0.8, vektor hasil dengan kebarangkalian untuk setiap kelas akan dicetak ke log. Sebagai contoh, cuba klasifikasikan medan input yang kosong.[0.095331445,0.10048489,0.10673151,0.10274081,0.087865397,0.11471312,0.094342403,0.094900772,0.10847695,0.09441267] value 5 predicted with probability 0.11471312493085861 Untuk beberapa sebab, ketepatan pengenalan adalah lebih rendah untuk nombor sembilan (9). Nombor yang dilukis ke kiri lebih dikenali dengan tepat.

2023.11.23
Mengurus Take Profit Berdasarkan Untung Semasa di MetaTrader 4
MetaTrader4
Mengurus Take Profit Berdasarkan Untung Semasa di MetaTrader 4

Pengenalan Banyak EA (Penasihat Pakar) biasanya menutup pesanan berdasarkan jarak dalam pips dari harga belian. Namun, kod yang digunakan oleh EA Perceptron lebih menumpukan kepada keuntungan semasa. Pendekatan ini memudahkan anda untuk mengurus take profit dengan pelbagai posisi terbuka, sambil memantau jumlah keuntungan semasa berdasarkan nombor ajaib, sekiranya anda menggunakan beberapa instance bot atau EA yang berbeza serentak. Jadilah kawan saya dan ikuti perkembangan saya untuk mendapatkan berita terkini! Penggunaan kod ini juga dapat memberikan impak positif terhadap beberapa masalah yang mungkin timbul apabila menggunakan take profit berdasarkan pips. Contohnya, take profit yang berasaskan pips boleh berubah bergantung kepada slippage broker anda, yang boleh menyekat keuntungan. Dengan menggunakan kod yang berasaskan keuntungan semasa, anda dapat mengelakkan isu ini dan mempunyai lebih kawalan terhadap dagangan anda. Jika anda ingin tahu lebih lanjut tentang cara menetapkan take profit berdasarkan keuntungan semasa, anda boleh merujuk kepada kod EA SwingBot sebagai panduan. … Jumlah Pesanan Mari kita mulakan dengan kod yang mengira jumlah pesanan terbuka yang mempunyai nombor ajaib yang sama. Nombor ajaib adalah pengenalan unik yang ditetapkan kepada sesebuah pesanan oleh pedagang atau EA (Penasihat Pakar). Kod ini menginisialisasi satu pemboleh ubah total_orders dengan nilai kosong. Kemudian, ia melakukan gelung melalui semua pesanan terbuka menggunakan gelung for dan memilih setiap pesanan menggunakan fungsi OrderSelect(). Jika pesanan berjaya dipilih, ia akan menambah nilai total_orders sebanyak satu. //-----------------    int total_orders = 0;    for(int i = 0; i < OrdersTotal(); i++)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == MagicNumber)          {          total_orders++;         }         }      } … Mengira Keuntungan Semasa Kod ini menginisialisasi dua pemboleh ubah: ProfittoMinimo dan Profit. Pemboleh ubah ProfittoMinimo digunakan untuk mengaktifkan take profit pada tahap ini, nilainya dinyatakan dalam mata wang akaun. Pemboleh ubah Profit digunakan untuk mengumpul keuntungan semasa semua posisi terbuka yang mempunyai nombor ajaib yang sama. Pemboleh ubah StopLoss digunakan untuk had kerugian. Kod ini menggunakan gelung for untuk mengulangi semua posisi terbuka menggunakan fungsi OrdersTotal(). Untuk setiap posisi terbuka, pesanan yang bersesuaian dipilih menggunakan fungsi OrderSelect(). Jika pesanan berjaya dipilih dan mempunyai nombor ajaib yang sama, keuntungan pesanan ditambah kepada pemboleh ubah Profit.       double ProfittoMinimo = 3; // target profit       double Profit = 0; // current profit              for(int i=0; i<OrdersTotal(); i++)         {          if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))            {             if(OrderMagicNumber() == MagicNumber) // Dalam kes EA berganda, anda boleh mengeluarkan penapis MagicNumber untuk mengekalkan fungsi pada jumlah pesanan               {                Profit += OrderProfit();               }            }         } Keuntungan minimum boleh ditetapkan sebagai pemboleh ubah luaran dan dikonfigurasi dalam pilihan EA: … Menutup Posisi Jika Keuntungan Dicapai Kod ini menggunakan gelung for untuk mengulangi semua pesanan terbuka menggunakan fungsi OrdersTotal(). Gelung bermula dari pesanan terakhir dan pergi ke pesanan pertama. Untuk setiap pesanan, perdagangan yang bersesuaian dipilih menggunakan fungsi OrderSelect(). Jika perdagangan yang dipilih mempunyai simbol yang sama dengan carta semasa, adalah dari jenis OP_BUY, dan mempunyai nombor ajaib yang sama seperti yang ditentukan dalam kod, ia memeriksa jika Profit dagangan adalah lebih besar atau sama dengan ProfittoMinimo. Jika ya, ia menutup perdagangan pada harga bida menggunakan fungsi OrderClose() dan mencetak mesej yang menunjukkan bahawa pesanan belian telah ditutup. Begitu juga, jika perdagangan yang dipilih mempunyai simbol yang sama dengan carta semasa, adalah dari jenis OP_SELL, dan mempunyai nombor ajaib yang sama, ia memeriksa jika Profit dagangan adalah lebih besar atau sama dengan ProfittoMinimo. Jika ya, ia menutup perdagangan pada harga tanyaan menggunakan fungsi OrderClose() dan mencetak mesej yang menunjukkan bahawa pesanan jual telah ditutup.       for(int e = OrdersTotal() - 1; e >= 0; e--)         {          if(OrderSelect(e, SELECT_BY_POS, MODE_TRADES))            {             if(OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) // pesanan hanya akan diubah jika MagicNumber sesuai dengan pesanan semasa.               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // Harga bida                   Print("Pesanan belian ditutup", Profit, " - Had kerugian minimum: ",MarketInfo(Symbol(), MODE_STOPLEVEL));               }           }             if(OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MagicNumber)               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // Harga tanyaan                   Print("Pesanan jual ditutup", Profit, " - Had kerugian minimum: ",MarketInfo(Symbol(), MODE_STOPLEVEL));               }           }         } … Kesimpulan Kod ini mungkin berguna untuk semua strategi menutup posisi yang berasaskan take profit, tetapi ia juga boleh digabungkan dengan trailing stop berdasarkan peningkatan keuntungan semasa. Sistem ini juga berguna dalam kes penggunaan beberapa Penasihat Pakar. Jika anda mengecualikan syarat if pada MagicNumber, anda boleh menetapkan tahap take profit umum untuk mengawal semua posisi terbuka dari semua EA aktif.

2023.10.27
Strategi Double Bollinger Band MT4 untuk Trader Forex
MetaTrader4
Strategi Double Bollinger Band MT4 untuk Trader Forex

1. Pengenalan Strategi Double Bollinger Band menggunakan dua jalur Bollinger Bands untuk membantu kita dalam membuat keputusan beli dan jual di pasaran forex. Tujuan strategi ini adalah untuk membuka posisi Beli (atau Jual) apabila harga melintasi di atas (atau di bawah) 3σ (standard deviation 3). Selain itu, strategi ini juga mengambil kira 2σ (standard deviation 2) untuk membuat keputusan perdagangan. Parameter lalai : 2σ Bollinger Bands (20,2): purata bergerak sederhana (20) dan bilangan standard deviation (2).3σ Bollinger Bands (20,3): purata bergerak sederhana (20) dan bilangan standard deviation (3). 2. Masuk Posisi Beli Buka pesanan Beli apabila kedua-dua syarat di bawah dipenuhi: Syarat 1: Harga Ask melintasi di atas jalur atas 3σ Bollinger Band (BB3UP).Syarat 2: Jika syarat 1 dipenuhi, semak jika harga semasa berada dalam julat antara jalur atas 2σ Bollinger Band (BB2UP) dan jalur bawah 2σ Bollinger Band (BB2LO). 3. Masuk Posisi Jual Buka pesanan Jual apabila kedua-dua syarat di bawah dipenuhi: Syarat 1: Harga Bid melintasi di bawah jalur bawah 3σ Bollinger Band (BB3LO).Syarat 2: Jika syarat 1 dipenuhi, semak jika harga semasa berada dalam julat antara jalur bawah 2σ Bollinger Band (BB2LO) dan jalur atas 2σ Bollinger Band (BB2UP). 4. Keluar dari Posisi Gunakan format pesanan OCO (One Cancels Other) untuk menetapkan stop-loss dan take-profit pada jarak N pips. ※ N: Parameter input yang ditetapkan.

2023.10.02
Strategi Martin Gale Breakout: Expert Advisor Terbaik untuk MetaTrader 4
MetaTrader4
Strategi Martin Gale Breakout: Expert Advisor Terbaik untuk MetaTrader 4

Strategi "Martin Gale Breakout" adalah satu Expert Advisor (EA) yang direka khas untuk perdagangan di pasaran Forex. EA ini menggabungkan pendekatan perdagangan breakout dengan elemen sistem pengurusan wang Martin Gale untuk mengoptimumkan prestasi perdagangan. Parameter Input: TakeProfPoints: Parameter ini membolehkan anda menetapkan tahap Take Profit dalam poin untuk setiap perdagangan. BalancePercentageAvailable: Tentukan peratusan baki akaun anda yang akan digunakan untuk perdagangan. TP_Percentage_of_Balance: Menentukan peratusan baki akaun anda yang akan digunakan sebagai Take Profit untuk setiap perdagangan. SL_Percentage_of_Balance: Parameter ini menetapkan peratusan baki yang akan diperuntukkan sebagai Stop Loss untuk perdagangan. Start_The_Recovery: Parameter ini memainkan peranan penting dalam proses pemulihan, mengawal bila dan bagaimana langkah pemulihan diaktifkan. TP_Points_Multiplier: Pengganda untuk poin Take Profit, membolehkan strategi pengambilan keuntungan yang fleksibel. MagicNumber: Pengenal unik untuk EA ini, memastikan ia boleh menguruskan perdagangannya sendiri secara bebas. Sorotan Strategi: Perdagangan Breakout: EA ini pakar dalam mengenal pasti peluang breakout di pasaran, di mana pergerakan harga melanggar tahap kunci. Penentuan Saiz Lot Dinamik: Saiz lot disesuaikan secara dinamik berdasarkan baki akaun anda dan keutamaan risiko, mengikut prinsip pengurusan wang Martin Gale. Pemulihan Kerugian: EA ini termasuk mekanisme pemulihan yang kuat yang direka untuk memulihkan kerugian dengan mengubah parameter perdagangan secara adaptif apabila perlu. Fungsi utama yang digunakan dalam EA ini adalah fungsi CalcLotWithTP() yang mempunyai 3 parameter input: Takeprofit, Startprice, Endprice. Fungsi ini mengira volume yang diperlukan untuk perdagangan agar mencapai matlamat keuntungan apabila memasuki perdagangan pada Startprice dan keluar pada Endprice. Semua dalam kod ini telah dikomen, jadi pemahaman tentangnya menjadi lebih mudah. Saya juga telah membuat video di YouTube tentang ini:

2023.09.26
Strategi Breakout Martin Gale: EA Terbaik untuk MT5
MetaTrader5
Strategi Breakout Martin Gale: EA Terbaik untuk MT5

Strategi "Martin Gale Breakout" adalah satu Sistem Trading (EA) yang direka khas untuk perdagangan dalam pasaran Forex. EA ini menggabungkan pendekatan perdagangan breakout dengan elemen sistem pengurusan wang Martin Gale untuk mengoptimumkan prestasi perdagangan. Parameter Input: TakeProfPoints: Parameter ini membolehkan anda menetapkan tahap Take Profit dalam mata untuk setiap perdagangan. BalancePercentageAvailable: Tentukan peratusan baki akaun anda yang akan digunakan untuk perdagangan. TP_Percentage_of_Balance: Ini menentukan peratusan baki akaun anda yang akan digunakan sebagai Take Profit untuk setiap perdagangan. SL_Percentage_of_Balance: Ini menetapkan peratusan baki yang akan diperuntukkan sebagai Stop Loss untuk perdagangan. Start_The_Recovery: Parameter ini memainkan peranan penting dalam proses pemulihan, mengawal bila dan bagaimana langkah pemulihan diaktifkan. TP_Points_Multiplier: Pengganda untuk mata Take Profit, membolehkan strategi pengambilan keuntungan yang fleksibel. MagicNumber: Pengenal unik untuk EA ini, memastikan ia boleh menguruskan perdagangan sendiri secara bebas. Sorotan Strategi: Perdagangan Breakout: EA ini pakar dalam mengenal pasti peluang breakout di pasaran, di mana pergerakan harga menembusi tahap-tahap utama. Penyusunan Lot Dinamik: Saiz lot disesuaikan secara dinamik berdasarkan baki akaun dan pilihan risiko anda, mengikuti prinsip pengurusan wang Martin Gale. Pemulihan Kerugian: EA ini mempunyai mekanisme pemulihan yang kuat yang direka untuk memulihkan kerugian dengan mengubahsuai parameter perdagangan secara adaptif apabila perlu. Fungsi utama yang digunakan dalam EA ini adalah fungsi CalcLotWithTP() yang mempunyai 3 parameter input: Takeprofit, Startprice, Endprice. Ia mengira jumlah yang diperlukan untuk perdagangan agar mencapai matlamat keuntungan apabila memasuki perdagangan pada Startprice dan keluar pada Endprice. Semuanya dalam kod ini telah dikomen, jadi pemahaman tentangnya menjadi lebih mudah.

2023.09.26
Pertama Sebelumnya 3 4 5 6 7 8 9 10 11 12 13 Seterusnya Terakhir