Laman utama Perdagangan Sistem Siaran

Panduan Lengkap Stop Loss dan Take Profit untuk MetaTrader 5

Lampiran
18755.zip (2.99 KB, Muat turun 2 kali)

Dalam dunia trading, pengurusan risiko adalah kunci kejayaan. Apabila satu trade ditutup menggunakan Stop Loss, volum yang digunakan akan digandakan. Sebaliknya, jika ditutup melalui Take Profit, volum minimum akan digunakan. Untuk mengetahui sama ada satu trade dilakukan selepas pengaktifan Stop Loss atau Take Profit, anda boleh menggunakan fungsi OnTradeTransaction.

Dalam build 1625, terdapat penambahan yang hebat, iaitu enumerasi ENUM_DEAL_REASON. Berikut adalah maklumat mengenai enumerasi ini:

ENUM_DEAL_REASON Keterangan Sebab
... ...
DEAL_REASON_SL Operasi ini dilaksanakan sebagai hasil daripada pengaktifan Stop Loss
DEAL_REASON_TP Operasi ini dilaksanakan sebagai hasil daripada pengaktifan Take Profit
... ...

Anda boleh menyemak ini dalam OnTradeTransaction. Dengan kata lain, ia adalah cara yang sangat mudah dan boleh dipercayai untuk menentukan sama ada satu trade adalah hasil daripada Take Profit atau Stop Loss.

Setakat ini, dalam build 1626, EA ini hanya boleh disemak dalam ujian langsung dengan melancarkannya di atas carta atau dalam mod debug pada data sebenar (tekan F5 dalam MetaEditor). Saya menggunakan strategi berikut untuk mengatasi masalah ini:

Dalam OnTradeTransaction, kita boleh menentukan sama ada Take Profit atau Stop Loss yang diaktifkan:

      if(deal_symbol==m_symbol.Name() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_OUT)
           {
            if(deal_reason==DEAL_REASON_SL)
               ExtLot*=2.0;
            else if(deal_reason==DEAL_REASON_TP)
               ExtLot=m_symbol.LotsMin();
           }

Siaran berkaitan

Komen (0)