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

 
Rosh:
サービスデスクに、すべての詳細(必要であれば専門家を添付)を書いてください。より早くなります。
オッケーです。今日は必ずやります。でも、一般的な発展のために、同じように2、3質問させていただきます。:)
mql5 です。
配列など、大きなサイズのローカル関数変数を使用している可能性があります。
次のビルドでは、32ビット端末の場合、対応するコンパイラープロパティ#property stacksize でスタックサイズを制御することができます。

32ビット端末だけの問題なのでしょうか?x64を持っています。ローカル関数変数、例えば配列のサイズが 大きい...」はどのように理解すればよいのでしょうか?"? 最終的にスタックがオーバーフローしてしまうのは、どの程度の大きさであるべきなのでしょうか?
 
tol64:
これは32bit端末だけの問題なのでしょうか?x64を持っています。 ローカル 関数変数、例えば配列のサイズが大きい...」はどのように理解すればよいのでしょうか?"? スタックがオーバーフローしてしまうのは、どの程度の大きさであればよいのでしょうか?
いや、32ビット端末だけの問題ではない。しかし、32ビット端末での解決策は今のところできているが、64ビット端末ではまだ256Kbというスタック制限に縛られている。
しかし、プログラマが必要なスタックサイズをプロパティを使って手動で指定しない場合、ターミナル上のEX5はデフォルトのスタックサイズ(256Kb)で動作することになる。

ビッグサイズについて。
関数内の変数宣言(静的変数を除く)ごとにスタック上の領域が確保され、ローカル変数のスタック上の領域確保は呼び出しごとに発生する。

したがって、ある関数が64Kbのローカル変数を持つ場合、スタックスペースはその中に入れ子で3コール分あり、4コールでスタックのオーバーフローが発生する(スタックの一部が端末の内部ニーズに使用されるため)。したがって,大きなローカルデータが必要な場合は,ダイナミックメモリを使用した方がよい.関数を入力すると,ローカルに必要なメモリがシステムに確保され(new,ArrayResize),関数を終了すると,メモリが消去される(delete,ArrayFree).
 

こんにちは。

この問題は理解できない。

filehandle=FileOpen("My\\Symbols.txt",FILE_READ|FILE_TXT|FILE_ANSI);

デバッグでは問題なく動作し、MT5MQL5Fileでもファイルが読み込めます。

テスターで実行すると、「Symbols.txt file could not be opened, error 5004」と表示され、Handel -1が表示されます。

MT5testerのFileフォルダにも挟んだのですが、また見られず、そこのファイルを全く殺してしまいます)。

同時に、説明文にはこうあります。

"The file is opened in folder of the client terminal in subfolder MQL5files (or folder_agent_testing)

"The function searches for the file in local folder (MQL5 FilterFiles or MQL5Tester FilterFiles in case of testing)."

ヘルプに書いてあるように、"MQL5TesterFiles "というフォルダ がないのですが?

何が間違っているのか、どうすればこの問題を克服できるのか。

ご返信ありがとうございました。

 

プロパティ tester_file を使ってみてください。

#property tester_file "My\\Symbols.txt"
 
Rosh:

プロパティ tester_file を使ってみてください。

Ugh-uh-x It seemed to help in MT5tester, put in again, then it works with theproperty.

ありがとうございました。

 
Fia:

テスターでHandle -1、エラー5004で再試行しました。

他に何があるのかわかりません。明らかにファイルが見つかりませんが、デバッグ時にはすべて見えています。

MQL5TesterのFilesに コピーします(あらかじめフォルダを 作成しておきます
Документация по MQL5: Файловые операции / FolderCreate
Документация по MQL5: Файловые операции / FolderCreate
  • www.mql5.com
Файловые операции / FolderCreate - Документация по MQL5
 
uncleVic:
MQL5TesterのFilesに コピーします(あらかじめフォルダを 作成しておきます

試しに、手動でそのようなフォルダを作成し、私のファイル(サブフォルダ付き、#property tester_fileを 無効)を置いてみましたが、テスターではどのような方法でも見つけることができません。

そして、#property tester_file を接続すると、不思議なことに動作します。

しかし、時々、彼はMT5testerのフォルダとファイルをクラッシュします。おそらく、#property tester_fileを 無効にすると、彼はそこにすべてをクラッシュさせるからです。

Yes, now I found out that I change code (anywhere) in mq5 file (from which txt is called), then compile it and go to tester, it cracks everything in MT5testeragent000MQL5File.

奇跡のようなものだが、少なくとも効果はある--。

 
Fia:

試しに、手動でそのようなフォルダを作成し、私のファイル(サブフォルダ付き、#property tester_fileを 無効)を置いてみましたが、テスターではどのような方法でも見つけることができません。

そして、#property tester_file を接続すると、不思議なことにうまくいくのです。

しかし、時々、彼はMT5testerのフォルダとファイルをクラッシュします。おそらく、#property tester_fileを 無効にすると、彼はそこにすべてをクラッシュさせるからです。

Yes, now I found out that I change code (anywhere) in mq5 file (from which txt is called), then compile it and go to tester, it cracks everything in MT5testeragent000MQL5File.

奇跡のようなものですが、少なくとも効果があるのは事実なので、それはそれでいいと思います。

W7の場合、Document and Setting/.../MetaQuotes/Common/Filesのディレクトリに置くか、UACを無効にする。

追記:名前のスペルが正しいか、どのようなレイアウトで書かれているか(コピーでも良い)、名前の最後にスペースがあるか、などを再度確認しました。

 
Urain:

W7の場合、Document and Setting/.../MetaQuotes/Common/Filesに置くか、UACを無効にしてください。

追記:名前のスペルが正しいか、どのレイアウトに名前が書かれているか(コピーした方が良い)、名前の最後にスペースがあるか、などを再度確認しました。

本当にWin7 64bitですが、UACは0です。

C:\Documents and SettingsAll Users TiexTerminal CommonFiles I put my folder and file there, didn't help, doesn't find the file in the tester.

はい、私はすべてが名前と正しいと思う、テスト作品(とデバッグ作品に任意の )で#プロパティテスターファイルで、しかしテスターで唯一の#プロパティテスターファイルを介してとしてを除いて、方法はありません。

また、上記のようにmq5を変更してコンパイルした後にファイルがkillされる問題で(私はそのようなレイアウトになっています)。

 

ヘルプにあからさまな嘘が書いてありますね。

CLBufferWrite

OpenCLバッファに配列を書き込みます。

CLBufferWrite()
intbuffer//OpenCLバッファへのハンドル
const void&data[]// 値の配列
uintoffset=0// どの要素からかを 指定します.
voidsize=WHOLE_ARRAY// 値の個 数,デフォルトは配列全体.
);

パラメータ

......

オフセット

.....

大きさ

[in] 書き込む値の 数。デフォルトでは、配列のすべての 値が OpenCL バッファに書き込まれます。

......

実際には値ではなく、バイト 数(!!)を書き込んでいます。

私は2晩かけて、このインジケーターをデバッグ したんだ。その理由は?- あなたの文章を信じたから...。

FIX IT NOW !!!:))

// デフォルトの ( size=WHOLE_ARRAY) は正しく動作するため、時間内に解決しなかった。