
MQL5 標準ライブラリ CTrade クラス(MQL5)
CTrade::BuyLimit()
- できること
- 買い指値注文を出す
- 対応
- MQL5(#include <Trade\Trade.mqh> が必要)
CTrade::BuyLimit() とは
CTrade クラスで、現在値より安い価格に買いの指値注文(押し目買い)を出すメソッドです。
CTrade::BuyLimit() の書式と引数
bool CTrade::BuyLimit(
const double volume,
const double price,
const string symbol=NULL,
const double sl=0.0,
const double tp=0.0,
const ENUM_ORDER_TYPE_TIME type_time=ORDER_TIME_GTC,
const datetime expiration=0,
const string comment=""
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
volume | const double | 必須 | ロット数。 |
price | const double | 必須 | 指値の価格(現在の Ask より下)。 |
symbol | const string | NULL | 銘柄名。NULL ならチャートの銘柄。 |
sl | const double | 0.0 | 損切り価格。 |
tp | const double | 0.0 | 利確価格。 |
type_time | const ENUM_ORDER_TYPE_TIME | ORDER_TIME_GTC | 有効期限の種類。ORDER_TIME_GTC(取り消すまで有効)、ORDER_TIME_SPECIFIED(expiration まで)など。 |
expiration | const datetime | 0 | type_time が ORDER_TIME_SPECIFIED のときの期限。 |
comment | const string | "" | 注文のコメント。 |
戻り値
リクエストを送信できたら true。受け付けられたかは ResultRetcode() が TRADE_RETCODE_DONE か確認します。
CTrade::BuyLimit() の使い方(コード例)
#include <Trade\Trade.mqh>
CTrade trade;
double pip = (_Digits == 3 || _Digits == 5) ? _Point * 10 : _Point;
double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
double price = NormalizeDouble(ask - 30 * pip, _Digits); // 30pips 下で買い
if(!trade.BuyLimit(0.1, price, _Symbol, NormalizeDouble(price - 20 * pip, _Digits), NormalizeDouble(price + 40 * pip, _Digits)))
Print("BuyLimit 失敗 ", trade.ResultRetcodeDescription());OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
CTrade::BuyLimit() の注意点
- 価格は現在値からストップレベル以上離し、NormalizeDouble() で桁数を合わせます。
MQL4 と MQL5 の違い
MQL4 の OrderSend(_Symbol, OP_BUYLIMIT, …) にあたります。
CTrade::BuyLimit() でよく出るエラー
関連する関数
CTrade クラス(MQL5)の関数一覧
- CTrade::Buy
- CTrade::Sell
- CTrade::BuyLimit
- CTrade::SellLimit
- CTrade::BuyStop
- CTrade::SellStop
- CTrade::PositionOpen
- CTrade::PositionClose
- CTrade::PositionClosePartial
- CTrade::PositionModify
- CTrade::OrderModify
- CTrade::OrderDelete
- CTrade::SetExpertMagicNumber
- CTrade::SetDeviationInPoints
- CTrade::SetTypeFilling
- CTrade::SetTypeFillingBySymbol
- CTrade::ResultRetcode
- CTrade::ResultRetcodeDescription
- CTrade::ResultOrder












