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

 
antt:
どのアクセスポイント?
キプロス
 

状況は次のとおりです。例えば、金曜日にオープンポジションがあるとします。ストップロスと テイクプロフィットを 設定します。取引終了を待たずに、これらのポジションを残し、通信を遮断し、パソコンをスリープさせる(ハイバネートモード)。翌日には電源が入る。インターネット接続が確立されます。サーバーへの接続がある。土曜日市場は閉鎖されています。ポジションがクローズされ、一部はストップロス、一部はテイクプロフィットで 決済されていることが確認できます。これらの取引は、取引 ターミナルの「履歴」タブで確認することができます。

過去3回の取引履歴を要求する。

   datetime Start=0;
//---
   if(!HistorySelect(Start,TimeCurrent())) // Загрузим историю сделок
     {
      Print("Ошибка при загрузке истории!"); return;
     }
   else
     {
      ulong ticket=0;
      datetime time=0;
      string symbol="",comment="";
      //---
      int total_deals=HistoryDealsTotal();
      //---
      for(int d=total_deals-1; d>=total_deals-3; d--)
        {
         if((ticket=HistoryDealGetTicket(d))>0) // Если сделка выбрана
           {
            symbol=HistoryDealGetString(ticket,DEAL_SYMBOL);
            comment=HistoryDealGetString(ticket,DEAL_COMMENT);
            time=(datetime)HistoryDealGetInteger(ticket,DEAL_TIME);
            //---
            Print("<-- symbol: ",symbol,"; comment: ",comment,"; time: ",time," -->");
           }
        }
     }

そして、歴史が一致しないことがわかります。つまり、ターミナルで見ることはできても、プログラム的に取得することはできないのです。

//---

これはバグなのでしょうか、それともデザインされたもので、マーケットが開いたときだけプログラム的にこれらの取引ができるようになったのでしょうか?

追伸:この方法も試しましたが、役に立ちません。

#define Milliseconds_Ahead 200
//---
datetime TimeCurrentAhead()
  {
   return(TimeCurrent()+Milliseconds_Ahead);
  }
 

tol64:

...

追伸:私もやってみましたが、うまくいきませんね。

出口を見つけた。Market Watch ウィンドウでは、終了時刻を確認することができます。つまり、サーバーへの接続があり、ティックが到着した最後の時間(last tick time)です。

つまり、私の場合18:43:30

まだこの機能を使っていることが判明...。

#define Milliseconds_Ahead 10000
//---
datetime TimeCurrentAhead()
  {
   return(TimeCurrent()+Milliseconds_Ahead);
  }

...解決できるのですが、相当な余裕を持って依頼する必要があります。あるいは、この松葉杖を使わずに、永遠に忘れてしまい、リアルタイムで使用する場合は、履歴要求を行う際にTimeLocal()関数を使用することも可能です。テスターでは、TimeCurrent()またはTimeCurrentAhead()を使用してください。こんな感じ。

datetime ChoiceTimeFunction()
  {
   if(NotTest())
     { return(TimeLocal()); }
   else
     { return(TimeCurrent()+Milliseconds_Ahead); }
//---
   return(TimeLocal());
  }

それなら、この点はヘルプか何かに書いてあるはずなのですが...。

 

削除されたグラフィックを端末で復元することが可能です。

オープン削除

復元する削除済みチャートのサブメニューを開きます。端末の設定で「削除したウィンドウを保存して再開する」にチェックが入っている場合、削除したチャートが保存されます。 削除されたチャートのテンプレートはすべて/Profiles/Deletedディレクトリに 保存されます。 このコマンドを実行すると、これらのテンプレートにアクセスし、対応するチャートが開かれます。削除されたチャートテンプレートは、このメニューの対応するコマンドで削除することができます。

状況は次のとおりです。Expert Advisor がチャートにぶら下がり、その情報パネルが 表示されます。OnDeinit()関数で、チャートを閉じたら情報パネルを削除するように指定し、オブジェクトなしで復元するためのテンプレートを保存しています。チャートを閉じます。削除された ものを開く]オプションを使用して、復元しますが、オブジェクトと一緒に復元され、不正確です(あるものはあり、ないものはない)。Expert Advisor は、初期化後にすべてを復元します。そのため、汚れが残ってしまい、手抜き工事という印象を与えてしまいます。端末の視点ではなく、Expert Advisorのユーザーの視点で見積もっています。その他の非初期化イベントでは、すべて正常に動作します。テンプレートの保存は初期化の前に行われると理解しています。なぜなら、初期化中もオブジェクトは削除されますが、テンプレートに保存される時間があるためです。

 

