エラー、バグ、質問 - ページ 1848

 
Artyom Trishkin:
MQL5でIndicatorDelete()はどうなったのですか?コンパイラが認識しない
今までもそうでした。IndicatorReleaseと 混同しています。
 
Slawa:
決してそうではありません。IndicatorReleaseと 混同しています。
またはChartIndicatorDeleteを 使用する。
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
Документация по MQL5: Операции с графиками / ChartIndicatorDelete
  • www.mql5.com
Операции с графиками / ChartIndicatorDelete - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Slawa:
決してそうではありません。IndicatorReleaseと 混同している。
邪神の仕業としか言いようがない。
 
コンパイル エラーの原因となる不要なテンプレートのオーバーロードを作成する。
template <typename T>
T Func()
{
  T Res;
  
  return(Res);
}

template <typename T>
void Func( T& Value )
{
  T Res = (MqlTick)Value;
}

void OnStart()
{
  Func<string>(); // без этой строки компилируется
  
  MqlTick Tick;
  
  Func(Tick);
}

コンパイラは、何らかの理由で

void Func( string& );
 
void OnStart()
{
  int i = {0}; // code generation error
}

コードが正しくないことは明らかですが、なぜこのような特殊なエラーが発生するのでしょうか?

 
みなさん、こんにちは!初心者です。mql4/5で、チャート(トレンドライン/レベル)上のオブジェクトの 説明に大きなテキスト(100~200文字)を表示することが可能かどうか、アドバイスをお願いします。日記をつけたい。
 
開発者の皆様、このような場合、どのようにWarningを消すのでしょうか?
template <typename T>
T GetValue()
{
  T Res; // possible use of uninitialized variable 'Res'
  
  return(Res);
}

void OnStart()
{
  MqlTick Tick = GetValue<MqlTick>();
  int i = GetValue<int>();
}
 
Renat Fatkhullin:

月曜日にはすべてを細かくチェックする予定です。

テストがないと今すぐには答えられない。

純正ダニなどを再現。

フィクスチャー
 

MQL5のオプティマイザーの結果タブに表示されるのと同じ形式で、例えば1列目に「27、366」や「18、442」のように、現在のパスの番号を取得するにはどうすればいいですか。FrameNext関数では、パス番号をulongとして取得することができます。この数字から、ユーザーに表示されるものを取り出すにはどうしたらいいのでしょうか。特別レポートで通路別の情報を表示し、通路の指定は端末と同じにする必要があります。

 
開発者の皆様、MQLでこのようなエンティティを増殖させない正常な解決策はないでしょうか?

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

文字列型のグローバルターミナル変数が必要ですか?

fxsaber さん 2017.04.10 18:25

#define  GLOBAL_VARIABLE_SET(A)                                                        \
template <typename T>                                                                 \
  datetime _GlobalVariableSet( const string Name, const T A )                         \
  {                                                                                   \
    _GlobalVariableDel(Name);                                                         \
                                                                                      \
    double Array[];                                                                   \
                                                                                      \
    const datetime Res = GlobalVariableSet(Name, _ArrayCopy(Array, _R(Value).Bytes)); \
    const int Size = ArraySize(Array);                                                \
                                                                                      \
    for (int i = 0; i < Size; i++)                                                    \
      GlobalVariableSet(GetName(Name, i), Array[i]);                                  \
                                                                                      \
    return(Res);                                                                      \
  }

GLOBAL_VARIABLE_SET(Value)
GLOBAL_VARIABLE_SET(&Value)
GLOBAL_VARIABLE_SET(&Value[])
理由: