MT5とスピードの関係 - ページ 21

 
fxsaber:

戦闘ロボットに0-INT_MAXのバリアントのみを残した。ブレーキに気づかず停止

では、この歴史をどうするのか?

もちろん、毎月サブアカウントを変更して、注文履歴を数十万件に制限することはできますが、それでは解決になりません :)

 
Dmi3:

では、この歴史をどうするのか?

もちろん、毎月サブアカウントを変更して注文履歴を10万件に制限することもできますが、それは答えになっていません :)

  static ulong IsHistoryDeals( const long TimeMsc )
  {    
    ulong Res = 0;
/*    
    if (_B(::HistorySelect(TimeMsc / 1000, INT_MAX), 5))
    {
      const int Total = _B(::HistoryDealsTotal(), 1);
      
      if (Total > 100)
        ::Alert("::HistoryDealsTotal() = " + (string)Total + ", TimeMsc = " + NEWTICKS::TimeToString(TimeMsc));
                
      for (int i = Total - 1; !Res && (i >= 0); i--)
      {
        const ulong Ticket = _B(::HistoryDealGetTicket(i), 1);
        
        if ((_B(::HistoryDealGetInteger(Ticket, DEAL_TIME_MSC), 1) >= TimeMsc) &&
            (_B(::HistoryDealGetString(Ticket, DEAL_SYMBOL), 1) == _Symbol))        
          Res = Ticket;
      }
    }    
*/    
    if (_B(::HistorySelect(0, INT_MAX), 1)) // 
    {
      const int Total = _B(::HistoryDealsTotal(), 1);
      
      for (int i = Total - 1; !Res && (i >= NEWTICKS::PrevTotal); i--)
      {
        const ulong Ticket = _B(::HistoryDealGetTicket(i), 1);
        
        if (_B(::HistoryDealGetInteger(Ticket, DEAL_TIME_MSC), 1) < TimeMsc)
          break;
        else if (_B(::HistoryDealGetString(Ticket, DEAL_SYMBOL), 1) == _Symbol) 
          Res = Ticket;
      }
      
      NEWTICKS::PrevTotal = Total;
    }    
    
    return(Res);
  }
 
fxsaber:
現時点では、99%のケースでHistorySelect(0,INT_MAX)のみを使用する必要があることがわかります。他の選択肢を使わないようにする。

おそらく、キャッシュの開始位置を動かさない、つまり常に同じ日付からクエリを実行する(0かどうかは関係ない)くらいでしょう。

確認する必要があります。

 
Andrey Khatimlianskii:

おそらく、キャッシュの開始位置を動かさない、つまり常に同じ日付からクエリを実行する(0かどうかは関係ない)くらいでしょう。

チェックが必要です。

可能性がある。長い間テスターをするのは大変です。

 
fxsaber:


結果


すべてのティックに問題がある。


SZYはWin10をインストールし、LatencyMonはすべて正常であることを示しています。

なんでそんな世間知らずのフリしてるんだ?

そもそもキャッシュを殺すのは自己責任だからダメだってことをアピールしたいんだろうけど。大ネタでキャッシュを潰すのは自己責任です。そして、意図的に自分の立場をいじるのは、もっぱらあなたの問題です。MQL5環境では、キャッシュを大量に削除する機会が多く見受けられます。

私たちはあなたを助けるつもりはありません。どんなプログラミング言語でも、自分の足や頭を撃つためのオプションは膨大にあります。

見てくださいよ〜、これは私がわざとキャッシュに毒を入れて自殺しているんですよ〜」と明確に指摘すれば、普通に扱われるでしょう。
 
Andrey Khatimlianskii:

おそらく、キャッシュの開始位置を動かさない、つまり常に同じ日付からクエリを実行する(0かどうかは関係ない)くらい でしょう。

チェックが必要です。

これはまさに、私が明示的に説明した通りです。

日付でサンプリングしている場合、リクエストごとに異なるサンプルをしようとするのはやめましょう。そして、それを前面に押し出そうと今日に至る。

位置に対する制御を具体的に行い、それが現在日を超えるか等しい場合は自動的にINT_MAXまで 減少させる。

 
Renat Fatkhullin:

以前も今も、キャッシュを殺すことが当たり前ではないことを示したいのでしょう。大ネタでキャッシュを潰したのは自分の責任だろ。そして、ある位置から具体的に手を加えるのは、もっぱらあなたの問題です。MQL5環境では、キャッシュを大量に削除する機会が多く見受けられます。

あるライブラリは、TimeCurrentからHistorySelectを使用して います。もうひとつは、ゼロからです。なぜ、ライブラリの中身を調べて、性能の互換性がないことを突き止めなければならないんだ?

例えば、無害なライブラリ同士が干渉しあう原因を突き止めることです。最後に、クリティカルシンキング(批判的思考)を働かせることです。

 
fxsaber:

あるライブラリは、TimeCurrentからHistorySelectを使用して います。もうひとつは、ゼロからです。なぜ、ライブラリの性能に互換性がないことを知るために、ライブラリの根幹に立ち入らなければならないんだ?

例えば、無害なライブラリ同士が干渉しあう原因を突き止めることです。ついにクリティカルシンキングのスイッチを入れる。

ライブラリ使って頭打ちになるのは個人の問題ってのがクソすぎる。

 
Renat Fatkhullin:

ライブラリ使って頭打ちになるのはお前自身のクソ問題だろ。

自分でAsmで一から全部書いてきたらどうだ?各ライブラリが別々に飛ぶとOKということがわかりました。しかし、両方を同時に使い始めると、途端に不調になります。

 

私たちはマイクロソフトにバグを報告することに成功しましたが、彼らのAPIで自殺する機会が約N百万回あることを書いたり、非難したりしたことは一度もありません。

特に、その過程で他人のライブラリーを使いながら。