ここで問題が...。

私の知る限り、端末はサーバー上の追加履歴とローカル履歴のある種の「ギャップ」に「気づき」、そのギャップを埋めるために必死に自動ダウンロードを開始します。これはもちろん素晴らしいことですが

非標準タイムフレームという現象があり、その履歴はどこからかダウンロードしたものではなく、端末が自動的に「頭の中」に構築しているようだ。そして、ここで気がついたことがあります。履歴の「ずれ」の指摘と自動ダウンロードで万事OKなら、標準的でない時間軸の構築され、その後破損した(ディスク上かメモリー内の)履歴を再構築する状況は、本当に論外だ。私の端末がすべての履歴をダウンロードした後、すべての時間枠を飛び越えて、端末がダウンロードもローカルでの再構築もしなかったH 2とH 3の最近の履歴セグメント全体が誰かに盗まれていることを発見したんだ。ターミナルをアンロードし、さらにターミナルを起動 した状態でC:arrangeProgram FilesMetaTrader 5

もちろん、非標準的なものも含め、どのような時間枠でもこれらのかじられたセグメントを「感じ」て、すぐに埋めようとするような、よりスマートな端末があればいいと思います。

---------------

追記:とはいえ、正直なところ、端末はまったく何も見えていない。私は私のタイムフレームは、何らかの理由で2009年にあったが、実際には1999年からMetaQuotesで始まる分の歴史の曲線と一年間座っている - と何?その自動ダウンロードはどこにあるのですか? ダウンロードするのに十分な容量があったのに、今日まで、すべてをアンインストールして再インストールするまでダウンロードがありませんでした(以前も同じことをしましたが、効果がありませんでした)。もちろん、レジュームどころか、ターミナルですべての履歴を一からフルダウンロードすることも可能だ。まあ、少なくともそれがパンパンなんですけどね。

この点で、私は、プログラムをデバッグし、他のユーザーによるソフトウェア製品の消費に依存しているすべてのMQLプログラマに重要な警告を与えたいと思います:あなたの製品が計算される歴史の可用性を警戒する:不完全または高い時間枠の履歴で置換したテスト中に、処理速度が良いだろうが、それはあなたやあなたのプログラムのユーザーが最新のコンピュータと "エンドレス "エラーメッセージで100%のCPU負荷から轟音を発生することが起こる可能性があります。

 

'f0_34' - 期待される比較表現

この警告の意味を教えてください。

 

またしても、この種のミスが表面化したのである。

問題箇所は特定されています。サービスデスクでの詳細説明。

//---

P.S. 既存のリクエストで、同様の問題を一旦解決したものを完成させました。しばらくすると、私のプロフィールの近くに通知が表示されました。サービスデスクに ログインしたところ、リクエストが完全に消えていました。もう一度、やり直さなければならないのでしょうか?)))

 
tol64:

またしても、この種のミスが表面化したのである。

問題箇所は特定されています。サービスデスクでの詳細説明。

//---

P.S. 既存のリクエストで、同様の問題を一旦解決したものを完成させました。しばらくすると、私のプロフィールの近くに通知が表示されました。サービスデスクに ログインしたところ、リクエストが完全に消えていました。もう一度、やり直さなければならないのでしょうか?)))

申請書やコメントは整っているのですが、なぜかプロフィールに表示されていません。

ぜひ、大切に使わせていただきます。

 
MetaQuotes:

申請書とコメントは揃っているのですが、なぜかプロフィールに表示されません。

必ず調べます。

私のアプリケーションのいくつかは、オープンでもクローズドでも全く消えてしまったので、どうか解決してください。
 
MetaQuotes:

申請書とコメントは揃っているのですが、なぜかプロフィールに表示されません。

必ず調べます。

ありがとうございます。解明があるので楽しみにしています。問題は、私が指摘したところから始まっているわけではないのです。発生領域は今やユビキタスになっています。