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

 
fellow:
インジケータ・バッファの読みに違和感:最後のバーからではない((

配列と時系列におけるインデックスの方向性

インデックスの向きを変える

ArraySetAsSeries() 関数を使用すると、動的配列の要素へのアクセス方法を変更できますが、メモリに格納されるデータの方法を物理的に変更することはできません。この関数は、配列の要素のアドレス指定方法を変更するだけです。したがって、ArrayCopy() を使用してある配列を別の配列にコピーしても、コピー先の配列の内容はコピー元の配列のインデックスの向きには依存しません。

静的分散配列のインデックス付けの方向を逆にすることはできません。たとえ配列がパラメータとして関数に渡されたとしても、この関数の内部でインデックスの方向を変更しようとしても、何も起こりません。

通常の配列と同様に、インジケータ・バッファでも、時系列と同様にインデックスの方向を逆に設定することができます。つまり、この場合、インジケータ・バッファのゼロ位置にアクセスすると、対応するインジケータ・バッファの最後の値にアクセスすることになり、それは最後のバーでのインジケータ値に対応することになります。同時に、インジケーターバッファのデータの物理的なレイアウトは、前述の通り変更されません。

 

stringo:
#property tester_file "bla-bla-bla"

ロッシュ

プログラムプロパティ

テスターインジケータ

カスタムインジケータの名前。フォーマットは "indicator_name.ex5" です。テストに必要なインジケータは、対応するパラメータが定数文字列で指定されている場合、iCustom() 関数呼び出しから自動的に決定される。その他の場合(IndicatorCreate() 関数の使用、またはインジケータ名を定義するパラメータに定数でない文字列を使用)には、このプロパティが必要です。

テスターファイル

テスターのファイル名。拡張子を指定し、二重引用符で囲む(定数文字列として)。 指定されたファイルはテスターに渡され、操作されます。 テスト用の入力ファイルが必要な場合は、常に指定する必要があります。

テスタライブラリ

二重引用符で囲まれたライブラリ名(拡張子付き)。ライブラリは、dllとex5の両方の拡張子を持つことができます。 テストに必要なライブラリは自動的に検出されます。ただし、いずれかのライブラリがカスタム インジケータで使用されている場合は、このプロパティで指定する必要があります。

分かりやすい説明ありがとうございます。とても便利な機能です。ただ、この質問がこのコーナーで検索されるとは思いもよりませんでした。

エージェントからファイルにデータを返すのは、ちょっと奮発しました。

インターネット上でファイル全体を転送することと、値を返すこととは、まったく別の作業であることは明らかです。

 
Urain:

分かりやすい説明ありがとうございます。とても便利な機能です。ただ、この質問がこのコーナーで調べる必要があるとは思ってもみなかった。

エージェントからファイルにデータを返すのは、ちょっと奮発しました。

インターネット上でファイルごと渡すのは、値を返すのとは全く違うサイズの作業であることは明らかです。

設定/データファイルをリモートエージェントに渡すことは、タスクの半分に過ぎません。

また、OnTester()が 返す値(ユーザー定義関数の最適化の場合、まさにファイルの受け渡しで踊る理由)をローカルマシンに戻すにはどうしたらいいのでしょうか?これは、ユーザープログラムではなく、テスターオプティマイザーが取得する戻り値です(そうでなければ、リモートエージェントを使った最適化は不可能です)。

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

設定/データファイルをリモートエージェントに渡すことは、タスクの半分に過ぎません。

また、リモートエージェントの OnTester() が 返す値(ユーザー定義関数の最適化の場合、ファイル転送ダンスはそのためのもの)をローカルマシンに戻すにはどう すればいいでしょうか?これはテスターオプティマイザが取得する戻り値で(そうでなければ、リモートエージェントを使った最適化は不可能)、ユーザプログラムではありません。

ログファイルを解析するため。
 
Urain:
ログファイルを解凍する。
うーん、確かに。
 

iCustom indicatorがロードできなくなりました。コードには何も変更がなく、ビルド362では正常に動作していました。

2010.12.14 23:18:05 Core 1 2010.01.04 00:00:00 インジケータ43がロードできないためエキスパートが削除されました[4802]。
2010.12.14 23:18:05 Core 1 FEOP EURUSD,H1 のロードに失敗しました。

そうしないと、多少なりとも使える端末を手に入れる作業が終わらないから......。

 
Voodoo_King:

iCustom indicatorがロードできなくなりました。コードには何も変更がなく、ビルド362では正常に動作していました。

2010.12.14 23:18:05 Core 1 2010.01.04 00:00:00 インジケータ43がロードできないためエキスパートが削除されました[4802]。
2010.12.14 23:18:05 Core 1 FEOP EURUSD,H1 のロードに失敗しました。

そうしないと、多少なりとも使える端末を手に入れる作業が終わらないから......。

別途再コンパイルしてみる
 
ビルド368にアップグレードした後、エキスパートとインジケータを再コンパイルする必要があります。
 

私も似たような悩みを抱えています。ストラテジーテスターでは 動作しません。

2010.12.14 22:01:07 Core 1 2010.01.01 00:00 Expert removed because indicator 43 cannot load [4802]
2010.12.14 22:01:07 Core 1 loading of Fatpanelpanel EURUSD,M1 failed.

この問題は、以前に解決しています。

#property tester_indicator "Fatpanel//panel.ex5"。

すべて再コンパイルされています。

 
同様の問題。ターミナルを更新し、すべてのインジケータを再コンパイルし、数回チェックしました。しかし、テスター(ビルド368)でも同じエラーが発生しました。