トップ  >  リファレンス  >  標準定数・列挙・構造体  >  エラーコード・ワーニングコード  >  トレードサーバーが返すエラー
スポンサーリンク
検索
カスタム検索
リファレンスツリー
オススメ
トレードサーバーが返すエラー


GetLastError()関数でエラーコードを取得出来ます。
エラーコードはstderror.mqhで定義されています。
エラー説明を出力するには、stdlib.mqhで定義されたErrorDescription()関数を使用します。


サンプルソース(EA用):
#include <stderror.mqh>
#include <stdlib.mqh>

void OnInit(){

    test();
}


void test(){

    int ea_ticket_res;

    ea_ticket_res = OrderSend(  // オーダー送信
        Symbol(),               // 通貨ペア
        OP_BUY,                 // オーダータイプ[OP_BUY / OP_SELL]
        0.00001,                // ロット[0.01単位]
        Ask,                    // オーダープライスレート
        20,                     // スリップ上限    (int)[分解能 0.1pips]
        0,                      // ストップレート
        0,                      // リミットレート
        "テストオーダー",       // オーダーコメント
        999,                    // マジックナンバー(管理用)
        0,                      // オーダーリミット時間
        clrRed                  // オーダーアイコンカラー
    );

    if ( ea_ticket_res == -1) { // オーダーエラー

        int check;
        check = GetLastError(); // エラーコード取得
    
        if( check != ERR_NO_ERROR) {
            Print("エラーコード: ",check ," 詳細:",ErrorDescription(check));
        }
    }

    // 結果
    // エラーコード: 131 詳細:invalid trade volume
}


コード ID 詳細
0 ERR_NO_ERROR エラーはありません
1 ERR_NO_RESULT エラーはありませんが、結果が不明です
2 ERR_COMMON_ERROR 一般的なエラー
3 ERR_INVALID_TRADE_PARAMETERS 無効な取引パラメータ
4 ERR_SERVER_BUSY トレードサーバーがビジー状態です
5 ERR_OLD_VERSION クライアントターミナルのバージョンが古い
6 ERR_NO_CONNECTION トレードサーバーに接続していません
7 ERR_NOT_ENOUGH_RIGHTS 権限が十分ではありません
8 ERR_TOO_FREQUENT_REQUESTS 要求が頻繁過ぎます
9 ERR_MALFUNCTIONAL_TRADE 異常な取引操作です
64 ERR_ACCOUNT_DISABLED 許可されていないアカウントです
65 ERR_INVALID_ACCOUNT 無効なアカウントです
128 ERR_TRADE_TIMEOUT トレードタイムアウト
129 ERR_INVALID_PRICE 無効な価格です
130 ERR_INVALID_STOPS 無効なストップ設定です
131 ERR_INVALID_TRADE_VOLUME 無効なトレード量(lot数)です
132 ERR_MARKET_CLOSED 市場が閉じています
133 ERR_TRADE_DISABLED トレード無効設定になっています
134 ERR_NOT_ENOUGH_MONEY 証拠金が不足しています
135 ERR_PRICE_CHANGED 価格が変更されました
136 ERR_OFF_QUOTES レートが提示されていません
137 ERR_BROKER_BUSY ブローカーがビジー状態です
138 ERR_REQUOTE レート再提示
139 ERR_ORDER_LOCKED 注文がロックされています
140 ERR_LONG_POSITIONS_ONLY_ALLOWED ロングエントリーのみ許可されています
141 ERR_TOO_MANY_REQUESTS 要求が多過ぎます
145 ERR_TRADE_MODIFY_DENIED 変更注文が市場提示価格に近すぎる為、拒否されました。
146 ERR_TRADE_CONTEXT_BUSY トレードコンテキストがビジーです
147 ERR_TRADE_EXPIRATION_DENIED 有効期限設定はブローカーによって拒否されました
148 ERR_TRADE_TOO_MANY_ORDERS 保留中の注文量がブローカーによって設定された上限に達しています
149 ERR_TRADE_HEDGE_PROHIBITED 両建ては無効になっています
150 ERR_TRADE_PROHIBITED_BY_FIFO FIFOルールに違反したポジション決済をしようとしています



管理人の勝手なコメント:
ターミナルで"OrderSend error xxx"が表示された場合は、上記エラーコードで確認しましょう。



スポンサーリンク



Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system