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

 
Artyom Trishkin:

ポジションに属する取引を表示し、その取引量を確認することができます。

ただ、見つかったすべてのポジショントレード(それぞれのプロパティ)をアンピンする - そこで何を検索する必要があるかを把握する。

ありがとうございます。

 

ファイルの作成、特に保存場所を正しく指定するのを手伝ってほしい。

ポータブル版のMT5を使用しており、MT5MQL5Filesフォルダにファイルを作成する必要がありますが、Strategy Testerの初期化時にMT5Tester/Agent-127.0.1-3000 PSIMQL5 Filesに作成されます。

   filename = (Dir=="" ? filename : Dir+"\\"+filename)+".csv";
   handle= Common ? FileOpen(filename,FILE_CSV|FILE_COMMON|FILE_READ|FILE_WRITE|FILE_SHARE_READ) :
                        FileOpen(filename,FILE_CSV|FILE_READ|FILE_WRITE|FILE_SHARE_READ);
 
Aleksey Vyazmikin:

ファイルの作成、特に保存場所を正しく指定するのを手伝ってほしい。

ポータブル版のMT5を使用しており、Strategy Testerの初期化時にMT5MQL5Filesというフォルダにファイルを作成する必要がありますが、MT5Tester/Agent-127.0.0.1-3000に作成されています。

純粋なMQLに解はない。WinAPIを使用する必要があります。または手書きで)))

ファイルの配布方法は、安全性を考慮して特別に作られたものです。

 
Ihor Herasko:

純粋なMQLに解はない。WinAPIを使用した場合のみ。または手書きで)))

このファイルの配布は、セキュリティ上の理由から行われたものです。

The optimizer stores data not in folder of agents, but in folderMT5MQL5 Files - it is not logical.オプティマイザがデータをエージェントのフォルダではなく、MT5MQL5Filesという フォルダに保存する。

 
if(crossed==1)
     {
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {

このコードで注文する際に、別のマジックナンバーを設定するにはどうしたらよいですか?この汎用品とは異なる -。

int OnInit()
//---
   m_trade.SetExpertMagicNumber(m_magic);
//---
 
ilyav:

このコードで注文する際に、別のマジックナンバーを設定するにはどうしたらよいですか?この汎用品とは異なる -。

別のマジシャンにオープニング・オーダーを出す前に、目的のマジシャンでこの行を実行します。次に、マジシャンを元の場所に戻します。
 
必要な注文数を 設定する関数を作る方法を教えてください!例えば、指定した数の注文をそれ以上出さずに開くなどです。
 
MQL-4のOrderSend関数の最後のパラメータです。

arrow_color=clrNONE[in] チャート上のオープニングの矢印の色 です。CLR_NONEの場合 - 矢印はありません。MT5では、矢印は常に表示され、MqlTradeRequest構造体に対応するパラメータはありません。どのように対処しているのですか?チャート上で簡単に行えます。ただし、そのシンボルに対して別のチャートが開かれている場合は、もう一度やり直す必要があります...。


 
Лауреат:
正しい注文数を 設定する関数を作る方法を教えてください!例えば、指定した注文は開くが、それ以上は開かないようにしたいのです。
if(OrdersTotal() < OrdersMax) OrderSend(...); else Alert("The required number of orders is opened");
 
Artyom Trishkin:
他のマジシャンに開封の注文を出す前に、目的のマジシャンにこのセリフを実行してください。次に、マジシャンを元の場所に戻します。


if(crossed==1)
     {
      m_trade.SetExpertMagicNumber(m_magic2); // меняем мэджик на новый
      double sl=(InpStopLoss==0)?0.0:m_symbol.Bid()+ExtStopLoss;
      double tp=(InpTakeProfit==0)?0.0:m_symbol.Bid()-ExtTakeProfit;
      m_trade.Sell(InpLots,m_symbol.Name(),m_symbol.Bid(),
                   m_symbol.NormalizePrice(sl),
                   m_symbol.NormalizePrice(tp));
      m_trade.SetExpertMagicNumber(m_magic);  // меняем мэджик на оригинал
      datetime time=TimeCurrent();
      for(int i=0;i<4;i++)
        {
そうなんですか?ありがとうございました。
理由: