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

 
fxsaber:

これが、取り外しのできないインジケーターの考え方です。

自分自身」へのリンクを整理することでしょうか。だから、「もらった」のではなく、インジケータをエキゾチックに書いたのはあなたなのです。

もし、このインジケーターの動作に戸惑うようであれば、そのままにしておいてください。

どこに加えればいいのか、少なくとも理論的にはどのように役立つのか。これは端末のバグです。深刻なバグである。私はラッキーでした。ログを見ると、インジケータが動作していることがわかります。しかし、端末には何の情報もなく動作しているインジケーターがたくさんあります。 しかし、話題になっているのは、空の端末でなぜこんなにCPUに負荷がかかっているのか?

自分の足を撃つ」方法は、結構たくさんあるんですよ。指標を矮小化することができる。それに、うっかりデザインを書いてしまうより、うっかりやってしまう方がずっと簡単です。これも「端末のバグ」なのでしょうか?

 
Anton:

自分自身」についての言及を整理することでしょうか。だから、「もらった」のではなく、インジケータをエキゾチックに書いたのはあなたなのです。

インジケーターのこの挙動に戸惑うようであれば、そのようにしなければいいのです。

自分の足を撃つ」方法は、結構たくさんあるんですよ。指標を矮小化することができる。それに、うっかりデザインを書いてしまうより、うっかりやってしまう方がずっと簡単です。これも「端末のバグ」なのでしょうか?

完全に空の(チャートを開いていない)ターミナルで、重いインジケータを無意識に実行できてしまうのは、ターミナルのバグと言えます。そして疑問なのが、なぜ端末がCPUを平気で搭載しているのか?バグだ!内部のタスクマネージャーもなく、制御もできない。
 
Anton:

自分自身」についての言及を整理することでしょうか。だから、「手に入れた」のではなく、インジケータをエキゾチックに書いたのはあなたなんです。

エキゾチックではなく、指標の中で自己を確認しようとするものです。もっと文化的な方法でやろうとすると、バツが悪くなってしまうのです。
#property indicator_separate_window
#property indicator_buffers 0
#property indicator_plots   0

bool WhereIAm( long &Chart_ID, int &Sub_Window )
{
  const string PrevShortName = MQLInfoString(MQL_PROGRAM_NAME);  
  
  MathSrand((int)TimeCurrent());
  const string ShortName = (string)MathRand();
    
  IndicatorSetString(INDICATOR_SHORTNAME, ShortName);    
  
  Chart_ID = ChartFirst();

  Print(Chart_ID);
  
  while (Chart_ID > 0)
  {
    const int Total = (int)ChartGetInteger(Chart_ID, CHART_WINDOWS_TOTAL);
    
    for (Sub_Window = 0; Sub_Window < Total; Sub_Window++)
    {
      const int TotalIndicators = ChartIndicatorsTotal(Chart_ID, Sub_Window);
      
      for (int i = 0; i < TotalIndicators; i++)
        if (ShortName == ChartIndicatorName(Chart_ID, Sub_Window, i))
        {
          IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
          
          return(true);
        }
    }
    
    Chart_ID = ChartNext(Chart_ID);
  }

  IndicatorSetString(INDICATOR_SHORTNAME, PrevShortName);
  
  return(false);
}


#define  TOSTRING(A) #A + " = " + (string)A + " "

void OnInit( void )
{
  long Chart_ID;
  int Sub_Window;
  
  if (WhereIAm(Chart_ID, Sub_Window))
    Print(TOSTRING(Chart_ID) + TOSTRING(Sub_Window));
    
  return;
}
int OnCalculate( const int rates_total,
                 const int prev_calculated,
                 const datetime &time[],
                 const double &open[],
                 const double &high[],
                 const double &low[],
                 const double &close[],
                 const long &tick_volume[],
                 const long &volume[],
                 const int &spread[] )
{
  return(rates_total);
}
だから、サービスデスクが誤解されるのは、大げさな 言い方をすればバツが悪いんです。
 
fxsaber:
MQL5で書くのは久しぶりだな、プログラマーじゃないし。MQL4は知っているし、今はMQL5も少し知っている。MT5でほぼ毎日バグに遭遇するのはなぜか?実際、ほとんど毎日、道行く人が偶然に虫を見つけているのですこれはどういうことなのか、なぜ生なのか?テスターは一切なし?MTがうっとうしくなってきたというのは嘘ではないでしょう。そして、さらに悩ましいのは、これ以上プログラミングが できないという現実です。

そうなんですか?信じがたい話ですが :)

トライ

 
pako:

そうなんですか?信じがたい話ですが :)

トライ

取引に必要なだけです。端子やテスターなどを作っても高くはなりませんね。私の人生は何百年という単位で測れるものではありません。
 
fxsaber:
エキゾチックではなく、指標で自己を確認しようとするものです。サービスデスクでは、控えめに言っても誤解を招く ような表現が多かったからです。

ポイント2にご注意ください。

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

サービスデスクでの回答について - すべての人は時に間違いを犯す。

Документация по MQL5: Операции с графиками / ChartWindowFind
Документация по MQL5: Операции с графиками / ChartWindowFind
  • www.mql5.com
Операции с графиками / ChartWindowFind - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber:
取引に必要なのは1台だけ。端子やテスターなどを作ってもバチは当たらない。私の人生は何百年という単位で測れるものではありません。
MTからデーターを取り、DLLに加工しました。
 
pako:
山からデートを取り、DLLで処理。
言語は問題なし、可視化(指標)と日付(コピースティック)に問題あり。これをDLLに書くのは、時間の無駄です。
 
Anton:

ポイント2にご注意ください。

https://www.mql5.com/ru/docs/chart_operations/chartwindowfind

サービスデスクでの回答について - すべての人は時に間違いを犯す。

ありがとうございます。あとはShortNameの曖昧さを解消するのみです。
 
fxsaber:
言語は問題なし、可視化(指標)と日付(コピースティック)に問題あり。これをDLLで書くとなると、歯がゆい。
ダニの中に魚がいるのか?