MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 46

 
540が出た...
 
VOLDEMAR:
みんな、もし時間があれば、最新版のウェブインストールを送ってください、ありがとう。


これが540です。

from C:UsersXXXXXX AppData

 
ENUM_TIMEFRAMESは、すべてのタイムフレームが動作するか、標準のMT4タイムフレームのみが動作するか、タイムフレームの質量を選択することができます?
 

540にアップグレード後。MEは迷走している。端末は/portableスイッチで起動します。MEも/portableスイッチから始めるべきでしょう。端末からは、F4でMEが起動しない。


画面は、ターミナルからデータディレクトリを開いたところです。正しく、エディタが設置されています。

端末を再起動後、端末のF4キーでMEをオープン。

この仕組みは面白いですね。

  1. ターミナルでアップデートが表示されない。端末を再起動する。1.
  2. ターミナルにアップデートがダウンロードされたと表示される。端末を再起動する。2.
  3. 端末がロードされ、変更を要求される。私はそれを許します。ターミナルが勝手に再起動する。3.
  4. 自動再起動後、ターミナルが設定を忘れ、以前のウィンドウ、インジケータ、テンプレートがないランダムな構成で開きます。 端末を再起動する。4.
  5. 再起動後、ターミナルは以前の設定を「リコール」します:必要なチャートとインジケータ、テンプレートを開きますが、...端末がエディタを "失い"、ジャーナルに "見つからなかった "と書き込む。端末を再起動する。5.
  6. ターミナルがロードされ、チャート、設定、テンプレート、インジケータなど、すべてが正常に動作するようになりました。MEが見つかり、実行される。6.
同じモードで更新・継続するために、端末の再起動が計6回あります。
 
artmedia70:

540にアップグレード後。MEは迷走している。端末は/portableスイッチで起動します。MEも/portableスイッチから始めるべきでしょう。端末からのMEはF4で始まらない。


お問い合わせありがとうございます、確認します。
 
extern string     symbol        = ""  ;

void OnTick()
  {
string sy = sym();
double ask = MarketInfo(sy,MODE_ASK);
  }

string sym    ()
{ 
 string symm = symbol;
 if ( symm == "" ) 
 symm=Symbol () ;
 
 return (symm);

メッセージの洪水

 

ここで謝っておくが...。すべてのコントロールパスが値を返すわけではない」という警告は、どういう意味ですか?

このベータ版でコンパイルするとこのような変色が出てくるので、何について、何について、なのか、よくわかりません。

ありがとうございます。

 
St0nE:

ここで謝っておくが...。すべてのコントロールパスが値を返すわけではない」という警告は、どういう意味ですか?

このベータ版でコンパイルするとこのような変色が出てくるので、何について、何について、なのか、よくわかりません。

ありがとうございます。

コードアルゴリズムが実行できるいくつかの variant は値を返さないかもしれません。

例えば、Switch()関数があるが、default: return()があるべき場所にオプションがない場合です。

 

返信ありがとうございます!そのようなバグがありそうなコードの一部を調べてもらえないでしょうか、なかなか手が出せません...。

bool isDodgi(string TypeOrder, int NumBar) // 
{ 
  double Price1=0, Price2=0, Price3=0;

  if (TypeOrder=="BUY") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=Low[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=Low[NumBar];
    }
    if (((Price2-Price3)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  if (TypeOrder=="SELL") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=High[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=High[NumBar];
    }
    if (((Price3-Price1)/(Price1-Price2))>=2) {
      return(true);
    }
  }
}
 
St0nE:

返信ありがとうございます!そのようなバグがありそうなコードの一部を調べてもらえないでしょうか、なかなか手が出せません...。

bool isDodgi(string TypeOrder, int NumBar) // 
{ 
  double Price1=0, Price2=0, Price3=0;

  if (TypeOrder=="BUY") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=Low[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=Low[NumBar];
    }
    if (((Price2-Price3)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  if (TypeOrder=="SELL") {
    if (Cut_Digits(Open[NumBar])==Cut_Digits(Close[NumBar])) {
      return(true);
    }
    if (Cut_Digits(Open[NumBar])>Cut_Digits(Close[NumBar])) {
      Price1=Open[NumBar];
      Price2=Close[NumBar];
      Price3=High[NumBar];
    }
    if (Cut_Digits(Close[NumBar])>Cut_Digits(Open[NumBar])) {
      Price1=Close[NumBar];
      Price2=Open[NumBar];
      Price3=High[NumBar];
    }
    if (((Price3-Price1)/(Price1-Price2))>=2) {
      return(true);
    }
  }
  ТУТ КОСяК ( return() где?)
}