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

 

Market Watchにティックが投入されていない限り、カスタムシンボルの現在のゼロ価格をチャートに表示しないようにしてください。


 

バグ06。

いくつかのカスタムシンボルのテスターが、リアルティクモードで完全に不適切な動作をする。


jsonとtick/barの履歴が あるファイルを添付します。これらのファイルに基づいてシンボルを作成し、実際のティックでテストを実行します。出力はこのようにぐちゃぐちゃになります。

TESTER_EURUSD.rann_RannForex: history data begins from 2019.03.01 00:00
TESTER_EURUSD.rann_RannForex: ticks data begins from 2019.03.01 00:00
agent process started
connecting to 127.0.0.1:3000
connected
authorized (agent build 2007)
TESTER_EURUSD.rann_RannForex,M1 (MetaQuotes-Beta): testing of Experts\fxsaber\TesterTickCheck.ex5 from 2019.03.01 00:00 to 2019.03.14 00:00
common synchronization completed
TESTER_EURUSD.rann_RannForex: history for 2018 year synchronized
TESTER_EURUSD.rann_RannForex: ticks synchronized already [87 bytes]
MetaTester 5 started on 127.0.0.1:3000
initialization finished
login (build 2007)
3860 bytes of account info loaded
1482 bytes of tester parameters loaded
1724 bytes of input parameters loaded
675 bytes of symbols list loaded
expert file added: Experts\fxsaber\TesterTickCheck.ex5. 21663 bytes loaded
5659 Mb available, 70 blocks set for ticks generating
initial deposit 10000.00 EUR, leverage 1:100
successfully initialized
22 Kb of total initialization data received
Intel Core i7-2700 K  @ 3.50 GHz, 16301 MB
TESTER_EURUSD.rann_RannForex: symbol to be synchronized
TESTER_EURUSD.rann_RannForex: symbol synchronized, 3464 bytes of symbol info received
TESTER_EURUSD.rann_RannForex: load 71 bytes of history data to synchronize in 0:00:00.000
TESTER_EURUSD.rann_RannForex: history synchronized from 2019.03.01 to 2019.03.13
TESTER_EURUSD.rann_RannForex: ticks synchronization started
TESTER_EURUSD.rann_RannForex: load 78 bytes of tick data to synchronize in 0:00:00.000
TESTER_EURUSD.rann_RannForex: history ticks synchronized from 2019.03.01 to 2019.03.13
TESTER_EURUSD.rann_RannForex: start time changed to 2019.03.02 00:00 to provide data at beginning
TESTER_EURUSD.rann_RannForex,M1: history cache allocated for 13776 bars and contains 1429 bars from 2019.03.01 00:00 to 2019.03.01 23:54
TESTER_EURUSD.rann_RannForex,M1: history begins from 2019.03.01 00:00
TESTER_EURUSD.rann_RannForex,M1 (MetaQuotes-Beta): generating based on real ticks
TESTER_EURUSD.rann_RannForex,M1: testing of Experts\fxsaber\TesterTickCheck.ex5 from 2019.03.01 00:00 to 2019.03.14 00:00 started with inputs:
  BeginTime=1551484800
  EndTime=1552176000
  inFlags=false
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - real ticks absent for 2 minutes out of 1430 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - real ticks discarded for 1425 minutes out of 1430 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.04 00:22 - 2019.03.04 23:59  4 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.04 23:59 - 62003 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - real ticks absent for 2 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - real ticks discarded for 1418 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.05 00:29 - 2019.03.05 23:59  2 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.05 23:59 - 56107 tick prices mismatch for 1421 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - real ticks absent for 1 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - real ticks discarded for 1428 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.06 05:18 - 2019.03.06 23:59  3 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.06 23:59 - 67510 tick prices mismatch for 1431 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - real ticks absent for 2 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - real ticks discarded for 1427 minutes out of 1436 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.07 01:40 - 2019.03.07 23:59  4 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.07 23:59 - 67626 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - real ticks absent for 6 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - real ticks discarded for 1423 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.08 23:59 - 70706 tick prices mismatch for 1425 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - real ticks absent for 2 minutes out of 1433 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - real ticks discarded for 1426 minutes out of 1433 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.11 00:17 - 2019.03.11 23:59  2 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.11 23:59 - 54732 tick prices mismatch for 1428 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - real ticks absent for 1 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - real ticks discarded for 1429 minutes out of 1435 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.12 04:14 - 2019.03.12 23:59  5 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.12 23:59 - 57023 tick prices mismatch for 1429 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.13 23:59 - real ticks discarded for 1427 minutes out of 1437 total minute bars within a day
TESTER_EURUSD.rann_RannForex : 2019.03.13 00:35 - 2019.03.13 23:59  3 minute bars absent within a day while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.13 23:59 - 54368 tick prices mismatch for 1432 minute bars
TESTER_EURUSD.rann_RannForex : real ticks begin from 2019.03.01 00:00:00
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  real ticks absent for 16 minutes of 11479 total minute bars, every tick generation used
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  real ticks discarded for 11403 minutes of 11479 total minute bars, every tick generation used
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  23 minute bars absent in total while real ticks present
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  tick volumes not matched for 51 minute bars
TESTER_EURUSD.rann_RannForex : 2019.03.02 00:00 - 2019.03.14 00:00  tick prices of 490075 ticks not matched for 11422 minute bars
final balance 10000.00 EUR
TESTER_EURUSD.rann_RannForex,M1: 761877 ticks, 11470 bars generated. Test passed in 0:00:02.019 (including ticks preprocessing 0:00:00.297).
222 Mb memory used including 0.94 Mb of history data, 64 Mb of tick data
log file "C:\Program Files\ICMarkets - MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20190314.log" written
connection closed

