lunedì 20 giugno 2011

Metatrader: orderSend error 130

Una delle prime cose che si imparano una volta terminata la scrittura dei primi expert advisor è quella di effettuare la stampa degli errori che vengono sollevati durante la gestione degli ordini. Ad esempio è possibile visualizzare le motivazioni della mancata apertura di un ordine utilizzando la funzione GetLastError() subito dopo aver invocato la funzione orderSend:

v_ticket=OrderSend(Symbol(), OP_BUY, e_Lots, Ask, 3, Ask - (e_Stoploss*g_Point), Ask + (e_TakeProfit*g_Point), "my first EA", e_MagicID, 0, Green);
if(v_ticket>0){
if(OrderSelect(v_ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);

Gli errori sollevati a run-time da metatrader possono essere visualizzati:

  • sul diario se stiamo eseguendo un backtest
  • sulla casella consiglieri se stiamo utilizzando l'ea in demo o con denaro reale
metatrader error 130

E' possibile visualizzare la lista completa degli errori di metatrader al seguente link: