Perdagangan Sistem

Lebih Banyak Perdagangan Selepas Breakeven - Satu Panduan untuk MetaTrader 4
MetaTrader4
Lebih Banyak Perdagangan Selepas Breakeven - Satu Panduan untuk MetaTrader 4

Salah satu kehebatan EA ini adalah fungsi kiraan pesanan, yang membolehkan kita mengira berapa banyak pesanan yang masih terbuka tanpa mengira breakeven.int OrdersCounter() { int counter=0; //--- for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) // jika pesanan dibuka oleh EA ini { //--- jika breakeven telah berlaku /* Untuk pembelian, jika StopLoss sama atau di atas harga buka, dan untuk jualan, di bawah harga buka */ double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice(); if(!XBreakeven) // Jika breakeven dan trailing stop belum berlaku { counter++; // kira posisi } } return counter; }Kita hanya mengira pesanan yang tidak mempunyai stoploss yang sama atau lebih tinggi dari harga buka untuk pembelian, dan lebih rendah untuk jualan. Ringkasnya, kita mengira semua pesanan yang belum mencapai breakeven atau di mana trailing stop belum melindungi harga buka. double XBreakeven = OrderType()==OP_BUY ? OrderStopLoss() >= OrderOpenPrice() : OrderStopLoss() <= OrderOpenPrice(); if(!XBreakeven) // Jika hanya breakeven dan trailing stop belum berlakuDengan itu, kita menghasilkan satu kiraan yang mengembalikan nilai yang akan kita gunakan untuk mengehadkan maksimum posisi, dan dalam kes kita, kita set kepada 1 pesanan pada satu masa. if(OrdersCounter()<MaximumOrders)Apabila breakeven berlaku, fungsi ini akan mengabaikan pengiraannya. Oleh itu, jika kita hanya mempunyai satu posisi dalam contoh ini, ia akan mengembalikan null dan boom, kita boleh membuka satu lagi jualan dan proses ini berterusan.Ini juga tidak akan mungkin dilakukan jika saya tidak membuat fungsi breakeven,void BreakEvenFunction() { //--- for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol()) { // untuk pembelian, jika Bid di atas Harga Buka + Pips Breakeven, dan sebaliknya untuk jualan double xHybrid = OrderType()==OP_BUY ? (Bid>OrderOpenPrice()+BreakevenPips*_Point && OrderStopLoss()<OrderOpenPrice()) : (Ask<OrderOpenPrice()-BreakevenPips*_Point && OrderStopLoss()>OrderOpenPrice()); /* Untuk pembelian, hanya jika StopLoss sama atau di atas Harga Buka, sebaliknya untuk jualan */ if(xHybrid) { bool modify = OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,clrNONE); } } }Jadi, bagaimana? Cubalah!

2021.07.13
Kerangka Validate Me: Panduan untuk Robot Dagangan di MetaTrader 4
MetaTrader4
Kerangka Validate Me: Panduan untuk Robot Dagangan di MetaTrader 4

Kerangka Validate Me Dalam artikel kali ini, saya ingin berkongsi cara untuk mengkod robot dagangan yang menggunakan pesanan beli dan jual di pasaran bagi memenuhi keperluan pengesahan. Kerangka ini merangkumi beberapa semakan yang perlu dilalui oleh robot dagangan sebelum ia boleh diterbitkan di pasaran. Ini adalah untuk tujuan pendidikan. Contoh kod untuk pesanan BELI ask=MarketInfo(_Symbol,MODE_ASK);          bid=MarketInfo(_Symbol,MODE_BID);          sl=(OrderStopPips==0)?0.0:bid-ExtOrderStop;          if(sl!=0.0 && ExtOrderStop<StopLevel)             sl=bid-StopLevel;          tp=(OrderTakePips==0)?0.0:ask+ExtOrderTake;          if(tp!=0.0 && ExtOrderTake<StopLevel)             tp=ask+StopLevel;          GetLot=CheckVolumeValue(Lots);          if(!CheckStopLoss_Takeprofit(OP_BUY,ExtOrderStop,ExtOrderTake))             return;          if(CheckMoneyForTrade(GetLot,OP_BUY))             order=OrderSend(_Symbol,OP_BUY,GetLot,ask,10,sl,tp,"FrameWork",678,0,Blue); Input dalam Kerangka

2021.06.22
Menggunakan Dual StopLoss: HIDDEN dan REGULAR dalam MetaTrader 4
MetaTrader4
Menggunakan Dual StopLoss: HIDDEN dan REGULAR dalam MetaTrader 4

Pengurusan Wang: Langkah Awal Seorang Trader Salah satu perkara yang perlu dipertimbangkan oleh seorang trader apabila membuka posisi baru adalah pengurusan wang. Salah satu cara trader mengawal risiko dan menguruskan modal mereka adalah dengan menggunakan had kerugian tertentu untuk posisi mereka. Ramai trader beranggapan bahawa apabila mereka menetapkan Stop Loss (atau bahkan Take Profit) untuk satu posisi dan memasukkan harga ini dalam tingkap pengubahsuaian posisi, server broker wajib menutup posisi mereka sebaik sahaja harga mencapai had ini. Namun, hakikatnya tidak begitu. Ia bergantung kepada jenis akaun yang anda miliki di broker anda. Untuk pengetahuan anda, dalam akaun ECN, apabila anda memberikan harga kepada broker sebagai Stop Loss atau Take Profit, broker akan menutup posisi anda pada harga pertama yang tersedia selepas harga mencapai had ini. Jika anda tidak bersetuju dengan hal ini, cuba semak sejarah perdagangan anda dengan lebih teliti. Anda akan melihat bahawa beberapa pesanan anda ditutup pada harga yang berbeza daripada yang anda tetapkan, dan anda mengalami kerugian yang lebih besar atau keuntungan yang lebih tinggi daripada yang anda jangkakan. Ini berlaku kerana SLIPPAGE. HIDDEN Stop Loss: Penyelesaian Bijak Tambahan pula, ada trader yang percaya bahawa had kerugian tidak seharusnya ditentukan secara tepat untuk broker. HIDDEN Stop Loss lahir daripada pandangan ini, dan robot ini direka untuk tujuan ini. Kini anda boleh menggunakan kedua-dua HIDDEN dan REGULAR Stop Loss serentak. Anda boleh dengan mudah menetapkan REGULAR Stop Loss untuk posisi anda seperti biasa. Tidak kira sama ada anda menggunakan robot atau berdagang secara manual. Cukup jalankan robot ini pada carta baru (apa sahaja) untuk menguruskan semua posisi anda. Nilai input menentukan jarak antara HIDDEN dan REGULAR Stop Loss. Perlu diingat bahawa nilai ini ditentukan dalam point, bukan pip.

2021.04.23
Asisten Scalper v1.0 - Penolong Cemerlang untuk MetaTrader 4
MetaTrader4
Asisten Scalper v1.0 - Penolong Cemerlang untuk MetaTrader 4

Pengenalan kepada Strategi ScalpingScalping adalah salah satu strategi yang paling popular di kalangan trader di seluruh dunia. Kebanyakan trader pasti pernah mencuba teknik ini sekurang-kurangnya sekali. Seorang scalper biasanya melakukan lebih daripada 10 transaksi dalam sehari, jadi menetapkan Stop Loss dan Take Profit untuk setiap transaksi boleh menjadi agak membosankan. Jika strategi anda melibatkan perdagangan beberapa instrumen kewangan dan juga ingin mencapai Break Even, pengurusan semua pesanan ini boleh menjadi mencabar dan sering kali disertai dengan kesilapan. Tambahan pula, jika anda berdagang dalam kerangka masa yang lebih rendah dan melibatkan beberapa pasangan mata wang, mungkin berlaku pergerakan harga yang cepat ketika anda meninggalkan meja untuk secawan teh, dan anda mungkin terlepas peluang untuk mencapai Break Even. Namun, risiko untuk melihat perdagangan yang menguntungkan bertukar menjadi kerugian sentiasa menghantui fikiran.Keistimewaan Asisten ScalperDengan menggunakan asisten ini, anda dapat dengan mudah menentukan jumlah Stop Loss dan Take Profit. Segera setelah anda membuka perdagangan, asisten ini secara automatik menetapkan nilai awal. Jika harga bergerak cukup dalam arah yang diinginkan, perdagangan akan menjadi tanpa risiko atau mencapai Break Even.Semua nilai input adalah dalam POINT (bukan PiP).extern double WhenToMoveToBE - Anda menentukan berapa banyak poin harga harus berada dari titik masuk pesanan supaya EA akan mengatur Break Even.extern double BEAmount - Anda menetapkan jarak Stop Loss dari titik masuk.

2021.04.23
Tutup Pesanan Mengikut Sasaran atau Had Kerugian - Alat untuk MetaTrader 4
MetaTrader4
Tutup Pesanan Mengikut Sasaran atau Had Kerugian - Alat untuk MetaTrader 4

Kita akan menggunakan EA ini sebagai alat perdagangan. Untuk menggunakan EA ini, terdapat 3 input yang diperlukan seperti berikut: Sasaran Keuntungan Had Kerugian Nombor Ajaib extern    double         inTargetProfitMoney     = 10;       //Sasaran Keuntungan ($) extern    double         inCutLossMoney          = 0.0      //Had Kerugian ($) extern    int            inMagicNumber           = 0        //Nombor Ajaib Apabila EA ini dijalankan, ia akan memanggil fungsi OnInit(). Di sini, kita akan menyemak input dan inisialisasi variabel. int OnInit()   { //---    if(inTargetProfitMoney <= 0)      {       Alert("Input tidak sah");       return(INIT_PARAMETERS_INCORRECT);      }    inCutLossMoney = MathAbs(inCutLossMoney) * -1; //---    return(INIT_SUCCEEDED);   } Setiap kali pergerakan harga (tick) berlaku, fungsi OnTick() akan dipanggil. void OnTick()   { //---    double   tFloating = 0.0;    int tOrder  = OrdersTotal();    for(int i=tOrder-1; i>=0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == inMagicNumber)            {             tFloating   += OrderProfit()+OrderCommission() + OrderSwap();            }         }      }    if(tFloating >= inTargetProfitMoney || (tFloating <= inCutLossMoney && inCutLossMoney < 0))      {       fCloseAllOrders();      }   } Dalam fungsi OnTick, ia akan terus mengira jumlah keuntungan atau kerugian. Kemudian, ia akan menutup semua pesanan yang memenuhi sasaran atau had kerugian maksimum. void fCloseAllOrders()   {    double   priceClose = 0.0;    int tOrders = OrdersTotal();    for(int i=tOrders-1; i>=0; i--)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == inMagicNumber && (OrderType() == OP_BUY || OrderType() == OP_SELL))            {             priceClose = (OrderType()==OP_BUY)?MarketInfo(OrderSymbol(), MODE_BID):MarketInfo(OrderSymbol(), MODE_ASK);             if(!OrderClose(OrderTicket(), OrderLots(), priceClose, slippage, clrGold))               {                Print("AMARAN: Penutupan Gagal");               }            }         }      }   } Untuk maklumat lanjut dan perkongsian pendidikan kod mql4, sila sertai telegram kami t.me/codeMQL

2021.03.31
Pertama Sebelumnya 1 2 3 4 5 6 7 8 9 10 11 Seterusnya Terakhir