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

 
paladin800:
GMTです。
TimeGMT() です。
 
artmedia70:
TimeGMT()です。
そうそう、この機能は私も偶然見つけました。外部パラメータで一方の変数を午前4時、もう一方を午後5時にして、TimeGMT()の結果だけを 比較する方法がわかりません。
 
papaklass:

CodeBaseで私のプロフィールに4つの公開コードが表示されるのはなぜですか?

しかし、メニューからCodeBaseに行き、「My Codes」を選択すると、7つの公開されたコードが表示されます。

そのコツとは?

計算が本当に違うんです。ユーザー実績は、mql4.comからインポートされた 出版物を考慮していません、あなたはそれらの3つを持っています。

mql5.comに掲載された出版物のみがカウントされます。このうち4件(MT5用3件+MT4用1件)がカウントされます。

 

皆さんお気づきだと思いますが、こちらのアカウントにログインする際、大文字小文字を区別する必要がありません。今、ここに書いているとき、私のログインが小さな文字と数字で書かれているのがわかると思います。全部大文字でも、大文字小文字でも、ログインしていることに変わりはない。OK、何の指示も出ていない。

彼のME5では、別の当事者と不快感を接続する必要がありますプロジェクトを作成 すると、ウィンドウがログイン仲間を書くためにユーザーを追加するときに、そのようなものがないことをメッセージが表示されることです。ServiceDeskに問い合わせたところ、文字の大文字と小文字を区別する必要があるとのことでした。つまり、ここでの記録は重要ではありませんが、ME5プロジェクトに追加する際には重要なのです。ここでは関係ないのであれば、プロジェクトでも関係ないようにすればいい。
 
zhserg:

何が問題なのか、おおよそで良いので教えてください。WinXPのせいでしょうか?

WinXPで確認しました - あなたのコードは動作します。

チャート上のオブジェクトのリストに、あなたのオブジェクトが表示されますか?

 
私は、アプリケーションを こちらのデスクサービスに 公開し、処理のスピードアップを図っています。(1週間経ちますが反応なし。)開設開始:2015.03.03 10:49,#1169959

端末のバージョンとビットレート

MetaTrader 5、ビルド1085

問題の内容

注文や取引の検索時間の数に対する依存度。履歴の各注文に対して呼び出される関数HistoryOrderGetDouble, HistoryOrderGetInteger, HistoryDealGetInteger, HistoryDealGetDoubleの実行時間は、それらによって処理される注文数の増加に伴って直線的に増加するはずであることは明らかである。

総実行時間 = 注文ごとのクエリ実行時間 * 注文数

現実にはそうではありません。その代わり、ミリ秒のカウント=0.000005*n^2nは 処理するオーダーの数)という電力依存性が明らかになった。

アクションの流れ

このスクリプトは、既存の問題を示しています。

//+------------------------------------------------------------------+
//|                                             TestSpeedHistory.mq5 |
//|                                 Copyright 2015, Vasiliy Sokolov. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2015, Vasiliy Sokolov."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
{
//---
   HistorySelect(0, TimeCurrent()+100);
   for(int end_order_index = 1000; end_order_index < HistoryOrdersTotal(); end_order_index+=1000)
   {
      uint tiks_begin = GetTickCount();
      TestProgression(end_order_index);
      uint tiks = GetTickCount() - tiks_begin;
      printf("Parsing " + (string)end_order_index + " for " + (string)tiks + " msc.");   
   }
}

void TestProgression(int end_order_index)
{
   for(int i = 0; i < end_order_index; i++)
   {
      ulong id = HistoryOrderGetTicket(i);
      string symbol = HistoryOrderGetString(id, ORDER_SYMBOL);
      double priceSetup = HistoryOrderGetDouble(id, ORDER_PRICE_OPEN);
      double volumeSetup = HistoryOrderGetDouble(id, ORDER_VOLUME_INITIAL);
      long tSetup = HistoryOrderGetInteger(id, ORDER_TIME_SETUP_MSC);
      string comment = HistoryOrderGetString(id, ORDER_COMMENT);
      ENUM_ORDER_TYPE type = (ENUM_ORDER_TYPE)HistoryOrderGetInteger(id, ORDER_TYPE);
      ENUM_ORDER_STATE state = (ENUM_ORDER_STATE)HistoryOrderGetInteger(id, ORDER_STATE);
      ulong magic = HistoryOrderGetInteger(id, ORDER_MAGIC);
      HistoryDealGetInteger
   }
}
//+------------------------------------------------------------------+

得られた結果

このスクリプトの実行時間は、end_order_indexの増加に伴い、直線的に増加することは明らかだと思われます。したがって、TestRegression の 1000 オーダーの処理に 16 ms を要する場合、2000 オーダーの処理には 16 * 2 = 32 ms を要することになります。しかし、これは事実ではありません。その代わり、依存関係は段階的なものとなっています。スクリプトには、次のようなメッセージが表示されます。

