mql5言語の特徴、微妙なニュアンスとテクニック - ページ 164

 
Vict:

コードページって、何のこと?エンコーディングは可変長であるため、「特殊コード」は文字をエンコードするためのバイト数を定義する。UTF-8は、UTF-16と同様にあらゆるUnicode文字をエンコードすることができます。また、可変長のutf-16(サロゲートペア)。

ユニコードを論じることは、ここでの課題ではありません。

 
Edgar Akhmadeev:

それだけではありません。

ANSIキリル文字=CP1251であるため

ユニコードです。

UTF-8 = CP65001, // UNIX/Linux

UTF-16LE = CP1200, // Windows

utf-16be = cp1251。

UTF-32LE = ?

UTF-32BE = ?

ISO10646です。

UCS-2〜UTF-16

UCS-4 = UTF-32

混乱?いいえ、そうではありません。

その通り、プラットフォームのアーキテクチャが異なるため、Windowsでは誰もがUTF-16LE/BEと言うのです。
Windows端末はWindows用に書かれているからね、了解 ))

 
 
ArrayCopyを使えば、「行列」を簡単に再構築することができます。
void OnStart()
{
  int Array1[];
  int Array2[][2];
  
  ArrayResize(Array1, 6);
  
  Array1[0] = 0;
  Array1[1] = 1;
  Array1[2] = 2;
  Array1[3] = 3;
  Array1[4] = 4;
  Array1[5] = 5;
  
  Print(ArrayCopy(Array2, Array1));

  ArrayPrint(Array2);      
}


    [,0][,1]
[0,]   0   1
[1,]   2   3
[2,]   4   5


ArraySwapでは それができないのが残念です。

 
実データでのEAのプロファイリングを 可能にするために、以下の行を追加しています。
const int TimeToStop = 100 * EventSetTimer(1); // Сколько секунд на профилирование.

void OnTimer()
{
  static int Timer = 0;
  
  if (Timer++ >= TimeToStop)
    ExpertRemove();
}
 
fxsaber:
実データでのEAのプロファイリングを 可能にするために、以下の行を追加しています。

プロファイラを手動で停止することの何が問題なのでしょうか?

 
Andrey Khatimlianskii:

プロファイラを手動で停止することの何が問題なのでしょうか?

手動停止では、残念ながらプロファイリングの結果は得られません。

 
fxsaber:

手動停止では、残念ながらプロファイリングの結果は得られません。

コードに問題があるのでしょう。私には効果的です。

 
fxsaber:

手動停止では、残念ながらプロファイリングの結果は得られません。

同じ問題です。
30,000トレード(5年間の取引)の履歴を読み込むコードでプロファイリングを実行しても、プロファイリングの結果が出ません。
すでに配列で試して、配列で作業しています。ラグは少ないですが、ありますね。
 
Vladislav Andruschenko:
同じ問題です。
3万トレード(5年分の取引)分の履歴を読み込むコードでプロファイリングを実行した甲斐があり、結果はゼロでした。

はい、歴史読本のプレゼントがあります。

理由: