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

 
fxsaber
そのような場合は、余分な括弧がなくても、動作します。
ブラケットは自分用です。そのほうがよく見えるんです。
 
目的のプロパティの下で適切な機能を選択するのが疲れる場合
double TerminalInfo( const ENUM_TERMINAL_INFO_DOUBLE Property )
{
  return(TerminalInfoDouble(Property));
}

long TerminalInfo( const ENUM_TERMINAL_INFO_INTEGER Property )
{
  return(TerminalInfoInteger(Property));
}

string TerminalInfo( const ENUM_TERMINAL_INFO_STRING Property )
{
  return(TerminalInfoString(Property));
}

void OnStart()
{
  Print(TerminalInfo(TERMINAL_COMMUNITY_BALANCE));
  Print(TerminalInfo(TERMINAL_LANGUAGE));
  Print(TerminalInfo(TERMINAL_BUILD));
}
 

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

ライブラリ: TypeToBytes

fxsaber さん 2017.06.13 16:01

string GetDirectory( const string FileName )
{
  int Pos = StringFind(FileName, "\\");
  int LastPos = Pos;
  
  while (Pos >= 0)
  {
    LastPos = Pos;
    
    Pos = StringFind(FileName, "\\", Pos + 1);
  }

  return((LastPos >= 0) ? StringSubstr(FileName, 0, LastPos + 1) : "");
}

// Возвращает список всех файлов по фильтру
int GetFileNames( string &FileNames[], int Pos = 0, string Filter = "*", const int Common_Flag = 0 )
{
  string FileName;
  const long handle = FileFindFirst(Filter, FileName, Common_Flag);

  if (handle != INVALID_HANDLE)
  {    
    const string Directory = GetDirectory(Filter);    
    Filter = StringSubstr(Filter, StringLen(Directory));
    
    do
    {
      const string TmpFileName = Directory + FileName;
      
      ArrayResize(FileNames, Pos + 1);      
      FileNames[Pos] = TmpFileName;      
      Pos++;
        
      if (!FileIsExist(TmpFileName, Common_Flag))
        Pos = GetFileNames(FileNames, Pos, TmpFileName + Filter, Common_Flag);
    }
    while (FileFindNext(handle, FileName));  
    
    FileFindClose(handle);
  }
  
  return(Pos);
}
 
HistoryDealGetInteger、 HistoryDealGetDoubleのとき、HistoryDealSelect関数の 目的を教えてください。
HistoryDealGetString関数で、ticket_numberを再指定する場合、どのようにすればよいですか?
 
. ...リック・D....:
関数 HistoryDealGetInteger、 HistoryDealGetDoubleの中で、関数HistoryDealSelectの 目的は何か教えてください。
HistoryDealGetString関数では、再度ticket_numberを指定する必要があるのですね。

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

mql5言語の特殊性、微妙なニュアンスとトリック

fxsaber さん 2017.06.07 22:20

履歴機能でデータを利用できる現在の履歴テーブルには、注文テーブルと取引テーブルの2つがあります。

その内容は、HistorySelect関数によってのみ影響されます。そして、それは次のように起こります。

  • HistorySelectとHistorySelectByPosition - 両方のテーブルに同時に影響します。
  • HistoryDealSelectは、Dealsテーブルのみに影響します(現在のOrders-Historyテーブルには影響しません)。
  • HistoryOrderSelectはOrdersテーブルのみに影響します(現在のDeals-Historyテーブルには影響しません)。

Dealテーブルが1つの要素になる。
 
チャート上に配置できるグラフィックオブジェクトの数に制限はありますか? ) ピクセルチャートではなく、トレンドライン、長方形などのグラフィックエレメントです。
 
コンスタンチン
チャート上に配置できるグラフィックオブジェクトの数に制限はありますか? ピクセルグラフィックではなく、トレンドライン、長方形などのグラフィックエレメントを指しています。
2000個以上試しましたが、うまくいきました。
 
ヴィタリー・ムジチェンコ
2000個以上試しましたが、うまくいきました。

と、刻々と 変化していくのであれば、リソース的にどのようにコストがかからないのか。

1. 2000個のグラフィックオブジェクトを使用する

2. Canvasクラスを使用し、各Tickに同じ2000枚のグラフィカルオブジェクトの図面を含む1つの図面を作成する。

 
コンスタンチン

と、刻々と 変化していくのであれば、リソース的にどのようにコストがかからないのか。

1. 2000個のグラフィックオブジェクトを使用する

2. Canvasクラスを使用し、すべての目盛りに同じ2000枚のグラフィカルオブジェクトを描いた1枚の図面を作成する。

キャンバスは数倍生産性が上がりますよ、試してみました。
 
ヴィタリー・ムジチェンコ
キャンバスは数倍生産性が上がりますよ。

チャートに水平線の 配列を描きたいのですが、コード例を送ってもらえますか?

Oops )) サイトのヘルプがより拡張されていることが判明し、私が探しているものを見つけました - CLineChartクラス))

理由: