- Credits
- 0
Assalamualaikum,
Adakah mastah yang bisa share fungsi hidden trailing stop untuk EA MT4 ?
Terimakasih
Adakah mastah yang bisa share fungsi hidden trailing stop untuk EA MT4 ?
Terimakasih
void trailing()
{
double newSL, oldSL, commission = 0.0;
for (int i = 0; i < OrdersTotal(); i++) {
chkCmd = OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (!chkCmd) continue;
if (step < MarketInfo(Symbol(), MODE_STOPLEVEL)) step = MathRound(MarketInfo(Symbol(), MODE_STOPLEVEL));
if (OrderSymbol() == Symbol() && OrderMagicNumber() == magicNum) {
if (OrderStopLoss() == 0.0) { oldSL = OrderOpenPrice(); } else { oldSL = OrderStopLoss(); }
if (OrderCommission() > 0.0) commission = NormalizeDouble((OrderCommission()/OrderLots()*Point), Digits);
if (OrderType() == OP_BUY) {
if (Bid - (oldSL + commission)> step * Point) {
newSL = Bid - commission - (step * Point);
if (newSL > oldSL) {
RefreshRates();
chkCmd = OrderModify(OrderTicket(), OrderOpenPrice(),
newSL, OrderTakeProfit(), 0, Blue);
if (!chkCmd) Print ("Error to modify BUY");
}
}
}
if (OrderType() == OP_SELL) {
if ((oldSL - commission) - Ask > step * Point) {
newSL = Ask + commission + (step * Point);
if (newSL < oldSL) {
RefreshRates();
chkCmd = OrderModify(OrderTicket(), OrderOpenPrice(),
newSL, OrderTakeProfit(), 0, Pink);
if (!chkCmd) Print ("Error to modify SELL");
}
}
}
}
}
return;
}
saya punya begini om
tinggal di atas kasi
extern int step = 10;
Code:void trailing() { double newSL, oldSL, commission = 0.0; for (int i = 0; i < OrdersTotal(); i++) { chkCmd = OrderSelect(i, SELECT_BY_POS, MODE_TRADES); if (!chkCmd) continue; if (step < MarketInfo(Symbol(), MODE_STOPLEVEL)) step = MathRound(MarketInfo(Symbol(), MODE_STOPLEVEL)); if (OrderSymbol() == Symbol() && OrderMagicNumber() == magicNum) { if (OrderStopLoss() == 0.0) { oldSL = OrderOpenPrice(); } else { oldSL = OrderStopLoss(); } if (OrderCommission() > 0.0) commission = NormalizeDouble((OrderCommission()/OrderLots()*Point), Digits); if (OrderType() == OP_BUY) { if (Bid - (oldSL + commission)> step * Point) { newSL = Bid - commission - (step * Point); if (newSL > oldSL) { RefreshRates(); chkCmd = OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, Blue); if (!chkCmd) Print ("Error to modify BUY"); } } } if (OrderType() == OP_SELL) { if ((oldSL - commission) - Ask > step * Point) { newSL = Ask + commission + (step * Point); if (newSL < oldSL) { RefreshRates(); chkCmd = OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, Pink); if (!chkCmd) Print ("Error to modify SELL"); } } } } } return; }
mohon koreksi bila salah
Kalo menurut saya sih begini:Assalamualaikum,
Adakah mastah yang bisa share fungsi hidden trailing stop untuk EA MT4 ?
Terimakasih
kalo pengen yang simpel bisa dicompile pake mql4 versi yang lama kalau tidak, ya codingnya harus dirubah karena format penulisannya emang ada sedikit perubahan untuk versi yang baru.baru blajar oprek, gmna solusinya digambar ini master2
yang saya tau di mql tidak ada fungsi hidden sl/tp nya tapi kita bisa mengakali.Maaf newbie bertanya,gimana mau masukkan hidden tp ts sl dalam ea? Ada yg bisa bantu explain?
setuju ama agan satu ini,Hiden SL/TP itu adalah perintah close Order.yang saya tau di mql tidak ada fungsi hidden sl/tp nya tapi kita bisa mengakali.
Dulu saya pernah bikin hidden sl/tp dengan cara menghitung points, jika jumlah points melebihi batas yang telah kita tentukan maka EA kita perintah untuk mengirimkan OrderClose secara otomatis.
Tapi jangan senang dulu..
hanya sekedar masukan:
walaupun kita sudah menggunakan hidden sl/tp dan EA tersebut kita tradingkan pada akun real di broker nakal, saya rasa broker nakal juga bayak akal, mereka bisa saja menggagalkan OrderClose yang dikirimkan oleh EA tersebut. Seakan-akan jaringan internetnya yang trobel walaupun jaringan internet kita baik2 saja.