カスタムシンボル。エラー、バグ、質問、提案。 - ページ 11

 
fxsaber:

2033:

2063:

 
fxsaber:

バグ 07.

テスターは、株価のカスタムシンボルとビッドプライスで棒グラフを作成するためにLastを生成します。

それに伴い、TerminalとTesterではバーの履歴が全く異なる。また、TSでバーを使う人(インジケーターなど)がいると、その人のバックテストの結果はランダムになってしまいます。

交換器具がカップの深さがゼロでない工具を意味する場合、この場合のバーの構造は修正されました。

あなた自身の例を挙げるか。

 
fxsaber:

バグ01。

カスタムキャラクターチャートを公開しました。例えば、手動ですべてのバーとティックの履歴を 削除した場合、チャートウィンドウは更新されずにハングアップします。

空のカスタムシンボルのような動作を期待する。

の意味をもう少し詳しく説明してください。

すべてのバー履歴を削除すると、カスタムシンボルチャートは「更新待ち」で空っぽになります。どうしたんですか?

 

バグ13。

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

MetaTrader 5 プラットフォームのベータ版ビルド2055:Pythonとの統合とストラテジーテスターの大幅な改善

fxsaber さん 2019.05.25 10:33

ビジュアルバグ(チャートのヒネリ)を再生するアプリケーション ChartSetSymbolPeriod

// Пример создания "живого" символа.

#include <Symbol.mqh> // https://www.mql5.com/ru/code/18855

const bool Init = EventSetMillisecondTimer(20); // С такой частотой будем пробрасывать тики

void OnInit()
{
  MathSrand((int)TimeLocal());
}

long Chart2 = 0;

void OnTimer()
{
  static bool FirstRun = true;

  static const SYMBOL Symb("CUSTOM_" + _Symbol + (string)MathRand()); // Создали символ
  
  static MqlTick Ticks[];
  static int Pos = 0;
    
  if (FirstRun)
  {
    Symb.DeleteHistory();       // Мало ли что-то было в истории - грохнули
    Symb.Delete(true);          // Символ тоже прибьем, чтобы исключить наличие тика в Обзоре рынка
    Symb.Create(NULL, _Symbol); // Воскресили девственно чистым.
    
    if (Symb.IsExist() && Symb.On())   // Если все отлично
    {     
      Chart2 = ChartOpen(Symb.Name, PERIOD_M1); // Открыли чарт
      CopyTicksRange(_Symbol, Ticks, COPY_TICKS_INFO, (ulong)D'2019.05.20' * 1000); // Взяли тики для проброса
    }
      
    FirstRun = false;
  }
  else if (Pos < ArraySize(Ticks))
  {
    Symb += Ticks[Pos++]; // Пробрасываем по тику
    
    // Для обновления чарта.
    ChartSetSymbolPeriod(Chart2, Symb.Name, PERIOD_M1); // Без этой строки дерганья графика прекращаются
    ChartRedraw(Chart2);    
  }
}

アニメーションは、チャートがぴくぴく動く様子を表現しています。ChartSetSymbolPeriodを削除すると、ひっかかりがなくなる。

 
Slava:

どういうことなのか、もう少し詳しく説明してください。

すべてのバー履歴を削除すると、カスタムシンボルのチャートは「更新待ち」と書かれた空の状態になります。どうしたんですか?

このEAを 実行します。数バー後に、チャートを閉じることなく、この機能を解除してください。CTRL+Uですべてのバーを削除します。

 
fxsaber:

バグ13。

同じExpert Advisorで以下のようなバグも再現されます。

左側がチャート、右側がそのプロパティウィンドウ(F8)です。

 

バグ 14.

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

MetaTrader 5 プラットフォームのベータ版ビルド2055:Pythonとの統合とストラテジーテスターの大幅な改善

fxsaber, 2019.05.27 09:10

どうにかして、チャートを開いているときにマーケットウォッチから削除できるカスタムシンボルを手に入れました。

このアドバイザーを 実行する。

 

バグ15

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

MetaTrader 5 プラットフォームのベータ版ビルド2055:Pythonとの統合とストラテジーテスターの大幅な改善

fxsaber さん 2019.05.25 10:54

CustomRatesUpdateの各アプリケーションの後、対応するカスタムシンボル上で動作しているインジケーターのprev_calculatedがゼロになります。

prev_calculatedは、CustomRatesUpdateで適用された最初のバーに変換されるはずです。


ZY CustomRatesReplaceと同じエラーです。

このEAの シンボル(ChartSetSymbolPeriod-rowを 削除したもの)で、以下のインジケータを起動します。

#property indicator_chart_window
#property indicator_buffers 0
#property indicator_plots indicator_buffers

int OnCalculate( const int rates_total, const int prev_calculated, const int, const double &[] )
{
  Print(prev_calculated);
  
  return(rates_total);
}

ゼロのみを返します。

 
Slava:

ストック楽器がカップの深さがゼロでない楽器を意味するのであれば、この場合のバー構造は修正されています。

どちらかの例を挙げてください。

今(2067)はこれですべて正しいです、ありがとうございます。

 
fxsaber:

2063:

2069: