• Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)

Answered Kenapa Strategi Exit-nya gak di eksekusi

popay

Member
Credit Hunter
Credits
0
Agan2 sekalian, ane baru belajar nih untuk MQ4. Jadi lagi nyari2 strategi yang sebisa ane, di buatin EA nya
Tapi maklum karena pemula, disana sini banyak kelemahan
Nah, salah satunya yang ini
Nih EA kalo gak pake SL lumayan melejit, dan saat nyungsep, lumayan nyakitin
Padahal dah ane pasang exit strategy walopun ndak pake SL sebenarnya
Nah, disitulah ane bingun, kenapa exit strateginya ndak di eksekusi

sekalian nyolek mas susanto, mas bara pratama, mas hajirin aseli, mas abastomi dan teman2

Sekalian ane lampirin skrinsut graph nya
BT di Pair XAUUSD
TF M5
start 21Jan2015 - 11Agustus2015TesterGraph.gif
 

Attachments

kalau dilihat dari coding closenya, harga close untuk BUY harus pake BID dan close SELL pake ASK, kebalikan dari OP. Dan posisi order ganti dengan ticket juga => ini untuk close BUY => OrderClose(OrderTicket(), OrderLots(), Bid, 3, Yellow); dan untuk SELL price close ganti Ask
 
kalo untuk orderselct nya sendiri gimana ya mas?
apakah diganti jadi select_by_ticket atau tetap select_by_pos?

terima kasih sebelumnya
 
Alternatif sequece Close Order nya bisa dibuat seperti ini :

void CloseOrder_Sell()
{
int orderstotal = OrdersTotal();
int orders = 0;
int ordticket[30][2]={0};
for (int i = 0; i < orderstotal; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if (OrderType() != OP_SELL || OrderSymbol() != Symbol() || OrderMagicNumber() != 712015)
{
continue;
}
ordticket[orders][0] = (int)OrderOpenTime();
ordticket[orders][1] = OrderTicket();
orders++;
}
}
if (orders > 1)
{
ArrayResize(ordticket,orders);
ArraySort(ordticket);
}
for (int i = 0; i < orders; i++)
{
if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)
{
bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Red);
if (ret == false)
PrintFormat("OrderClose() error - ",GetLastError());
}
}
}

void CloseOrder_Buy()
{
int orderstotal = OrdersTotal();
int orders = 0;
int ordticket[30][2]={0};
for (int i = 0; i < orderstotal; i++)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)==true)
{
if (OrderType() != OP_BUY || OrderSymbol() != Symbol() || OrderMagicNumber() != 712015)
{
continue;
}
ordticket[orders][0] = (int)OrderOpenTime();
ordticket[orders][1] = OrderTicket();
orders++;
}
}
if (orders > 1)
{
ArrayResize(ordticket,orders);
ArraySort(ordticket);
}
for (int i = 0; i < orders; i++)
{
if (OrderSelect(ordticket[1], SELECT_BY_TICKET) == true)
{
bool ret = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, Blue);
if (ret == false)
PrintFormat("OrderClose() error - ",GetLastError());
}
}
}
 
Back
Top