MQL関数リファレンス

MQL5 標準ライブラリ CTrade クラス(MQL5)

CTrade::Buy()

できること
成行で買い注文を出す
対応
MQL5(#include <Trade\Trade.mqh> が必要)

CTrade::Buy() とは

CTrade クラスで、成行の買い注文を出すメソッドです。ロット数だけ指定すれば、チャートの銘柄を現在の Ask で買います。MQL4 の OrderSend() に近い感覚で、1行で発注できます。

CTrade::Buy() の書式と引数

bool CTrade::Buy(
   const double volume,
   const string symbol=NULL,
   double price=0.0,
   const double sl=0.0,
   const double tp=0.0,
   const string comment=""
)
引数型省略時説明
volumeconst double必須ロット数。
symbolconst stringNULL銘柄名。NULL ならチャートの銘柄。
pricedouble0.0注文価格。0 なら現在の Ask が使われます。
slconst double0.0損切り価格。0 なら付けません。
tpconst double0.0利確価格。0 なら付けません。
commentconst string""注文のコメント。

戻り値

リクエストを送信できたら true を返します。注文が成立したかは ResultRetcode() が TRADE_RETCODE_DONE(10009)かどうかで確認します。

CTrade::Buy() の使い方(コード例)

#include <Trade\Trade.mqh>

CTrade trade;
trade.SetExpertMagicNumber(12345);
trade.SetDeviationInPoints(30);

double pip = (_Digits == 3 || _Digits == 5) ? _Point * 10 : _Point;
double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);
double sl  = NormalizeDouble(bid - 20 * pip, _Digits);
double tp  = NormalizeDouble(bid + 40 * pip, _Digits);

if(trade.Buy(0.1, _Symbol, 0.0, sl, tp, "my EA") && trade.ResultRetcode() == TRADE_RETCODE_DONE)
   Print("買い成功 deal=", trade.ResultDeal(), " 価格=", trade.ResultPrice());
else
   Print("買い失敗 ", trade.ResultRetcode(), " ", trade.ResultRetcodeDescription());

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

CTrade::Buy() の注意点

  • マジックナンバーは事前に SetExpertMagicNumber() で設定しておきます。設定しないと 0 になります。
  • Trade.mqh の CTrade は、成行注文の執行タイプ(FOK・IOC)を銘柄に合わせて自動で選ぶため、10030 エラーが出にくくなっています。
  • 失敗するとエキスパートタブに CTrade::OrderSend のログが出ます。

MQL4 と MQL5 の違い

MQL4 の OrderSend(_Symbol, OP_BUY, ロット, Ask, スリッページ, SL, TP, コメント, マジック) にあたります。

CTrade::Buy() でよく出るエラー

関連する関数

CTrade クラス(MQL5)の関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE