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

 

こんにちは。こんな悩みがあるんです、簡単なことかもしれませんが、もう疲れました。

履歴でEAをテストしているのですが、このエラーが出続けています。

12:17:41 TIC: ロードに成功しました。
12:19:07 Test Generator: unmatched data error (2010.07.08 00:00 の安値 87.6580 は最下位のタイムフレームから到達していない、安値 87.6590 は不一致)
12:19:07 Test Generator: unmatched data error (volume limit 6029 at 2010.08.30 12:00 exceeded).
12:19:09 Test Generator: unmatched data error (2010.10.12 16:00 の高値 81.8880 が最下位のタイムフレームから到達していない、高値 81.8470 がミスマッチ)
12:19:09 Test Generator: unmatched data error (2010.10.12 16:00 の安値 81.6610 は最安値タイムフレームから到達していない、安値 81.7620 は不一致)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

低音量、高音量、どの値を変えればいいのかわからない。

MiniLotSizeを0.1、1、0.01に変更し、MaxLotSizeも変更して0にしました(ブローカー設定)が、まだ取引されません。

完全な失敗作・・・。 どのような値を変更すればよいのかわかりません... 助けてください。 本当にありがたいのですが...。

 
A2dn:

こんにちは。こんな悩みがあるんです、簡単なことかもしれませんが、もう疲れました。

履歴でEAをテストしているのですが、このエラーが出続けています。

12:17:41 TIC: ロードに成功しました。
12:19:07 Test Generator: unmatched data error (2010.07.08 00:00 の安値 87.6580 は最下位のタイムフレームから到達していない、安値 87.6590 は不一致)
12:19:07 Test Generator: unmatched data error (volume limit 6029 at 2010.08.30 12:00 exceeded).
12:19:09 Test Generator: unmatched data error (2010.10.12 16:00 の高値 81.8880 が最下位のタイムフレームから到達していない、高値 81.8470 がミスマッチ)
12:19:09 Test Generator: unmatched data error (2010.10.12 16:00 の安値 81.6610 は最安値タイムフレームから到達していない、安値 81.7620 は不一致)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

低音量、高音量、どの値を変えればいいのかわからない。

MiniLotSizeを0.1、1、0.01に変更し、MaxLotSizeも変更して0にしました(ブローカー設定)が、まだ取引されません。

完全な失敗作・・・。どのような値を変更すればよいのかわかりません... 助けてください。本当にありがたいのですが...。

これらのメッセージは、異なる時間軸のヒストリカルデータの不整合を示唆しています。取引設定は関係ありません。すべてのデータを手動で再ダウンロードしてください。

PS この質問はMT4に関するものであり、MQL5に関するものではありません。

 
stringo:

最大化されたチャートでの ChartGetInteger(chartID,CHART_WIDTH_IN_PIXELS) 関数は、スクリーンショットが現在のチャートからでない場合、最大化前のウィンドウサイズを出力しますが、これは間違っているようです。
 

ChartIndicatorAdd() 関数でチャートにインジケータを 追加しています。さて、どの関数を使えばチャートから削除できるのかがわかりません。

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - Документация по MQL5
 

クラスのコンストラクタを呼び出すときにパラメータを渡すつもりですか? クラスで動的配列を扱うのは問題です。

アクセス指定子 private は、継承する際に、public を指定した親のメソッドを隠さない。

ZS:ヘルプを修正する - 例「MQL5リファレンス / 言語の基礎 / オブジェクト指向プログラミング / 継承」。

Пример:

//--- Базовый класс Фигура
class CShape{}
  {.........

以下

//--- производный класс Круг
class CCircle{} : public CShape        // после двоеточия указывается базовый класс,
  {.................

{がコンパイルされない

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - Документация по MQL5
 

開発者の皆様へ。

PositionTotal()とOrdersTotal()は、初期化ブロックにおいて正しく動作しないことが判明しました(少なくとも私の意見では正しくありません)。

何が問題なのか。

取引口座変更後に初期化を行った場合、_UninitReason = 6(REASON_ACCOUNT)となり、これらの関数は0を返します。

役職や命令は実際に存在するものの

追記

口座変更時に取引できるようにし、エキスパートの初回起動時にある程度コントロールできるようにしています。

したがって、Expert Advisorは、これが新しいアカウントでの最初の開始であることを認識しますが、初期化ブロックにポジションと注文が存在するかどうかを判断することはできません。

少なくとも、ティック処理のブロックではすべて正常に動作し、これらの関数はポジションと注文の数に関する実際のデータを返します。

動作しているようですが、たまにどころか、不思議と動作しています。うまくいくときもあれば、そうでないときもある......。


ピーピーエス

何秒寝ると治るというのは理解できたが、今度は何秒か調べなければならない...。
 
IgorM:

ZS:ヘルプを修正する - 例" MQL5リファレンス/ 言語の基礎 / オブジェクト指向プログラミング / 継承 "

以下

{はコンパイルされません。

投稿ありがとうございます、修正しました。
 
Rosh:
ご投稿ありがとうございます、修正いたしました。

前回の記事で説明しきれなかったかもしれませんが、クラスのコンストラクタを 操作する場合、通常は次のようになります。

http://www.delphisources.ru/pages/faq/faq_delphi_basics/Constructor.p hp.html、http://ru.wikipedia.org/wiki/Конструктор_(プログラミング)

MQL5 Reference / Language Fundamentals / Data Types / Structures and Classes )という制約があり、不愉快な思いをしています。

"コンストラクタは戻り値の型がありません(void型は指定できます)。MQL5では、コンストラクターは入力パラメーターを持ちません。したがって、各クラスはコンストラクタを1つだけ持つことができます。"

しかし、標準的なコンストラクタを使用すると(つまり自分で作成しない、私のクラスは配列の動的メモリ割り当てを使用する)、「Array out of Range」エラーが発生します。これは、クラスの型変数を宣言した場合、つまりnew演算子を使用しない場合には発生しないものです。

//index_currency    aud,cad; // работает
index_currency    *aud,*cad; // не работает

int OnInit(){
   aud = new index_currency; cad = new index_currency; // неправильно работает
   aud.create(AUDX,100,PERIOD_M1,PRICE_CLOSE);
   cad.create(CADX,100,PERIOD_M1,PRICE_CLOSE);

クラスインスタンスへのポインタを 1 つだけ使用してもエラーにはなりませんが、 * : index_currency aud,cad を使わずに宣言するとエラーになります。

Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
Delphi Constructor - Ключевое слово определяет процедуру Name конструктора для класса (справочник функций и процедур - Delphi Sources)
  • Andrey Simagin
  • www.delphisources.ru
1 type Class declaration     ...     Constructor Name; {Overload;}     ...   end; 2 type Class declaration     ...     Constructor Name(Arguments); {Overload;}     ...   end; Ключевое слово Constructor определяет процедуру Name конструктора для класса. При создании объекта, вы вызываете метод Constructor класса, а не объекта...
 
IgorM:

しかし、標準的なコンストラクタを使用すると (つまり、独自に作成するのではなく、私のクラスでは配列の動的メモリ割り当てを行っています)、「Array out of Range」エラーが発生します。このエラーは、クラス型の変数を宣言した場合、つまり new 演算子を使用しない場合は発生しません。

MQL5におけるオブジェクトの生成と破棄の順序」「MQL5でポインターを使用 する場合」の記事をお読みください。
 
IgorM:

クラスインスタンスへのポインタが 1つ ならエラーなし、2つ以上ならエラー、*: index_currency aud,cad を省略して宣言してもエラーなし

こんなことはあってはならないことです。ソースコードが必要な場合は、サービスデスクに お問い合わせください。
Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.