TradeProtector-1.1: Stop Loss Automatik dan Trailing Stop Proporasional untuk MetaTrader 4

Mike 2009.10.06 15:40 14 0 0
Lampiran

Versi terbaru daripada:
https://www.mql5.com/en/code/9238

Senarai pembetulan:

  • Menambah semakan SIMBOL (pasangan mata wang). Versi 1.0 memproses semua pesanan tanpa mengira pasangan mata wang. Kini, EA ini hanya memproses pesanan bagi simbol yang sama.

  • Jika anda ingin menggunakannya untuk - katakanlah EURGBP dan EURUSD - sambungkan trade_protector-1.1 pada carta pasangan tersebut.

  • Memperbaiki masalah pengiraan kecil untuk trailing stops pada pesanan JUAL (nilai spread tidak lagi ditambah dalam formula pengiraan trailing stop).

Perubahan/Pembetulan dalam versi 1.2:

  • Menukar algoritma: jika tiada SL, EA akan menetapkan nInitialSL (pips) dari harga semasa, kemudian nTrailingStop digunakan sebagai trailing stop biasa sehingga nPropSLThreshold keuntungan (dalam pips) dicapai. Dari titik itu, SL proporasional digunakan: (Beli/Jual)
    SL = OrderOpenPrice() +/- dPropSLRatio(Bid/Ask - OrderOpenPrice()) -/+ spread

  • Tiga tahap log kini bermakna: 0 - tiada log, 1 - (lalai) hanya acara (ubah SL) yang direkod, 2 - fail log tambahan untuk diagnostik

Parameter yang boleh diset:
extern int logging=1;
//logging=0,1,2 - tahap log
extern int nInitialSL=15;
// SL awal
extern int nTrailingStop=35;
//nTrailingStop [pips] - trailing stop awal. Ia akan digunakan sehingga perdagangan anda mencapai keuntungan = nPropSLThreshold. Jika anda tidak mahu trailing stop, set kepada nilai besar (lebih besar daripada nInitialSL + nPropSLThreshold)
extern int nPropSLThreshold=12;
//nPropSLThreshold [pips] - selepas mencapai keuntungan ini, trailing stop proporasional akan digunakan
extern double dPropSLRatio=0.35;
//dPropSLRatio [desimal] - faktor pengganda ( PropSL = Profit * dPropSLRatio - Spread )
extern int nUseEscape=0;
//nUseEscape [ 1 atau 0 ] - mengelak perdagangan yang salah secepat mungkin setelah mencapai keuntungan minimum
extern int nEscapeLevel=0;
//nEscapeLevel [pips] - saiz kerugian selepas mana kita ingin perdagangan kita ditamatkan
//secepat ia mencapai paras tinggi seterusnya
extern int nEscapeTP=35;
//nEscapeTP [pips] - paras ambil untung dalam pips (anda boleh menetapkan kepada nilai negatif
// - maka ia akan menjadi kerugian yang anda gembira untuk dapatkan,
// jika perdagangan anda mencapai nilai pips negatif yang mengagumkan)
extern int nSleep=0;
//penangguhan selepas bar baru
extern int nSlip = 2;
//kelicinan harga maksimum yang dibenarkan

Senarai
Komen 0