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

 
Interesting:

司書の新語、あるいはその隣のすごい...。


このライブラリを使用したExpert Advisorを作成し、すべて動作することを確認しました。Expert Advisor、このライブラリ、いくつかのMQL5とMQHのファイルをアーカイブにしました。アーカイブを開発者に渡し、テストしてもらいました。


しかし、お客様からは「すべて正常に動いている」と言われるのだから不思議である。磁気嵐かな?
 
Interesting:

ターミナルはディレクトリにあるコンパイルされたライブラリを(*.ex5として)見ますが、頑なにそれを「洗浄」するのです。

このような動作になる理由をいろいろと試した結果、オリジナルのファイル(*.mq5として)をライブラリのあるフォルダに置くことにしました。チャートにEAを追加してみたら......なんと、動いた。

追記

ちなみにExpert Advisor本体も同様で、*.ex5ファイルがしつこく削除される...。:(


これは非常にまずい症状だ!

昨日も同じように食べました。端末のアップデート後、頑なにソース付きのファイルを探し、ソースなしでコンパイルしたファイルを削除しました。

サイトからの正常な再インストール後、「バグ」は解消されました。

今日もまた自動更新後に再起動を要求されました。どうやら「バグ」は取り除かれたようです。でも、更新はウェブサイトからだけと決めています。

なぜ、そしてなぜ、ターミナルにソースファイルが必要なのか?

 

По ходу пьесы у меня созрел ряд вопросов:

1.ライブラリが .ex5 でしか表現されない場合、Expert Advisor が動作しないのはなぜですか?

2.なぜ端末はこのファイルをディレクトリから頑なに削除するのでしょうか?

3.端末のログには、なぜ上記すべてについて明確なコメントがないのでしょうか?

4.なぜ、ドキュメントにこの動作が可能であると書かれていないのでしょうか?


そして、最後に5つ目の質問ですが、このような場合、どのように対処すればよいのでしょうか、また、何が間違っているのでしょうか(ターミナルでEX5ファイルが1つ見つからず、何か、例えばヘッダーファイルやライブラリそのものを検索しているのかもしれません)。


追記

ちなみにExpert Advisor自体にも同じバグがあり、頑なに*.ex5ファイルを削除してしまうのですが...。:(



なぜか、サービスデスクにあなたのリクエストが表示されません。
 

EAの強制再コンパイルは、コンパイラのバージョン変更に伴うものです。新しいコンパイラは、以前のバージョンと互換性のない、わずかに異なるコードを生成します。

 
stringo:
なぜか、サービスデスクにあなたのリクエストが表示されません。
まあ、それはなかったことにして...。:)
 
stringo:

EAの強制再コンパイルは、コンパイラのバージョン変更に伴うものです。新しいコンパイラは、以前のバージョンと互換性のない、わずかに異なるコードを生成します。

なるほど、279で作っていたので、まさか新作でこんな変化があるとは...。


追記

将来的には、ターミナルがオリジナルバージョンを検出した場合、強制的にファイルを削除 するのではなく、ex5をアップデートする必要があることをログにバカスカ書き込ませるようにできないでしょうか。

私は専門家が働きたくない理由を理解しているつもりですが、お客様は気づいていないかもしれません...。

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 

新しいビルドのEX5ファイルは活発に更新されているため、端末は古いバージョンを削除しています。

ただ、281ビルドで、またバージョンが変わりましたね。

しばらくするとプロセスが安定し、コンパイル済みファイルのバージョン変更を停止する予定です。
 
Interesting:

今後のために - ターミナルがオリジナルバージョンを検出した場合、強制的にファイルを削除 するのではなく、ex5をアップデートする必要があることをログに書き込ませることはできないのでしょうか?

私は専門家が働きたくない理由を理解しているつもりですが、お客様は気づいていないかもしれません...。

古いバージョンを削除する根拠を記録するのは賢明なアイデアです。
 
Renat:
そうですね、古いバージョンの削除を正当化するためにログに書き込むのは賢明な考えだと思います。

できれば、ユーザーの許可なく、一切削除しないことが望ましい。少なくとも、ターミナルでex5と同じ名前のソースファイルが見つからなかった場合。


ターミナルがソースファイルを見つけた場合は、自動的に再コンパイルできますが、そうでない場合は、必要な場合だけ知らせてください。


追記

基本パッケージに含まれないファイルを扱う場合は、この方法が正しいと思います。そして、ユーザーがこれらのファイルを復元できるかどうかは誰にもわからない...。

 

とヘルプに書いてあります。

int day_of_year; // 年の通し番号(2月1日は32日 目)。

なぜかいつも31と表示される((

添付のスクリプト

ファイル内の

2010.02.01 00:00:00 143.832 143.839 143.758 143.771 186 2010 2 1 0 0 1 31

ファイル:
666.mq5  3 kb
理由: