記事"トレード履歴のカスタム表示とレポート図の作成"についてのディスカッション - ページ 3

 
Andrey Azatskiy:

DealHistoryGetter.mqhファイルをこの投稿に添付されているものに置き換えてみてください。

このエラーだけが残ります。

2018.09.01 19:11:36.150 Get_TradingHistory (GAZR Splice,H1)     zero divide in 'DealHistoryGetter.mqh' (457,51)
 
451と461でブレークポイントを設定し、inputParam.deals[i].volumeとcontracts配列を見てください。

何らかの理由でcontract volumeがゼロに設定されています。私が正しければ、このエラーの前に2回の反復があるはずです。しかし、もし私の考えが正しければ、なぜ出来高がゼロになるのか想像できません。
 
460行目、最初の反復で、最初の約定が約定配列に入力される。457行目では、記事で説明されている方法で、コントラクト配列から最後のアクティブなコントラクトが計算されます。私が実行したストーリーでは、このようなエラーはありませんでした。
 
Andrey Azatskiy:
451と461でブレークポイントを設定し、inputParam.deals[i].volumeとcontracts配列を見てください。 何らかの理由でcontract volumeがゼロに設定されています。私が正しければ、このエラーの前に2回の反復があるはずです。しかし、もし私の考えが正しければ、なぜ出来高がゼロになるのか想像がつきません。

デバッガの使い方がよく分からないので、ポイントを入れて実行してみましたが、エラーは出ませんでした。

もしかして、履歴にそのような操作があることがポイントなのでしょうか?


 

また、407行目にブレークポイントを置いて、lotArr配列を見るのも良いでしょう。

あなたの取引履歴に関連する問題なので、再現はしません。私の履歴(このクラスを通して実行した履歴)では、このようなエラーは発生しませんでした。

 
Andrey Azatskiy:

また、407行目にブレークポイントを置いて、lotArr配列を見るのもいいだろう。

あなたの取引履歴に関連する問題なので、再現はしません。私の履歴(このクラスを通して実行した履歴)では、そのようなエラーは発生しませんでした。

実際の口座で テストしましたか、それともデモ口座で?

 
私のクラスに欠陥があるのかもしれませんが、再現できません。それはあなたの履歴、ひいてはあなたの端末と取引口座に関係しています。もしかしたら、このクラスを書くときに私が見逃したMe5の履歴の分析のニュアンスがあるのかもしれませんが、再現できるのはあなただけです。デバッガーを理解しなければならないだろう。
 
Aleksey Vyazmikin:

実際の口座で テストしましたか、それともデモ口座でテストしましたか?

口座の問題ではなく、履歴の問題です。ターミナルはリアル口座でもデモ口座でも同じように履歴を生成します。

 
Andrey Azatskiy:
私のクラスに欠陥があるのかもしれませんが、再現できません。それはあなたの履歴、ひいてはあなたの端末と取引口座に関係しています。もしかしたら、このクラスを書くときに私が見逃したMe5の履歴の分析のニュアンスがあるのかもしれませんが、再現できるのはあなただけです。私はデバッガーを扱わなければならないだろう。

もっと具体的にどこをどう見ればいいのか書いていただければ、エラーを見つけるお手伝いをします。

 
Andrey Azatskiy:

口座の問題ではなく、履歴の問題です。ターミナルはリアルもデモも同じように履歴を生成します。

上にスクリーンショットをあげたデモには訂正はありません。

毎日、修正から始まります。