GetLastError()の間違った使い方…。

先日リクエストを頂いた、GetLastError()の件ですが、忘れないうちに説明しておきたいと思います。
まずは、とあるEAにあったGetLastError()の間違った使い方のサンプルから。

#include  // ←エラーコードをメッセージとして表示するErrorDescription を使う時必要になる。
//
void subCheckError(int ticket, string Type)
{
    if(ticket>0) 
    {
      if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print(Type + " order opened : ",OrderOpenPrice());
    }
    else Print("Error opening " + Type + " order : (",GetLastError(),") ", ErrorDescription(GetLastError()));
}

OrderSend後に、ticket が取れていなかったら、subCheckError関数でエラーメッセージを表示しようとしているのですが、この中にバグを見つけられますか?

続きを読む