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

 
secret:
不思議なことに、数年前から断られているのに、まだ買い取りを宣伝している...。

この手紙は、私が理解する限り、ブローカーの端末で受け取ったのですね。質問をしたり、自分で直せない場合はサポートに連絡するようにお願いしてください。

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

バグ、バグ、質問

セルゲイ・デジブリク, 2019.05.23 13:52


訂正を待つべきと判断するにはどうしたらよいですか?

(MT5(build 2069)では未修正)"MTターミナルのログキューに関するバグ。おそらく、キュー内のメッセージ数が上限に達すると、再コピーを伴うメモリの再割り当てが発生するが、メッセージ395番目の1つが失われる".
(MT5(ビルド2069)で修正)"テンプレート関数に(void*)(NULL)パラメータを渡すとコンパイルエラーになる".
(MT5(ビルド2059)で修正)"Strategy Tester: 2パスの予定が、実際には無限パス> "OnInit critical error" エラーにより900pcs".
(MT5(build 2069)では修正されていません)"Invalid value of array size field within default assignment operator for structures with dynamic arrays" (動的配列を持つ構造体のデフォルトの代入演算子の配列サイズフィールドが無効です).
(MT5(build 2069)では修正されていません)"関数からクラスオブジェクトを値で返すとき、コンパイラはデフォルトのクラスコピーコンストラクタを見ません".
(MT5(build 2059)で修正)"コンパイラは、パターンクラスと「複雑な」構造のための「それ自体」の型キャストを見ることができません".
(MT5(build 2069)では修正されていません)"typedef で作業する場合、明示的に特殊化されたテンプレート関数を使用すると、このテンプレート関数のコードが生成されない".
(MT5(build 2069)では修正されていません)"typedef 内で同じ関数シグネチャを再利用するとコンパイルエラーになる".
(MT5(ビルド2069)では修正されていません)"文字列処理用の関数の大部分は、文字列内のNULL文字では動作しません(例: ShortArrayToString、StringInit、StringFill)".
(MT5(ビルド2069)では修正されていません)"StringSetLength関数は文字列の長さを「切り詰める」ためにのみ機能し、増やすことはできません。
(MT5(ビルド2057)で修正)"Strategy Tester: 750 "metatester64.exe" processes are running".
"フォーラム www.mql5.com, 画像付きのメッセージを編集すると、前の画像が新しい画像に置き換えられない".


提案します。
"デフォルトの代入演算子(コピーコンストラクタ)のコード生成/削除をユーザーに強制することを許可する".
"ArrayCopyがクラスや「複雑な」構造体をコピーできるようにし、構造体があらゆるオブジェクトタイプに対して深いコピー機能を提供するのと同様にする".
"動的な配列を扱う際に、ユーザが容量値を読み取る/設定する機能を提供する".
"シグナルズサービスのインフォグラフィックスを改善するための変更点"

 
これらの定数

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

サービスを提供します。すでに働いている方

fxsaber, 2019.06.07 06:37

#include <WinAPI\fileapi.mqh>
#include <WinAPI\handleapi.mqh>

#define  GENERIC_WRITE                    0x40000000
#define  CREATE_ALWAYS                    2
#define  FILE_ATTRIBUTE_NORMAL            0x00000080
#define  FILE_FLAG_OVERLAPPED             0x40000000

bool FileIsInvalid_WinAPI( const string FileName )
{
  const HANDLE hFile = CreateFileW(FileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, NULL);

その他にも、SBでは多くの人が行方不明になっています。

 

もう一度、カスタムシンボルの テスターで指値注文を無効にして、リアルティクでスリッページを取るようにお願いします。

現在、ストラテジーテスターで指値注文やテイクオーダーが適用され、実際のティックで動いている人は、次の3つのカテゴリーのいずれかに属しています。

  • テスターに騙されたと思わないでください。
  • 似非物理学者。
  • fxsaber

少なくともカスタムシンボルではこのような行為をやめてほしいというのが大きな要望です。これは、テスターが嘘をつかないためだけでなく、より速く作業するためにも必要なことです。

Ну а как еще обратить внимание на эту проблему?

 

CopyTicks関数が、指定された日付からのティック履歴を 要求して動作しない。そのため、多くのティック数を要求するか、必要なティック履歴をコードで取得できないかのどちらかになります。

MT5ターミナルが大量のティック履歴を要求したときに、ディスク容量がなくなると永久にハングアップする。端末のクラッシュにより、すべてのアカウント設定が削除されることがあります。

 
Gelium:

CopyTicks関数が、指定された日付からのティック履歴を 要求して動作しない。そのため、大量のティックを要求するか、コードでティック履歴を取得できないかのどちらかになります。

大規模なティック履歴の要求でディスク容量が不足すると、MT5ターミナルが恒久的にハングアップする。端末のクラッシュにより、すべてのアカウント設定が失敗することがあります。

ミリ秒は秒ではなく、入力になります。

 
fxsaber:

入力は秒ではなくミリ秒です。

ヘルプを読む

から

[in] 刻み目を要求する日付。1970年01月01日からのミリ秒単位で指定する。パラメータ from=0 の 場合、最後の ティックカウントが 与えられる。

次は簡単なコードテストです。

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

このリクエストでは、tm_msパラメータを変更しても常に2000ticksを返す。このようになるはずなのか、それとも私が何か間違ったことをしているのか?

 
Gelium:

ヘルプを読む

から

[in] 刻み目を要求する日付。1970年01月01日からのミリ秒単位で指定する。 from=0 の場合 最後の ティックカウントが 与えられる。

さらに、簡単なコードテストです。

int tm_ms = 10000000;
int received=CopyTicks(_Symbol,tick_array,COPY_TICKS_ALL, tm_ms);

このリクエストでは、tm_msパラメータを変更しても常に2000ticksを返す。このようになるはずなのか、それとも私が何か間違ったことをしているのか?

long tm_ms = (long)D'2019.06.01' * 1000;
2000にならないように、正しいカウントを設定する。
 

fxsaber:

long tm_ms = (long)D'2019.06.01' * 1000;


2000にならないように、正しいカウントを設定する。

ありがとうございます!うまくいきましたintと間違えた。:)

 
各コンパイルでは、Warningで異なる値が表示されます
void OnStart()
{
  int i = 0;

  {
    int i = 0; // declaration of 'i' hides local declaration at line 482781488
  }
}