OrderModify()

 OrderModify()関数は、既に約定した注文(=保有ポジション)や、待機注文に修正・変更を加えるために使用します。

 OrderModify()関数は、以下のように定義されています。

bool OrderModify(
int ticket,
double price,
double stoploss,
double takeprofit,
datetime expiration,
color arrow_color
);

 各引数の意味は、以下のとおりです。

  • int ticket
    修正・変更を加える注文のチケット番号を指定します。
  • double price
    待機注文の新しい注文価格を指定します。
  • double stoploss
    新しい損切り価格を指定します。
  • double takeprofit
    新しい利益確定価格を指定します。
  • datetime expiration
    待機注文の新しい有効期限を指定します。
  • color arrow_color
    MetaTrader4(MT4)では、OrderModify()関数によって損切り価格や利益確定価格を変更すると、チャート上の注文の修正・変更を行った位置にオブジェクトが表示されます。
    この引数では、当該オブジェクトの表示色を指定します。
    オブジェクトを表示させたくない場合は、「clr_NONE」と記述します。

戻り値

 注文の修正・変更が正常になされた場合は「true」が返され、正常に注文の修正・変更がなされなかった場合は「false」が返されます。

 エラーのより詳しい情報を得るためには、GetLastError()関数を使用します。

注意点

 注文価格と有効期限は、待機注文に対してのみ修正・変更を加えることができます。

 OrderModify()関数の引数として変更されていない値が渡された場合は、エラー1(ERR_NO_RESULT:計算結果の不存在)が生成されます。

 待機注文の有効期限を指定することのできない取引サーバを使用している場合に、「0」以外の値を有効期限として指定すると、エラー147(ERR_TRADE_EXPIRATION_DENIED:有効期限の指定の拒否)が生成されます。

具体例

 買いポジションを取得した後に、当該ポジションに対して損切り価格をしてたい場合は、以下のように記述します。


if(買いエントリー条件)
  {
    int Ticket = OrderSend(……);
    
    if(OrderSelect(Ticket,SELECT_BY_TICKET) == true);
      {
        bool Modified =
        OrderModify(OrderTicket(),OrderOpenPrice(),
                    OrderOpenPrice() - 50 * Point,
                    OrderTakeProfit(),0,clr_NONE);
      }
……

関連EA

W-Trailing(ダブル・トレーリング)
新しいトレーリング・ストップ登場!ハサミ打ちで利益を確保!!!
新しいトレーリング・ストップ登場!ハサミ打ちで利益を確保!!!?|?fx-on.com

GogoJungleで購入する

特 徴

  • ユックリしたストップロス機能
    通常のトレーリングストップでは、レートが保有ポジションの利益方向に1pips動いたらストップも1pips切り上がるところ、ストップの切り上がり方を自由に設定できる
    例えば、
    レートが保有ポジションの利益方向に5pips動いたらストップを1pips切り上げる。
    レートが保有ポジションの利益方向に10pips動いたらストップを1pips切り上げる。
    など
  • テイクプロフィットをトレーリングする機能
    一定時間の経過とともに利益確定値を切り下げていく。
    例えば、
    1分経過するごとに利益確定値を1pips切り下げる。
    5分経過するごとに利益確定値を1pips切り下げる。
    など

基本機能

 裁量等で建てたポジションに対してSL/TPを自動操作する。

パラメーター

  • StopLoss,TakeProfit(設定単位はpips)
    EAをチャートに適用した時点で、保有ポジションにSL/TPの設定がない場合に、自動でSL/TPを設定する。
  • StartTrailPips
    トレーリングを開始するPips設定(=レートが始値よりも何pips利益方向に動いたらトレールを開始するかの設定)
  • SLRatio
    レートが「A」pips(例えば3ips)動いたらSLを1pips動かす。
  • TLSeconds
    トレール開始後「B」秒(例えば250秒)経過したらTPを1pips動かす。

関連ツール

『EAつくーる』
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!
MQL言語の学習ができ、裁量トレーダーもEA開発が可能になる!?|?fx-on.com

GogoJungleで購入する

 MT4で作動するEAをプログラミング不要で作成するためのツールです。

特 徴

  • インジケーターを組み合わせることで、EAを簡単に作ることができます。
    インジケーターは、MT4に標準で装備されているもののほか、市販のものも使用することができます
  • EAはmq4ファイルで作成されるので、mqlの学習にも役立ちます。
  • 作成したEAの著作権は本ツールを使用してEAを作成した本人に属し、販売なども自由です
  • シンプルなロジックのEAから高度なオプション付きのEAまで、簡単に作成することができます。