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

 
4で長いこと質問していたが、嘲笑以外の回答はなかった))

StringToTime が間違っている場合、例えばStringToTime("0") - 引数が解析されていない場合、TimeGMT()返します

また、引数を解析すると通常の時刻を返すので、例えばStringToTime(" 24.10.2014") - D'2014.10.24 00:00:00' の場合。

これは正常なのか?なぜTimeGMT() なのか?これは、MT4とパソコンでの現在時刻から-2時間です。

 
以前、「カスタムインジケータに CopyBufferという関数を入れると、なぜ4806というエラーになるのですか?

EAのコードで同じパラメータを持つ同じ関数が正常に動作しているのに?"

私のコードはデバッガからは動作しますが、通常モードでは動作しません(というか、時々動作するのですが、なぜ動作し、なぜ動作しないのか、簡単なパターンを確立できませんでした)

普通に使えないのに、なぜiXXXのようなインジケーターが全く必要ないのか?

 
tyn:
エラー4806に関する質問「カスタムインジケータに 配置した関数CopyBufferがエラー4806になるのはなぜですか?

EAのコードで同じパラメータを持つ同じ関数が正常に動作しているのに?"

私のコードはデバッガでは動くのですが、通常モードでは動きません(実は時々動くのですが、なぜ動くのか、なぜ動かないのかという単純なパターンが確立できていません)。

iXXXタイプのインジケーターが正しく使えないのに、なぜ全く必要ないのでしょうか?

午後CopyBufferのデータは、あなたのインジケータが動作しているのと同じTFから取得されているのですか?

BarsCalculated() 関数を使用して問題を解決してみましたか?

 
marketeer:
MQL OOPでは、ポインタの型が特定のクラスに属しているかどうかを、JavaScriptのinstanceofやC++のtypeidのように、どのように確認するのでしょうか?
CObject *ob;
datetime t;

typename(ob); // CObject
typename(t);  // datetime
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Основы языка / Объектно-ориентированное программирование / Шаблоны функций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
プライスタグに 設定されている価格ではなく、独自の値(表示される値)を設定することはできますか? その場合、どのようにすればよいですか?
 
Tapochun:

こんにちは。CopyBufferのデータは、インジケータが動作しているのと同じTFから取得されていますか?

BarsCalculated() 関数を使用して問題を解決してみましたか?

質問ありがとうございました。iATRからD1のデータを取りましたが、メインのインジケータは小さいタイムフレームで動作しており、BarsCalculated()も-1を返し、同じエラーが発生します。推測ですが、機能はあってもインジケータがない(実行時)。同じツールの別のウィンドウでインジケータを作成すると、すべて動作します。デバッグモードでも動作します。しかし、私の質問は、それはバグですか、それとも私が何かを理解していないのですか?
 

こんにちは。

システムDLLからの関数呼び出しに 問題がある。タスクは、あるポートで動作し、メッセージを受信するだけの簡単なTCPサーバーをMQL5で書くことです。

ws2_32.dll の関数 WSAStartup(), WSAClenup(), socket(), bind(), accept(), listen(), recv() からインポートされました。サーバーを停止させるまでは、すべて正確に動作します。サーバーを停止してスクリプトを正しく終了させようとすると、ターミナルが単にキックアウトされるだけです。

それ以来、recv()関数が科学的手法として使われるようになった。

添付ファイルの中に(171)の行があります。

  int bytesCnt = recv(clientSocket, rcvBuffer, RCVBUFFSIZE, 0);

というような構成になっている場合。

  int bytesCnt = 10; //recv(clientSocket, rcvBuffer, RCVBUFFSIZE, 0);

を実行すると、サーバーは何のエラーもなく停止します。MSDNでネットワーク機能の使用例を見て、すべて類推してやっていました。

どなたか、この問題を解決する方法をご存じないでしょうか?

ファイル:
 
tyn:
ご質問ありがとうございます。D1のiATRからデータを取りましたが、メインのインジケータは小さいタイムフレームで動作し、BarsCalculated()も-1を返し、同じエラーが発生します。推測ですが、機能はあってもインジケータがない(実行時)。同じツールの別のウィンドウでインジケータを作成すると、すべてが機能します。デバッグモードでも動作します。しかし、私の質問は、それはバグですか、それとも私が何かを理解していないのですか?

私自身、最近この問題に悩んでいます。最適かどうかはわからないが、解決した。データだけiFractalsから取ったものですが、それは問題ではありません。なぜ、TFのことを聞いたのか?私の観察によると、次のようなことが起こっています。例えば、M15でインジケータが動作する。インジケーターデータがM1からM15まで要求された場合 - すべてがOKで、データは要求された瞬間(最初の呼び出しでない場合)に利用可能である。M30からデータを要求した場合(繰り返しますが、インジケータはTF M15で動作します)、要求した瞬間に新しいローソクの ためのM30のデータがありません(予備要求が必要か、データがティックで遅れているかのどちらかです)。私は以下の方法で解決しました。現在のローソク足のBarsCalculated()の結果を記憶しています。次にBarsCalculated()がさらに値1を返すと同時に(新しいローソク足が現れた)、BarsCalculated() の新しい値を記憶し、データをコピー するのです。しかし、この瞬間(上位のTFに指標データが表示されたとき)は、現在のTFで新しいローソク足が形成されたときと一致しません。

はい、BarsCalculated()はデータが全くない場合、-1を返します、私の知る限り、それは最初の実行中にのみ発生 します。つまり、インジケーターのハンドルを取得して、すぐにデータを要求する場合です。また、待つことも必要です。

 

インジケーターハンドルが作成 された直後は、データの準備ができていないため、問い合わせることができません。初期化および再計算のプロセスは複雑で、多くの要因に左右されます。

正しい方法は、oninitでハンドルを作成し、最初のtickが到着したときにデータを処理することです。

 
Renat:

インジケーターハンドルが作成 された直後は、データの準備ができていないため、問い合わせることができません。初期化および再計算のプロセスは複雑で、多くの要因に左右されます。

正しい方法は、oninitでハンドルを作成し、最初のtickが到着したときにデータを処理することです。

それから、この質問。M15でインジケータを動作させた場合。新しいローソク足が形成される。M15とM30のデータを要求する場合、同時に入手できるようにする必要がありますか?