Saya perlu tahu apa kode untuk Penanganan Error ORDER CLOSE dengan MAGIC NUMBER.
Saya dapat melakukannya dengan penanganan kesalahan Order OPEN.
Tetapi saya perlu mengonfirmasi bahwa kode saya benar dengan penanganan kesalahan Order CLOSE.
Ini adalah kode penanganan kesalahan Order OPEN saya untuk Order Beli yang berfungsi dengan baik:
//Membeli
if (Order == SIGNAL_BUY ((EachTickMode !TickCheck) || (!EachTickMode (Bar != BarCount)))) {
if(!IsTrade) {
//Periksa margin bebas
if (AccountFreeMargin() lt; (1000 * Lot)) {
Cetak(Kami tidak punya uang. Free Margin = , AccountFreeMargin());
kembali(0);
}
if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; jika tidak, Level StopLoss = 0,0;
jika (UseTakeProfit) TakeProfitLevel = Ask TakeProfit * Poin; jika tidak, TakeProfitLevel = 0,0;
Tiket = OrderSend(Symbol(), OP_BUY, Lot, Ask, Slippage, StopLossLevel, TakeProfitLevel, Beli(# MagicNumber ), MagicNumber, 0, DodgerBlue);
if(Tiket gt; 0) {
if (PilihPesan(Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Cetak(pesanan BUY dibuka : , OrderOpenPrice());
if (SignalMail) SendMail([Peringatan Sinyal], [ Simbol() ] DoubleToStr(Tanya, Digit) Buka Beli);
} kalau tidak {
Print(Kesalahan membuka pesanan BELI : , GetLastError());
InTrade = salah;
buyFlag = salah;
}
}
lain/*** DITAMBAH LAINNYA ke if (Tiket gt;0)
{
//Kami mengalami kesalahan saat membuka perdagangan jadi tangani
Print(Kesalahan membuka pesanan BELI : , GetLastError());
InTrade = salah;
buyFlag = salah;
}
jika (EachTickMode) TickCheck = True;
if (!EachTickMode) BarCount = Bar;
kembali(0);
}
}
Ini adalah Kode Penanganan Kesalahan TUTUP Pesanan saya untuk Pesanan Beli:
// -------------------------------------------------- -------------------
//| Sinyal Akhir(Keluar Beli) |
// -------------------------------------------------- -------------------
if (Order == SIGNAL_CLOSEBUY ((EachTickMode !TickCheck) || (!EachTickMode (Bar != BarCount)))) {
untuk (cnt = Total ; cnt gt;=0 ; cnt--)
{
PesanPilih(cnt,SELECT_BY_POS,MODE_TRADES);
{
jika (OrderMagicNumber() == MagicNumber)
{
noretrades = true;
InTrade = salah;
Ticket = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);
if(Tiket gt; 0) {
if (PilihPesan(Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Print(SELL order closed : , OrderClosePrice());
if (SignalMail) SendMail([Peringatan Sinyal], [ Simbol() ] DoubleToStr(Bid, Digit) Jual Terbuka);
} kalau tidak {
Cetak(Kesalahan menutup pesanan BELI : , GetLastError());
noretrades = false;
InTrade = benar;
}
}
lain/*** DITAMBAH LAINNYA ke if (Tiket gt;0)
{
//Kami mengalami kesalahan saat menutup perdagangan jadi atasi itu
Cetak(Kesalahan menutup pesanan BELI : , GetLastError());
noretrades = false;
InTrade = benar;
}
}
}
}
if (SignalMail) SendMail([Signal Alert], [ Symbol() ] DoubleToStr(Bid, Digits) Close Buy);
if (!EachTickMode) BarCount = Bar;
IsTrade = Salah;
melanjutkan;
}
//Trailing berhenti
if(UseTrailingStop TrailingStop gt; 0) {
if(Bid - OrderOpenPrice() gt; Point * TrailingStop) {
if(OrderStopLoss() lt; Bid - Point * TrailingStop) {
OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);
if (!EachTickMode) BarCount = Bar;
melanjutkan;
}
}
}
} kalau tidak {
Adakah yang bisa memberi tahu saya apakah Kode Penanganan Kesalahan ORDER CLOSE saya sudah benar?
Selain itu, sepertinya saya kesulitan mencetak OrderClosePrice() karena harga yang dicetak salah. Saya tidak memiliki masalah dengan mencetak OrderOpenPrice() untuk Kode Pembukaan Pesanan.