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

 

コンパイル時の警告が何なのか、どなたか教えてください。

truncation of constant value    me-mm-cls-v003.mqh      64      45
一般的に、コンパイルエラーや警告の記述はどこにあるのでしょうか?
 
pronych:

一般的に、コンパイルエラーや警告の説明はどこにあるかというと

MQL5リファレンス / 標準定数、列挙、構造体 / エラーコードと警告コード / コンパイラの警告を 参照してください。

そして、近隣のセクションも。

Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
Документация по MQL5: Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора
  • www.mql5.com
Стандартные константы, перечисления и структуры / Коды ошибок и предупреждений / Предупреждения компилятора - Документация по MQL5
 

驚きの謎を解き明かせ! :)

デモではすべてうまくいくのですが、テスターではテストを開始することなくハングしてしまいます。つまり、テスターが1.1%を表示したまま何も起こらず、アンドゥボタンを押すと、それぞれテストが停止するのです。

メインEAのパラメータが多いので、まだ把握できていないのですが・・・。

一般的には、このコードのビットである。現在のシリーズから放物線の 最初の点をここに定義する。

if(SLпоПервойТочкеПараболика==true)
   for(i=0;;i=i+1)
      {
      if(iLow(PERIOD_CURRENT,i+1,1)<Параболик(PERIOD_CURRENT,0.02,0.2,i+1))
         break;
      }

このコードを使用すると、テスターはハングアップしますが、SLfirstParabolic Point=falseとすると、すべてが正常に行われるようになります。現実には、どんな場合でも、すべてが正確に、エラーなく動作します。

既製のExpert Advisorとしてのコードを添付します。

ファイル:
Otladka.mq5  8 kb
 
Dmitriy2:

レディメイドEAとしてのコードを同封します。

EAを添付するのを忘れています。
 
alexvd:
EAを添付するのを忘れています。

ファイルを添付できないようです、5回ほど試しましたが...。

ps コードとして貼り付けました。

 
Dmitriy2:

ファイルを添付できないようです、5回ほど試しましたが...。

ps コードとして貼り付けました。

今確認したところ、うまくいきました。ブラウザは?ファイル名は?
 

Rosh:
Только что проверил - код вставился. Какой у Вас браузер, какое имя файла?

コードが挿入され、ファイルが添付されていない

IE8、HPホーム

ファイル名はロシア語と英語で Debug.mq5 Otladka.mq5。

私は正しいことをするのか?私は「ファイルを添付する」をクリックし、概要、ファイルを選択し、「更新」を押しています。

 
Dmitriy2:

私は正しいことをしているのだろうか?ファイルを添付」をクリックし、確認、ファイルを選択し、「更新」をクリックしています。

手順が正しく、状況が再現されている。

できるだけ早く修正します。

 
alexvd:

手順が正しく、状況が再現されている。

できるだけ早く修正します。

ええ、ありがとうございます。でも、どちらかというとコードは、テスターがハングアップする理由を早く知りたいのですが......。:)

 
Dmitriy2:

ええ、ありがとうございます。でも、どちらかというとコードがあるので、テスターがハングアップする理由を早く見つけたいのですが...。:)


無限ループのため、ハングアップしてしまいます。

ループから抜け出すには、ブレークしかない。でも、ある条件が満たされたときに休憩があるんですね。コンポーネントの1つ

Параболик(PERIOD_CURRENT,0.02,0.2,i+1)

関数内部では、毎回インジケータハンドルを取得し、データが準備できたかどうかを確認せずにコピーしています。

提案します。

1.ハンドル変数をグローバルレベルまで持っていく。

2.OnInitでインジケータハンドルを受け取る(いずれにせよパラボリックパラメータを変更することはない)。

3.インジケーターバッファから データをコピーする前に、準備完了(計算済み)かどうかを確認します - BarsCalculated(Parabolic)関数が役に立ちます。

4) 3 の項目が満たされない場合、サイクルからの出口を整理する。3は満たされていない。