カスタムシンボル。エラー、バグ、質問、提案。 - ページ 12

 
fxsaber:

バグ16。

以前は、CustomTicksAdd は現在の日を参照するティックからバーを生成していました。これも今は違います。

このバグは、バグ#14と関連しているようです。

市場概要からシンボルを削除することは、以下の理由で可能です。同じカスタムシンボル 名でCustomSymbolCreate - CustomSymbolDelete - CustomSymbolCreateを連続して呼び出すと、シンボルIDがヒットしてしまう不具合を修正しました。そのため、マーケット概要からシンボルを削除できるかどうかを確認したところ、このシンボルのグラフは見つからず(識別子が壊れている)、シンボルは安全に削除されました。これは修正されました。

ティックをチャートに適用した場合、同じことが可能です。シンボル識別子でチャートを検索しても、結果は得られませんでした

 
fxsaber:

バグ15

このEAの シンボル(ChartSetSymbolPeriod-rowを 削除したもの)に対して、以下のインジケータを実行します。

ゼロしか出ません。

十分フェアだ。

CustomRatesUpdateを呼び出すと、すべてのチェンジカウンターがリセットされ、インジケーターがゼロから再計算されます。

 
Slava:

まったくもってその通りです。

CustomRatesUpdateを呼び出すと、すべての変更カウンタがリセットされ、インジケータはゼロから再計算されます。

この解決策にはどのようなロジックがあるのでしょうか。何しろ、左側には変化のないバーがあるのですから。

 
fxsaber:

この解決策にはどのようなロジックがあるのでしょうか。やはり、左側には不変のバーがあります。

prev_calculatedは,以前のOnCalculate呼び出しで 返された値を含む

インジケータは、独自のロジックに基づき、任意の値を返すことができます。したがって、すべての 指標を実行して、prev_calculatedの値を、タイムフレームを 考慮した独自の計算値に変更する意味はありません。そして、それは資源を大量に消費し、不当に資源を消費する可能性さえあります。

まだ何もカウントされていない最初の頃のように、0に設定する方がずっと正直です

 
Slava:

prev_calculatedには、前回のOnCalculateの呼び出しで 返された値が含まれています。

インジケータライタは、独自のロジックに基づき、任意の値を返すことができます。したがって、すべての 指標を実行して、prev_calculatedの値を、タイムフレームを 考慮した独自の計算値に変更する意味はありません。そして、それは資源を大量に消費し、不当に資源を消費する可能性さえあります。

まだ何もカウントされていなかった最初の頃のように、0に設定する方がずっと正直です

では、各ティックロールオーバー後のカスタムシンボルの指標が、このゼロ値のために完全に再計算される場合、どうすればいいのでしょうか?

インジケータはターミナルを遅くしないように特別に書かれていますが、ここではその逆が始まっています。

 
fxsaber:

では、カスタムシンボルで、ティックのロールオーバーの後、このゼロ値のために指標が完全に再計算される場合はどうでしょうか。

これではいけないと思います。チェック

 
Slava:

そんなことはないはずです。チェック

CustomTicksAddだけ でなく、RatesUpdateも過去からのティックスルーであることを明確にさせてください。実際、動作中のTicksAddでも、現在日より前のバーは形成されませんでした。自分たちで生み出さなければならないのです。そのせいでprev_calculatedがゼロになる。

 
fxsaber:

過去からのticks rolloverはCustomTicksAddだけでなく、RatesUpdateもあることを明確にさせてください。実際、動作中のTicksAddでも、現在日より前のバーは形成されませんでした。自分たちで生み出さなければならないのです。そのせいでprev_calculatedがゼロになる。

いずれにしても、バーの入れ替え、更新、削除を行うと、すべての指標はゼロから再計算されます。これは論外です。

ティックの追加は通常通り動作するはずです。つまり、ティックは新鮮な現在のティックであり、昨日/一昨日のティックではありません。

バグ11の 説明からExpert Advisorを実行し、各OnCalculateにプリントしてインジケータを実行しました。

以下はそのログです。

