MetaTrader 4 Build 529 ベータ版リリース、新コンパイラー搭載 - ページ 60

 
stringo:
どうすれば再現できるのか?(できなかった)。

特別なことはしていない。

テストを実行し、終了を待ってコンパイルし、ログをクリアして再度実行する。ある時点でクラッシュする。

 
komposter:

特別なことはしていない。

テストを実行し、終了を待ってコンパイルし、ログをクリアして再度実行する。ある時点でクラッシュする。


おそらく、悪名高いコードプロテクトのせいでしょう。彼らは決してオフにしたがらないので、コードプロテクトが必要かどうかは、誰もが 自分で 判断することになります。
 

ビルド546(2013年11月20日)をテストしたところ、MQL4で作成したEAが問題なくコンパイルできました。しかし、バックテストを実行するとエラーが大量に発生します。MT4の内部ボリンジャーバンドインジケータを使用しており、それ以上のものはありませんが、ジャーナルはいっぱいです。


2013.11.20 22:15:26.624 Not enough memory for indicatorBollinger Bands(EURUSD,M5)
2013.11.20 22:15:26.624 メモリハンドラ: 8754048 バイトのメモリを割り当てられない
2013.11.20 22:15:26.604 Not enough memory for indicator Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.604 メモリハンドラ:8754048バイトのメモリを割り当てることができません。
2013.11.20 22:15:26.107 Not enough memory for indicator Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.107 メモリハンドラ:8754048バイトのメモリを割り当てることができません。
2013.11.20 22:15:26.105 Not enough memory for indicator Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:26.105 Memory handler: cannot allocate 8754048 bytes of memory.
2013.11.20 22:15:25.903 Not enough memory for indicator Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.903 メモリハンドラ: 8754048 バイトのメモリを割り当てられない
2013.11.20 22:15:25.895 Not enough memory for indicator Bollinger Bands (EURUSD,M5)
2013.11.20 22:15:25.895 Memory handler: cannot allocate 8754048 bytes of memory.
2013.11.20 22:15:25.811 インジケータBollinger Bands (EURUSD,M5) 用のメモリが不足しています。
2013.11.20 22:15:25.811 メモリハンドラ:8754048バイトのメモリを割り当てることができません。
2013.11.20 22:15:25.811 インジケータBollinger Bands (EURUSD,M5) 用のメモリが不足しています。
2013.11.20 22:15:25.811 メモリハンドラ:8754048バイトのメモリを割り当てることができません。
2013.11.20 22:15:25.811 インジケータBollinger Bands (EURUSD,M5) 用のメモリが不足しています。
2013.11.20 22:15:25.811 メモリハンドラ:8754048バイトのメモリを割り当てることができません。

バックテスト(EURUSDの1999年から2013年までのオープンバーのみ)を実行している間、常にこれをプリントします。現在の公式MT4ビルドでは、バックテストは5Mバーオープンで前述の時間範囲に6秒かかり、エラーは発生しません。また、なぜ8メガバイトのメモリを割り当てられないのか不思議です。ターミナル・プロセス全体では20メガバイトしか必要なく、7ギガのRAMが空いています。ですから、この8MBを割り当てることは問題ないはずで、ビルド509ではすべてうまくいっているので、これはきっとバグなのでしょう。

確かにBETAですが、バックテストで内部MT4インジケータさえ正しく動作しないのであれば、これはむしろアルファのように思えます。

また、一般的に、ビルド509に比べて、すべての動作が非常に遅くなっていることに気がつきました。例えば、Period_Converter_Autoスクリプト(M1データからすべてのタイムフレームを作成する)を実行すると、Build 546では約3分かかりますが、Build 509では20秒かかります。
 
dabugen:

また、一般的に、ビルド509に比べて、すべての動作が非常に遅くなっていることに気がつきました。例えば、Period_Converter_Autoスクリプト(M1データからすべてのタイムフレームを作成する)を実行すると、Build 546では約3分かかりますが、Build 509では20秒かかります。

period_converter_auto のソースからFileFlush に関する行を削除し、スクリプトの実行をより高速化。

         FileWriteInteger(ExtHandle, i_time, LONG_VALUE);
         FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE);
         FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);
         //FileFlush(ExtHandle);
 
stringo:

period_converter_auto のソースから FileFlush に関する行を削除し、スクリプトの実行をより高速化。


Slavaさん、これは本当に古い話題なのですが、なぜmql5ではFlush()がこんなに遅いのでしょうか?

古いmql4では、何倍も速いです。

 

5のHPにmt4用の新しいインジケーターやエキスパートがあります(無料のものもあります)。

1) 端子を通したマーカーでは見えない(2製品を除く)。

2) 5Kサイトで、マーキングターミナルにない製品をダウンロードしようとすると、同じターミナルに「MQL4 Marketproduct'C' does not exist」(製品名を1文字目に切り取る)と表示されます。

3)なぜかMAインジケータがExpertsのカテゴリに入れられた。

 
ALXIMIKS:

5のHPにmt4用の新しいインジケーターやエキスパートがあります(無料のものもあります)。

1) 端子を通したマーカーでは見えない(2製品を除く)。

2) 5Kサイトで、マーキングターミナルにない製品をダウンロードしようとすると、同じターミナルに「MQL4 Marketproduct 'C' does not exist」(製品名を1文字目に切り取る)と表示されます。

3)なぜかMAインジケータがExpertsのカテゴリに入れられた。


社内試験用のテスト製品である。

1.24時間以内に端末に現れる必要があります。

2.確認してください。

3.移動平均は、MAインジケータに基づくテストExpert Advisorです。記載内容を訂正させていただきます。

 
Marketデモからこの製品をダウンロードしてチャートに表示しようとしましたが、失敗しました: "2013.11.21 11:53:08.631 Marketmacd_line_smart EURUSD,H1: Invalid license"...
 
evillive:
Marketデモからこの製品をダウンロードしてチャートに表示しようとしましたが、失敗しました: "2013.11.21 11:53:08.631 Marketmacd_line_smart EURUSD,H1: Invalid license"...

デモはテスターでのみ動作し、チャート上では購入したバージョンのみが動作します。
 
どうですか、知らなかった。
OmegaTube:

デモはテスターでのみ動作し、購入したバージョンでのみチャート上で動作します。

いいえ、まだ動作しません。ビジュアルモードのテスターでは、空のインジケーターウィンドウ、パラメーター設定のないインジケーターリストの無名のもの、ターミナルログの同じライセンスエラーが表示されます...。