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

 

こんにちは。

昨日、MT5がアップデートされる前に、私のスクリプトは文字通り2秒でコンパイルされました。今日、アップデート後、コンパイルに5分近くかかりました...。ずっとこのままなのでしょうか?:(

 
alexandr_trader:

こんにちは。

昨日、MT5がアップデートされる前に、私のスクリプトは文字通り2秒でコンパイルされました。今日、アップデート後、コンパイルに5分近くかかりました...。ずっとこのままなのでしょうか?:(

端末のビットレートは?

どのビルドからどのビルドにアップデートされましたか?

スクリプトのソースコードを添付するのを忘れたのでしょうか?

 
alexandr_trader:

こんにちは。

昨日、MT5がアップデートされる前に、私のスクリプトは文字通り2秒でコンパイルされました。今日、アップデート後、コンパイルに5分近くかかりました...。ずっとこのままなのでしょうか?:(

そうですね、5分というのはとても長い時間です。
あるいは、コードを簡略化してみてください(大きな(複数行の)関数があるかもしれません)。

サービスデスクにリクエストを 作成し、コードを添付していただければ、そのような長いコンパイル時間の理由を確認します。
 
Ilyas:
そうですね、5分というのは多いですね。
オプションとして、コードを単純化してみてください(多分、大きな(複数行の)関数があると思います)。

サービスデスクにリクエストを 作成し、コードを添付していただければ、コンパイルに時間がかかる理由を確認します。
アレクセイ・ダ

端末のビットレートは?

どのビルドからどのビルドにアップグレードしたのですか?

スクリプトのソースコードを添付するのを忘れたのでしょうか?

Win7 64

MT5 Alfa-Forex 5.00 built 1210 30 okt 2015

どのビルドからアップデートしたのかわからない。

スクリプトのコードが実に複雑で面倒なのです。しかし、以前は瞬時にコンパイルできた原始的なスクリプトでも、今では0.5秒でコンパイルできる。

もちろん調整しますが、今はコンパイルがウンザリするほど遅いことを念頭に置いているんですね。今後、修正していただければと思います。

リーズナブル。


 
alexandr_trader:

確かにスクリプトのコードは複雑で面倒です。しかし、以前は瞬時にコンパイルできた原始的なスクリプトでも、今では0.5秒でコンパイルできる。

もちろん調整しますが、今はコンパイルが非常に遅くなっていることを頭に入れておいてください。今後、修正してほしい。

最新のビルドでは、コンパイル時に新しい最適化メカニズムがデフォルトで有効になっています。その結果、MQLで書かれたプログラムの実行 速度が数倍に向上しました。

その代償として、コンパイル時間が増加し、「重い」ケース(大規模な複数行の関数)では、3秒から16分へと桁違いに増加しました。

アルゴリズムを単純化することが、今のところコンパイルを高速化する唯一の方法です。

 
Alexey Da:

最新のビルドでは、コンパイル時に新しい最適化機構をデフォルトで搭載しています。その結果、MQLで書かれたプログラムの実行 速度が数倍に向上しました。

その代償として、コンパイル時間が増加し、「重い」ケース(大規模で複数行の関数)では、3秒から16分へと桁違いに増加しました。

アルゴリズムの簡略化は、今のところコンパイルを高速化する唯一の方法です。

開発者なら誰でも、プログラムを速く走らせるために、コンパイル時間を犠牲にすると思います :)

みんな頑張ったね...。

 
Alexey Da:

最新のビルドでは、コンパイル時に新しい最適化機構をデフォルトで搭載しています。その結果、MQLで書かれたプログラムの実行 速度が数倍に向上しました。

その代償として、コンパイル時間が増加し、「重い」ケース(大規模で複数行の関数)では、3秒から16分へと桁違いに増加しました。

アルゴリズムの簡略化は、今のところコンパイルを高速化する唯一の方法です。

私たちは、宇宙ステーションのプログラミングをしているわけではありません。ランタイムとコンパイル速度のどちらを最適化するかは、ユーザー自身に選択させるのでは?

私自身は、1行のコードの変更に毎回16分も待つのは嫌なので、今のところこの問題には遭遇していないのですが。

しかし、最終製品を完全にビルドし、デバッグしたときに一度だけコンパイルすることができます。意味があるのでしょうか?

 

コンパイルエラー: 無効なキャスト操作

class A {};
class B {
        bool A() { return true; }
        bool f() {        A(); return true; } //нормально
        bool g() { return A(); }              //'A' - invalid cast operation
};
 
MT4: OnDeinitでEventChartCustom エキスパートを呼び出し、別のチャートにメッセージを送信していますが、イベントが来ません。OnDeinitにはほとんどコードがないため、制限時間2.5秒は実行されない。質問:OnDeinitからカスタムイベントを生成することは可能なのでしょうか、それとも禁止されているのでしょうか?このトピックに関するドキュメントが見つからなかったのです。
 
A100:

コンパイルエラー: 無効なキャスト操作

最初のレイプはコッソリ、その後はそうでもない?