2019.06.07 08:11:34.240 CustomHistoryTick (EURUSD,H1)   CustomSymbolCreate(Name,NULL,_Symbol) = true
2019.06.07 08:11:34.243 CustomHistoryTick (EURUSD,H1)   CustomRatesDelete(Name,0,0) = 0
2019.06.07 08:11:34.243 CustomHistoryTick (EURUSD,H1)   SymbolSelect(Name,false) = true
2019.06.07 08:11:34.243 CustomHistoryTick (EURUSD,H1)   CustomSymbolDelete(Name) = true
2019.06.07 08:11:34.243 CustomHistoryTick (EURUSD,H1)   CustomSymbolCreate(Name,NULL,_Symbol) = true
2019.06.07 08:11:34.321 CustomHistoryTick (EURUSD,H1)   CopyTicksRange(_Symbol,Ticks,COPY_TICKS_INFO,(TimeCurrent()-3600)*1000) = 1114
2019.06.07 08:11:46.158 Custom Moving Average (EURUSD11608,M1)  13  prev_calculated=0  begin=0  data=1.126668940063615
2019.06.07 08:11:46.173 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=13  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.209 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.228 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989297959183673
2019.06.07 08:11:46.246 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989312244897959
2019.06.07 08:11:46.271 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989312244897959
2019.06.07 08:11:46.305 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.399 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.427 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989255102040816
2019.06.07 08:11:46.460 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.494 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989255102040816
2019.06.07 08:11:46.521 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.561 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.586 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.614 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989297959183673
2019.06.07 08:11:46.645 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.676 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989297959183673
2019.06.07 08:11:46.708 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.775 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.803 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.835 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989283673469387
2019.06.07 08:11:46.869 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989269387755102
2019.06.07 08:11:46.898 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989255102040816
2019.06.07 08:11:46.930 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989255102040816
2019.06.07 08:11:46.972 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.298924081632653
2019.06.07 08:11:46.993 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989226530612245
2019.06.07 08:11:47.024 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.298924081632653
2019.06.07 08:11:47.050 Custom Moving Average (EURUSD11608,M1)  14  prev_calculated=14  begin=0  data=0.2989255102040816
2019.06.07 08:11:47.085 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=14  begin=0  data=0.4171804373177843
2019.06.07 08:11:47.116 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171790087463557
2019.06.07 08:11:47.175 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.198 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171790087463557
2019.06.07 08:11:47.215 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171790087463557
2019.06.07 08:11:47.242 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.270 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171761516034985
2019.06.07 08:11:47.302 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.335 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171790087463557
2019.06.07 08:11:47.370 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171761516034985
2019.06.07 08:11:47.398 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171804373177843
2019.06.07 08:11:47.434 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171790087463557
2019.06.07 08:11:47.466 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.494 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.528 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.586 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.617 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.646 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.41717472303207
2019.06.07 08:11:47.679 Custom Moving Average (EURUSD11608,M1)  15  prev_calculated=15  begin=0  data=0.4171775801749271
2019.06.07 08:11:47.716 Custom Moving Average (EURUSD11608,M1)  16  prev_calculated=15  begin=0  data=0.5185379258642233
2019.06.07 08:11:47.740 Custom Moving Average (EURUSD11608,M1)  16  prev_calculated=16  begin=0  data=0.5185364972927947

正常な状態ですべてが正常に動作していることを意味します(ダニは常にそうであるべきであるように、今日のものです)。ティックが追加され、インジケータが惜しげもなく考慮されている

 
Slava:

いずれの場合も、バーの入れ替え、更新、削除を行うと、すべての指標はゼロから再計算されます。これは論外です。

ティックを追加すると、通常通り動作するはずです。つまり、ティックは昨日のもの、つまり一昨日のものではなく、今日の新鮮なティックです。

バグ11の 説明からExpert Advisorを実行し、各OnCalculateにプリントしてインジケータを実行します。

以下はそのログです。

正常な状態ですべてが正常に動作していることを意味します(ダニは常にそうであるべき であるように、今日のものです)。ティックが追加され、インジケータが惜しげもなく考慮されている

これは正しい発言でしょうか?

画像をクリックするとアニメーションが表示されます。


さらに、00:00:01であれば、CustomTicksAddを使って2秒前にあっただけのバーを再形成することはできません。

 
fxsaber:

これは正しい発言でしょうか?

テスターにとって、一昨日のティックが新鮮な、今日のティックです。

言いたいことはわかります。半年前のカスタムティックを使ったエクササイズは、テスターとしての性格を強く持っていますね。あなたの状況は普通ではない(通常の慣行という意味において)