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

 
Stanislav Korotky:

以下の不具合は、お客様ご自身でご確認ください。このアプリケーションには、"capslock "キーの状態を読み取ることだけを目的とした、特別なミニマムインジケータが搭載されています。ログとコメントで表示されます。

一連の動作は次のとおりです。

  1. インジケータをコンパイルし、チャート上に配置し、0("capslock "が有効になっていない)が表示されることを確認します。
  2. MEに切り替え、CapsLockを有効にして再コンパイルしてください。端末に戻る。古いインジケーターがアンロードされ、新しいインジケーターがロードされていることをログで確認します。しかし、"CapsLock "のステータスは依然として0として返されます。
  3. チャートからインジケータを削除して再度アップロードすると、キャップスロックは正常に認識され、1が表示されます。

奇跡ってなんだろう?コンパイルで再起動すると、環境変数がクリーンアップされないとか、何かあるのでしょうか?

キーステートのポーリングは特定の操作である。

実際のキーの状態は、アクティブなウィンドウの場合のみ表示されます。これは、OnChartEventを 処理する際に、非アクティブなウィンドウが干渉を受けないようにするためのものです。

 

カスタムシンボル、ログブックで出口を発見 これは何を意味するのでしょうか?

2019.12.11 00:07:13.252 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.02 シンボル設定 -桁数: 4, 目盛り: 0
2019.12.11 00:07:13.254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.03 シンボル設定 - digits: 4, tick size: 0
2019.12.11 00:07:13.254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.05 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.06 シンボル設定 - 桁: 4, 目盛り: 0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効コンテナ 2014.01.07 シンボル設定 - digit: 4, tick size: 0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.08 シンボル設定 - digits: 4, tick size: 0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.09 シンボル設定 - digit: 4, tick size: 0
2019.12.11 00:07:13.256 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.10 シンボル設定 - digits: 4, tick size: 0
2019.12.11 00:07:13.256 History 'DA6_CUSTOM' invalid container 2014.01.12 シンボル設定 - digits: 4, tick size: 0.


 
Slava:

キーステータスのポーリングは特定の操作である。

実際のキーの状態は、アクティブなウィンドウに対してのみ示されます。これはOnChartEventが処理されるときに、非アクティブウィンドウが干渉を受けないようにするために意図的に行われます。

OnChartEventに Windowsイベントを追加する予定はありますか?あるデータが外部から送られてきたとき、タイマーを使ってデータを問い合わせる代わりに、DLLを通して即座にイベントを発生させ、そのデータをチャートに取り込むことができます。OnChartEventは、その名前からWindowsイベントを待ち受けることができます。

以前MT4では、PostMessageで新しいティックをエミュレートし、チャート上でEAをトリガーすることに手を出しました。

 
Slava:

鍵の状態を問うのは、具体的な操作です。

実際のキーの状態は、アクティブなウィンドウに対してのみ示されます。これはOnChartEventが処理されるときに、非アクティブなウィンドウが干渉を受けないようにするための意図的なものです

そう、これは不完全な文書が明らかになった事例の一つである。問題が起きてから、一滴一滴詳細を明らかにする。

 

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

ライブラリ: マルチテスター

fxsaber, 2019.12.13 10:24

KB ZIP アーカイブの内容を確認しました。開発者が修正したようで、現在はZIPの中に新しいバージョンのファイルがあります。そこにあるファイルの日付だけが間違って いるのです。そして、中身もそのまんま。

 
Alain Verleyen:

カスタムキャラクター、ログブックで見つけた出口 これはどういう意味ですか?

2019.12.11 00:07:13.252 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.02 シンボル設定 -桁数: 4, 刻み幅: 0
2019.12.11 00:07:13.254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.03 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13.254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.05 シンボル設定 -桁数: 4, 刻み幅: 0
2019.12.11 00:07:13.254 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.06 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.07 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.08 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13.255 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.09 シンボル設定 -桁数:4、ティックサイズ:0
2019.12.11 00:07:13.256 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.10 シンボル設定 -桁数: 4, 刻み幅: 0
2019.12.11 00:07:13.256 履歴 'DA6_CUSTOM' 無効なコンテナ 2014.01.12 シンボル設定 -桁数:4、ティックサイズ:0


ログがエラーを報告していることを意味します:文字はまだ4つですが、テロップはまだありません。

 
コンテナの話になるんでしょうね。必要ですか?
 

残念ながら、このチェックは非常に稀ですが、時々(先週2回、約100回実行)失敗することがあります。理由がわからない - データは同じファイル/構造体から(?)

   datetime time[],
            START_H=D'01.02.2018';
   double   close[];

   int t=CopyTime (_Symbol,0,TimeCurrent(),START_H,time);
   int c=CopyClose(_Symbol,0,TimeCurrent(),START_H,close);

   if(t!=c) 
    {Print("Arrays (time & close) are not equal!!!"); return(false);}
 

推奨されるChartSetSymbolPeriod(0, NULL, 0); メソッドでチャートを更新しようとすると、ターミナルが数秒間ハングする(私のは〜15)状況を確認/検証してください。再現のための簡易的なインジケーターを添付します。

次のようなことが必要でした(以前は問題なく動作していました)。インジケータ内に垂直線(オブジェクト)があり、ユーザーがそれを移動させた後、線の位置から取得した新しい Offset パラメータ値でインジケータが再構築されます。

インジケーター自体は原始的なもので、サブウィンドウに気配値をそのまま(デフォルトのパラメータで)表示するものです。瞬時に計算されます。

この問題を解決するには、チャート上にインジケータを表示し、黄色の垂直線を数本後ろに移動させればよいのです。

メッセージはログに表示されます。

- "ドラッグ "を瞬時にファクトに。

- 数十秒後に "Calc" - OnCalculateのたびに表示されます。

ハングアップ中は、端末がCPUコアに100%負荷がかかります。このハングアップの後、最終的に新しいオフセットでインジケータが表示されます。でも、要は、ユーザーが線を動かしたら、すぐに新しい設定のインジケータを表示させればいいんです。

何が問題なのか?どうすれば直るのか?

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

ファイル:
FMA.mq5  4 kb
IndArray.mqh  5 kb
 
Denis Nikolaev:

MT5

ビルド2280

指定したシンボルとマジックナンバーのオープンポジションの 数をカウントする機能が連射されます。

すなわち、1回目の呼び出しは正しい値を返し、2回目の呼び出しは0を返します。

コード例、取引環境について教えてください。再現できるように記述してください。