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

 
Kolya32:
固定)
今夜は、シンボルとマジックでフィルタリングした案件のチェックを書いてみます。
 
Alexey Viktorov:

これはMQL5自体にある

取引は複数のEAで行い、それぞれMagicを持っています。 この機能のマニュアルを読んでいますが、今のところ機能で全て行う方法はバツグンにありません......。
bool  HistorySelect(
   datetime  from_date,     // с даты
   datetime  to_date        // по дату
   );
 
Vladimir Karputov:
夕方、シンボルとマジックにフィルターをかけて、ディールチェックを書きます
ありがとうございました。)
 
Kolya32:

MQL5で、今日取引が行われたかどうかをチェックするFUNCTIONがどうしても必要なのです。Yesならtrue、Noならfalse(もちろんMagicを設定した場合)。MT4でこの機能を使っています。

機能前に挿入

#include <MT4Orders.mqh>

#define False false
#define True  true

int TimeYear(const datetime dt)
{
  MqlDateTime mdts;
  TimeToStruct(dt, mdts);
  return mdts.year;
}

int TimeMonth(const datetime dt)
{
  MqlDateTime mdts;
  TimeToStruct(dt, mdts);
  return mdts.mon;
}

int TimeDay(const datetime dt)
{
  MqlDateTime mdts;
  TimeToStruct(dt, mdts);
  return mdts.day;
}

int Day()   { return(TimeDay(TimeCurrent())); }
int Month() { return(TimeMonth(TimeCurrent())); }
int Year()  { return(TimeYear(TimeCurrent())); }

と、すべてがクロスプラットフォームになります。

 
fxsaber:

関数の前に挿入する

で、すべてがクロスプラットフォームになります。

ありがとうございます。とても参考になりました。やっぱり素敵な図書館)
 

こんにちは。

パラメータ(最適化のための外部パラメータ)を持つカスタムインジケータが あるとします。テスターはExpert Advisorのパラメータを見るだけです。最適化のためにこれらのパラメータを列挙するにはどうしたらよいですか?

テストケースとして標準ライブラリからインジケータを取り出し、そこにこのパラメータを追加しました。Expert Advisorでファイル内に入力を宣言すると、このパラメータをインジケータにドラッグすることができません。私の理解では、Expert Advisorは、インジケータそのものではなく、インジケータのシグナルを使用します。

また、標準ライブラリのコンポーネントの相互作用の説明はどこで読めますか?

P.S. ハイライトやパーサを備えた良いIDEがどれほど恋しいことか。MetaTraderの標準エディタより良いものがあるのでは?

 
Kolya32:
ありがとうございます。とても参考になりました。やっぱり素敵な図書館)

おっと、間に合わなかったか。まあ、いいや、気にしないでください :)

 
Kolya32:
ありがとうございます。とても参考になりました。やっぱり素敵な図書館)

アンダーキム機能を作った

 

は、最初のプリントアウトの結果である0が何を意味するのかがわからないのですが?

void OnStart()
  {
Print(GetFilling()); 					// 0
Print(EnumToString(GetFilling())); 			// ORDER_FILLING_FOK
Print(SymbolInfoInteger(_Symbol,SYMBOL_FILLING_MODE)); 	// 1
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Возвращает тип заполнения                                        |
//+------------------------------------------------------------------+
ENUM_ORDER_TYPE_FILLING GetFilling()
  {
   int filling=(int)SymbolInfoInteger(_Symbol,SYMBOL_FILLING_MODE);

   if(filling==1)
      return(ORDER_FILLING_FOK);
   else if(filling==2)
      return(ORDER_FILLING_IOC);
   return(WRONG_VALUE);
  }

 
Fast528:

は、最初のプリントアウトの結果である0が何を意味するのかがわからないのですが?


これは、関数がリストの最初の値を返したことを意味します。そして、その値には、すべての配列と同様に0から番号が振られる。

理由: