初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 615

 
こんにちは。
MT-5のツールウィンドウにカレンダー、シグナルなどのタブがないのですが、追加する方法を教えてください。
 
sergey966121:
こんにちは。
MT5のツールウィンドウにカレンダー、シグナルのタブがないのですが、追加する方法を教えてください。

取引サーバーの設定は、「カレンダー」タブを担当します。タブがない場合は、取引口座を開設した加盟店へ記載を依頼する。

信号」タブがない場合。

MetaTraderに「Signals」タブがない場合

追記:Windows OSでしょうか?

 

こんにちは。

PositionGet...() でポジションのTPとSLの値を取得することはできますが、ポジション全体のtakeprofitを設定するにはどうしたらよいでしょうか?

指定はできませんが、ありがとうございました。

 
Alexander Kharlamov:

こんにちは。

PositionGet...() でポジションのTPとSLの値を取得することはできますが、ポジション全体のtakeprofitを設定するにはどうしたらよいでしょうか?

ありがとうございました。

こんな感じで、標準ライブラリと CTradeクラスを使って。

#include <Trade\Trade.mqh>
Ctrade my_trade
...
my_trade.Buy(...
//или
my_trade.Sell(...
//или
my_trade.PositionModify(...
 
Karputov Vladimir:

こんな感じで、標準ライブラリと CTradeクラスを使って。

ありがとうございました。
 
Alexander Kharlamov:
ありがとうございました。
どういたしまして。標準ライブラリを 使えば、プログラミングがとても簡単になります。
 
Alexander Kharlamov:
ありがとうございました。

以下はスクリプトの例です(PositionModify(SL).mq5)-まずポジションを開き、次にこのポジションのストップロスを変更するものです。

//+------------------------------------------------------------------+
//|                                           PositionModify(SL).mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property version   "1.00"
#include <Trade\Trade.mqh>
//--- variable
CTrade   my_trade;         // object CTrade
int      my_stop_loss=30;  // stop level
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   my_trade.Buy(0.01);
   Sleep(6000);

   double m_adjusted_point;         // point value adjusted for 3 or 5 points
//--- tuning for 3 or 5 digits
   int digits_adjust=1;
   if(Digits()==3 || Digits()==5)
      digits_adjust=10;
   m_adjusted_point=Point()*digits_adjust;

   double m_stop_loss=my_stop_loss*m_adjusted_point;

   MqlTick m_tick;
   SymbolInfoTick(Symbol(),m_tick);

   double sl=NormalizeDouble(m_tick.bid-m_stop_loss,Digits());
   my_trade.PositionModify(Symbol(),sl,0);
  }

使用上の制限:ネッティングアカウントでのみ正しく動作します。

ファイル:
 

なんとかポジションにTPを設定することができました、ありがとうございます。

MQL5を使ってイベント-TP トリガーをトレースすることは可能なのでしょうか?それとも、ポジションの状態を確認する必要があるのでしょうか?

 
Alexander Kharlamov:

なんとかポジションにTPを設定することができました、ありがとうございます。

MQL5を使ってイベント-TP トリガーをトレースすることは可能なのでしょうか?それとも、ポジションの状態を確認する必要があるのでしょうか?

もちろんそうでしょう、ポジションはイベントをお知らせします。それは証券会社のサーバーにある実体(データベースのレコード+何か他のもの)に過ぎないのです。
 

非現実的なのでまだ扱っていませんが、OnTradeやOnTradeTransactionのイベントは、takeによるポジションクローズをトレースしないのでしょうか?

Trade

トレードイベントは トレードサーバーでのトレード操作が完了したときに発生 します。 トレードイベントは、以下のトレード操作に対してOnTrade() 関数で処理されます。

  • 設定、変更、削除を行うことができます。
  • 資金不足の場合、または期限切れの場合、保留中の注文をキャンセルすること。
  • 注文待ちのトリガーを発生 させる。
  • ポジション(または その一部)のオープン、追加、クローズを行うこと。
  • オープンポジションの変更(ストップの変更)。

トレードトランザクション

取引口座で特定のアクションが実行された結果、その状態が変化します。そのような行為には、以下のようなものがあります。

  • クライアント端末の任意のMQL5アプリケーションからOrderSend およびOrderSendAsync 関数を使用して取引依頼を送信し、さらに実行すること。
  • 端末のグラフィカルインターフェースによる取引要求の送信とその実行。
  • サーバー上の 保留注文とストップ 注文のトリガー
  • 取引サーバー側での操作の実行。

これらのアクションの結果、アカウントに対してトレード取引が実行されます。

  • 取引要求の処理。
  • 未決済注文の修正
  • 注文履歴を変更する
  • 取引の歴史を変える。
  • ポジションを変更する。

例えば、成行買い注文が送信されると、それが処理され、口座に適切な買い注文が作成され、その注文が執行され、未決済注文のリストから削除され、注文履歴に加えられ、次に対応する取引が履歴に加えられ、新しいポジションが作成されることになるのです。 これらの行為はすべて貿易取引である。このような各取引の端末への到着が TradeTransaction イベントである。このイベントはOnTradeTransaction 関数で処理されます。


理由: