Beranda Perdagangan Sistem Postingan

Coin Flip: Sistem Trading Pseudo-Random untuk MetaTrader 5

Lampiran
20836.zip (8.36 KB, Unduh 0 kali)

Ide oleh: Vladimir Gribachev.

Kode MQL5 oleh: Vladimir Karputov.

Coin Flip adalah EA yang unik karena tidak memerlukan indikator khusus; posisi dibuka secara pseudo-random. EA ini juga dapat menampilkan statistik terkini dalam dua bahasa:

Informasi trading Coin Flip

Fitur trailing digunakan untuk memodifikasi Stop Loss dari posisi yang terbuka. Jika terjadi kerugian, ukuran lot akan meningkat menggunakan strategi Martingale. Untuk memantau kerugian, dalam OnTradeTransaction, kita menangkap transaksi dengan DEAL_REASON_SL - tanda bahwa Stop Loss telah terpicu:

//+------------------------------------------------------------------+
//| Fungsi TradeTransaction                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- mendapatkan jenis transaksi sebagai nilai enumerasi 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- jika transaksi merupakan hasil dari penambahan transaksi dalam riwayat
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_ticket       =0;
      long     deal_order        =0;
      long     deal_time         =0;
      long     deal_time_msc     =0;
      long     deal_type         =-1;
      long     deal_entry        =-1;
      long     deal_magic        =0;
      long     deal_reason       =-1;
      long     deal_position_id  =0;
      double   deal_volume       =0.0;
      double   deal_price        =0.0;
      double   deal_commission   =0.0;
      double   deal_swap         =0.0;
      double   deal_profit       =0.0;
      string   deal_symbol       ="";
      string   deal_comment      ="";
      string   deal_external_id  ="";
      if(HistoryDealSelect(trans.deal))
        {
         deal_ticket       =HistoryDealGetInteger(trans.deal,DEAL_TICKET);
         deal_order        =HistoryDealGetInteger(trans.deal,DEAL_ORDER);
         deal_time         =HistoryDealGetInteger(trans.deal,DEAL_TIME);
         deal_time_msc     =HistoryDealGetInteger(trans.deal,DEAL_TIME_MSC);
         deal_type         =HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_entry        =HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_magic        =HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
         deal_reason       =HistoryDealGetInteger(trans.deal,DEAL_REASON);
         deal_position_id  =HistoryDealGetInteger(trans.deal,DEAL_POSITION_ID);

         deal_volume       =HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_price        =HistoryDealGetDouble(trans.deal,DEAL_PRICE);
         deal_commission   =HistoryDealGetDouble(trans.deal,DEAL_COMMISSION);
         deal_swap         =HistoryDealGetDouble(trans.deal,DEAL_SWAP);
         deal_profit       =HistoryDealGetDouble(trans.deal,DEAL_PROFIT);

         deal_symbol       =HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_comment      =HistoryDealGetString(trans.deal,DEAL_COMMENT);
         deal_external_id  =HistoryDealGetString(trans.deal,DEAL_EXTERNAL_ID);
        }
      else
         return;
      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            PrevBars=0;
            if(deal_reason==DEAL_REASON_SL && deal_commission+deal_swap+deal_profit<0.0)
               last_lots_sl=deal_volume;
            else
               last_lots_sl=0.0;
           }
     }
  }


Parameter Input

  • Stop Loss - Level Stop Loss;
  • Take Profit - Level Take Profit;
  • Trailing Stop - trailing;
  • Trailing Step - langkah trailing;
  • Lots - ukuran lot diatur secara manual (jika Lots di atas nol, maka Risk harus sama dengan nol);
  • Risk - ukuran lot dihitung secara otomatis (jika Risk di atas nol, maka Lots harus sama dengan nol);
  • Martingale - rasio peningkatan lot, jika posisi sebelumnya ditutup oleh Stop Loss dan profit yang didapat negatif;
  • Max lots - ukuran posisi maksimum; jika ukuran ini terlampaui, maka EA akan menghentikan operasinya secara abnormal;
  • magic number - pengenal unik untuk EA.

Pengujian kemudian dihentikan (EA dihapus dari grafik secara paksa), karena ukuran lot referensi telah melebihi parameter Max lots:

Coin Flip

Postingan terkait

Komentar (0)