しかし、さらにクールなのは、ダニの餌は輸入履歴からではなく、天井からになることです。

興味深いことに、この履歴データを別のjsonにインポートすると、テスターはその上で正しく動作します。

テスターが全く間違ったティックを送っていることが判明したので、訂正してください。そして、なぜ結果が違うのか、と。


このトレーラーにはExpert Advisorが含まれており、TesterのティックとTerminalのティックを比較して、その正しさをチェックすることができるようになっています。こんなことになるとは思ってもみなかった。

ファイル:
 
fxsaber:
リアルでのカスタムシンボルは情報提供のみを目的としており、取引には使用できません。テスターでのみ取引可能です。
ストラテジーテスターでは、どのように機能するのですか?

例:EURUSD-GBPUSD

この合成ローソク足を買えば
EURUSDはEURUSDの売値で 買われ、GBPUSDはGBPUSDの買値で 売られるのでしょうか?
 
multiplicator:
ストラテジーテスターでは、どのように機能するのですか?

例:EURUSD-GBPUSD

この合成樹脂を買ったら
とすると、EURUSDはEURUSDの売値で 買われ、GBPUSDはGBPUSDの買値で 売られるのでしょうか?

与えられた合成式は、その価格を計算するだけです。

テスターでの取引は、この計算された価格によって行われ、その計算方法には一切関係ありません。

 
fxsaber:

与えられた合成式は、その価格を計算するだけです。

テスターでの取引は、この計算された価格で行われ、計算方法とは関係ありません。

では、テスト時にスプレッドは考慮されないのでしょうか?
 
multiplicator:
ということは、スプレッドはテストに加味されないのでしょうか?

また、事前に計算された価格でのフルシンボルテストも行われます。

 
fxsaber:

その前に算出された価格 での全キャラクターテストが行われる予定です。

意味するところ。

EURUSD-GBPUSDの合成を使用した場合。

をクリックすると、AskとBidの価格が計算されます。

ビッド-ビッド(EURUSD)-ビッド(GBPUSD)
アスク - アスク(EURUSD)-アスク(GBPUSD)


そして、買い操作を実行すると、Ask(EURUSD)-ask(GBPUSD)の価格でオープンすることになるのです。


でも、これではいけない!
なぜなら、もし私がこの合成を買いたいなら、EURUSDはAsk 価格で買われ、GBPUSDはBid 価格で売られなければならないからです。


 
multiplicator:

でも、それじゃダメなんだ!

テスター合成の "取引 "は、あなたが想像していたものとは違う。

 
fxsaber:

テスターで合成樹脂を "下取り "することは、想像していたこととは違う。

作り物じゃないんだから、そうでなきゃ困るんだよ、普通。

そうでなければ、スプレッドを考慮しないのであれば、一体何のためにあるのでしょうか?