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

 
Ivan Titov:

本日、フリーランスの求人ページでエラーが発生しました。

Chromeブラウザ。これと何の関係があるのですか?

メッセージをありがとうございました。修正済み

 
Slava:

自分で確認することはできないのですか?

確認することはできても、理解できないのに何を確認するのか ))
また、データがまだできていない瞬間をシミュレーションすることはできません。

この例でOnCalculateを 正しく動作させる方法、理論を理解したいのです。
現在のループの繰り返しでデータが準備できない場合、limit+1カウンタを返すべきですか?

 
Roman:

確認することは可能だが、理解できていないのに何を確認するのか)
また、データがまだできていない瞬間をシミュレーションすることはできない。

この例でOnCalculateを 正しく処理するための理論を理解したいのです。
現在のループの繰り返しでデータが準備できない場合、カウンタのリミット+1を返すべきでしょうか?

ゼロを返すべきである。

 
Slava:

4.すべての時系列は、低いものから高いものへと順番に処理されます。まずティックを適用し、次にその時系列で作成されたすべての指標を計算します。M1で動作するインジケーターから同じH1シンボルのデータを要求している場合、適用されたティックでデータを取得することはありません。どんなトリックを施しても、データは必ず1ティック戻る。なぜなら、時間枠の連続処理で1シンボルにつき1スレッドだからです。

ちょっと曖昧な文面ですね。念のため、はっきりさせておきます。はい、目盛りを処理する際、すべての時系列は若いものから古いものへと順次処理されます。各タイムシリーズのデータにティックを追加し、各タイムシリーズの指標を 順番に計算します。つまり、OnCalculate()のインジケーターについては、時系列(全て)のデータは確かに更新されていますが、それより古い時間軸のインジケーターのデータはまだ再計算されていないのです。

 
Slava :

最初のリクエストで、インジケータはそのシンボルからではなく、別のタイムフレームからデータを受信しないかもしれません - 必要なタイムシリーズはまだ構築されていないか、リクエストがなかったときに、いくつかの時間後にすでに破棄されています。

リクエストに失敗した後は、チャートを更新するコマンドを 送るだけで、OnCalculateを直ちに終了させます。OnCalculateが呼ばれることが保証されており、この時までに必要な時系列が準備されていることが保証されている。

これは、ハンマーでハエを捕るようなものです。

ご存知の通り、このコマンドは該当するシンボルの全チャートの全指標を更新します。同じシンボルの複数のチャートに複数のインディケータがある場合、それぞれのインディケータが独自のChartSetSymbolPeriod()コマンドを送信するため、簡単に一種のサイクルを得ることができます。

REMOTEインジケーターだけを更新するコマンドを追加していただけないでしょうか。

 
Alain Verleyen:

これは、ハンマーでハエを捕まえるのに似ています。

ご存知の通り、このコマンドは該当するシンボルの全チャートの全指標を更新します。同じシンボルの複数のチャートに複数のインディケータがある場合、それぞれのインディケータが独自のChartSetSymbolPeriod()コマンドを送信するため、簡単に一種のループを 得ることができます。

REMOTEインジケーターだけを更新するコマンドを追加していただけないでしょうか。

コードに論理的な間違いがあれば、何でもありです。

 
mktr8591:

実はOnTickはOnCalculateと 同じシンボルで同期していないのです。理論的には、OnTickは遅く、その開始までにすべてのTFのすべての表示が計算されるかもしれません?

今までのところ、私は逆の状況を見ています - インジケータは、バーオープンの瞬間に到着した新しいティックで計算されていません。

 
Anton:

この発言は少し曖昧です。念のため、はっきりさせておきます。はい、目盛りを処理する際、すべての時系列は若いものから古いものへと順番に処理されます。各タイムシリーズのデータにティックを追加し、各タイムシリーズの指標を 順番に計算します。OnCalculate()のインジケータでは、確かに時系列(全てのタイムシリーズ)のデータは更新されていますが、より高いタイムフレームのインジケータのデータはまだ再計算されていないということです。

ENUM_TIMEFRAMESの期間に応じて 各タイムフレームの指標を 順番に計算 する」とはどういう意味ですか?

intiCustom(
stringsymbol,// シンボル名
ENUM_TIMEFRAMESperiod,// ピリオド
string name// folder/user_name
...// インジケータ入力パラメータのリスト
);

また、同じENUM_TIMEFRAMESの期間を 持つ2つの指標があり、一方が別の指標のデータから計算されている場合、連続計算の正しさを保証するにはどうしたらよいでしょうか

インジケータがM1で 計算(ENUM_TIMEFRAMES期間)されている場合、OHLC情報を要求すると、任意の上位TFの最後のティックの現在の情報を受け取るという ことを正しく理解しましたか?

 
の結果はどうなるのでしょうか?

iSpread ?


ターミナルのSymbols/Barsでバーを照会すると、おおよそスプレッド値に近い値になるんですね。

もちろんこれらの値はSYMBOL_SPREADで与えられる実際の値とは一致しない。

なぜ、このような違いがあるのでしょうか?そして、そんな非現実的なスプレッドが、iSpreadを使って 表示されるとは

 
Aleksey Vyazmikin:

ENUM_TIMEFRAMESの期間に応じて、各時系列の指標を 順番に計算する」とはどういう意味でしょうか?

intiCustom(
stringsymbol,// シンボル名
ENUM_TIMEFRAMESperiod,// ピリオド
string name// folder/user_name
...// インジケータ入力パラメータのリスト
);

また、同じENUM_TIMEFRAMESの期間を 持つ2つの指標があり、そのうちの1つが別の指標のデータで計算されている場合、連続計算の正しさを保証するにはどうしたらよいでしょうか

端末で提供されます。

インジケータがM1で 計算(ENUM_TIMEFRAMES期間)されている場合、OHLC情報を要求すると、どんな場合でも上位TFの最新ティックの実際の 情報を受け取ることができると正しく理解しましたか?

はい、まさにその通りです。