2015.03.03 12:14:29.385 TestSpeedHistory (USDCHF,D1)    Parsing 22000 for 4025 msc.
2015.03.03 12:14:25.354 TestSpeedHistory (USDCHF,D1)    Parsing 21000 for 3666 msc.
2015.03.03 12:14:21.689 TestSpeedHistory (USDCHF,D1)    Parsing 20000 for 3323 msc.
2015.03.03 12:14:18.358 TestSpeedHistory (USDCHF,D1)    Parsing 19000 for 2995 msc.
2015.03.03 12:14:15.365 TestSpeedHistory (USDCHF,D1)    Parsing 18000 for 2715 msc.
2015.03.03 12:14:12.658 TestSpeedHistory (USDCHF,D1)    Parsing 17000 for 2418 msc.
2015.03.03 12:14:10.243 TestSpeedHistory (USDCHF,D1)    Parsing 16000 for 2106 msc.
2015.03.03 12:14:08.134 TestSpeedHistory (USDCHF,D1)    Parsing 15000 for 1872 msc.
2015.03.03 12:14:06.266 TestSpeedHistory (USDCHF,D1)    Parsing 14000 for 1622 msc.
2015.03.03 12:14:04.645 TestSpeedHistory (USDCHF,D1)    Parsing 13000 for 1388 msc.
2015.03.03 12:14:03.244 TestSpeedHistory (USDCHF,D1)    Parsing 12000 for 1170 msc.
2015.03.03 12:14:02.074 TestSpeedHistory (USDCHF,D1)    Parsing 11000 for 983 msc.
2015.03.03 12:14:01.097 TestSpeedHistory (USDCHF,D1)    Parsing 10000 for 796 msc.
2015.03.03 12:14:00.295 TestSpeedHistory (USDCHF,D1)    Parsing 9000 for 639 msc.
2015.03.03 12:13:59.657 TestSpeedHistory (USDCHF,D1)    Parsing 8000 for 500 msc.
2015.03.03 12:13:59.164 TestSpeedHistory (USDCHF,D1)    Parsing 7000 for 358 msc.
2015.03.03 12:13:58.796 TestSpeedHistory (USDCHF,D1)    Parsing 6000 for 266 msc.
2015.03.03 12:13:58.537 TestSpeedHistory (USDCHF,D1)    Parsing 5000 for 171 msc.
2015.03.03 12:13:58.369 TestSpeedHistory (USDCHF,D1)    Parsing 4000 for 94 msc.
2015.03.03 12:13:58.277 TestSpeedHistory (USDCHF,D1)    Parsing 3000 for 47 msc.
2015.03.03 12:13:58.229 TestSpeedHistory (USDCHF,D1)    Parsing 2000 for 15 msc.
2015.03.03 12:13:58.208 TestSpeedHistory (USDCHF,D1)    Parsing 1000 for 16 msc.


処理時間の注文数依存性を表す関数。

期待される結果

この操作にはO(n)の 時間がかかると予想されるが、O(n^2) の時間がかかるのである。

詳細はこちら

スクリプトが正しく動作することを確認するには、大量の取引と注文があるアカウントでスクリプトを実行する必要があります。

時間対注文数の関数として、添付のグラフがあります。関数演算の注文量に対する段階的な依存性を明確に示している

重要】 私の観測によると、この不快な依存性は、2014年夏の初め頃にMetaTrader 5に現れました。それまでは、すべてが高速に動いていた。

 
Good day !私の質問は正しいセクションに投稿されていることを願います。WineでMT5をテストしてみましたが、うまくいきません。Wineを起動すると、アプリケーションが動作しているにもかかわらず、エラーが表示されます。また、証明書の保存先も明確ではありません。インストールしても、単にアプリケーションをコピーしても、エラーは同じです。念のため、サウンドも無効にしてみたが、効果はない。多分どこかにLinuxで動作する安定したunambiguouslyをダウンロードするために、バージョン?
 
polik:
Good day !私の質問が正しいセクションに置かれたことを望みます。WineでMT5を使おうとしたところ、うまくいきません。アプリケーションは動作しているのに、Wine起動時にエラーが表示される。また、証明書の保存先も明確ではありません。インストールしても、単にアプリケーションをコピーしても、エラーは同じです。念のため、サウンドも無効にしてみたが、効果はない。Linuxで明確に動作する安定版をどこでダウンロードできるのか見当がつきません。

午後

エラーは何ですか?どのようなシステムなのでしょうか?ワインバージョン?

 
C-4:
デスクサービスでの依頼を ここで公開することで、処理のスピードアップを図っています。(もう1週間経ちますが、反応なし。)開設開始:2015.03.03 10:49,#1169959

端末のバージョンとビットレート

MetaTrader 5、ビルド1085

問題の内容

注文や取引の検索時間がその数に依存する度合い。履歴の各注文に対して呼び出される関数HistoryOrderGetDouble, HistoryOrderGetInteger, HistoryDealGetInteger, HistoryDealGetDoubleの実行時間は、それらによって処理される注文数の増加に伴って直線的に増加するはずであることは明らかである。

総実行時間 = 注文ごとのクエリ実行時間 * 注文数

現実にはそうではありません。その代わりに、ミリ秒=0.000005*n^2nは 処理するオーダーの数)という電力依存性が検出された。

多数の指標を計算する場合にも同様のパターンが発生する。すべてはバージョン1079で突然始まった。
8つのTFを同時に開いていて、それぞれに10個のインジケータを付けています。仕事ができないのです。

 

これを現実に持っている人は......。

mt4が常にホバリングしています。