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

 

MT4です。デモサーバー MetaQuotes-Demo.hole 2012年8月30日から2012年9月10 日まで。確認済み。

2012年8月30日から2012年9月10日までの期間限定販売

 
Renat:

信じられません。

わざと3回ドライブから全ての履歴を消去し、3つのアクセスポイントを全て再起動して確認しました。すべての歴史が残っています。

引用のアーカイブを弄る必要はなく、通常の履歴をきれいに確認することができます。

MQのMT4をわざわざ入れて、通常の履歴で遊んでいます。

ホームボタンを押すと、ドライブから削除した後、履歴がダウンロードされ、接続状態から確認できます。スクリーンショットのようになります。

これは、比較のための別のブローカーであり、それは、スイッチングとダウンロード


ps on Home download "to end" does not work automatically, I don't remember, was it like this before?

 
barabashkakvn:

MT4です。デモサーバー MetaQuotes-Demo.hole2012年8月30日から2012年9月10 日まで。確認済み。

2014年ではなく、2012年ごろのようです。

そう、そこに穴が開いているのです。History Centerから分履歴を読み込み、時間軸の再計算に同意する。穴は埋まる。

ブローカーサーバーを使用するか、MT5に切り替えると、すべてのタイムフレームで1分間の履歴が表示されるため、履歴がより良くなります。

 

2014.09.30の サービスデスク#1073960に あるMQL4に関する 要望について、なぜ誰も答えてくれないのでしょうか?

Ошибка в файлах стандартной библиотеки при попытке использовать метод GetData классов CiForce и CiOBV

'm_applied' - improper enumerator cannot be used Oscilators.mqh   494 60

'm_applied' - improper enumerator cannot be used Volumes.mqh      241 34

И ещё ошибка в классе CiATR:

'GetData' - function must have a body Oscilators.mqh   25 22


同じバグについては、3ヶ月前にこちら(https://www.mql5.com/ru/forum/1111/page1190#comment_993762)で書きました。

正直、そういう態度は見苦しい。 間違いを指摘して助けているように見えるが、誰も答えようともしない。 自分のライブラリの不正確さを本当に気にしていないのか?

 

ポストがない-問題ない?

子供の庭。

 
Silent:

ポストがない-問題ない?

子供の庭。

何を言ってるんだ?今日はこのスレッドから削除された書き込みはありません。
 
meat:

MQL4の標準ライブラリ、特にインジケータクラスでエラーが発生します。

CiATR クラスには、GetDataメソッド本体がありません。

GetData() メソッドは、ベースとなる親クラスで定義されているため、この場合はオーバーライドする必要はありません。

GetData()を呼び出す前に、Refresh()メソッドを使用してクラスのインジケータ・バッファの値をリフレッシュする必要があることに注意してください。

//+------------------------------------------------------------------+
//|                                                   CheckCiATR.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Oscilators.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiATR iatr;
   bool res=iatr.Create(_Symbol,0,15);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=iatr.Handle();  // хендл индикатор а
      //--- набросим индикатор на график      
      iatr.AddToChart(0,1);
      //--- количество баров, на которых индикатор рассчитан
      int bars=iatr.BarsCalculated();
      //--- количество буферов в индикаторе    
      int buffers=iatr.BuffersTotal();
      Print("Buffers=",buffers);
      //--- размер индикаторного буфера      
      int size=iatr.BufferSize();  // для экономии по умолчанию установлено 100
      Print("BufferSize=",size);
      //--- покажем как увеличить размер индикаторного буфера      
      bool resized=iatr.BufferResize(bars-1);
      //--- если изменить размер индикаторного буфера не удалось вдруг
      if(!resized)
        {
         PrintFormat("Ошибка при попытке увеличить размер индикаторного буфера!, GetLastError = "
                     ,GetLastError());
        }
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      iatr.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" ATR(%d) = %f",i,iatr.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+
 
meat:

MQL4の標準ライブラリ、特にインジケータークラスにエラーがあります。

ENUM_APPLIED_VOLUMEパラメータを使用するインジケータ(CiForceCiOBV)では、エラーが発生します:不適切な列挙子は使用できません。


以下は、コンパイルして動作する例です。

//+------------------------------------------------------------------+
//|                                                Check_CiForce.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Oscilators.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiForce iforce;
   bool res=iforce.Create(_Symbol,0,15,MODE_SMA,VOLUME_TICK);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=iforce.Handle();  // хендл индикатор
      //--- набросим индикатор на график      
      iforce.AddToChart(0,1);
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      iforce.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" %s(%d) = %f",iforce.Name(),i,iforce.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+

и

//+------------------------------------------------------------------+
//|                                                  Check_CiOBV.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2013, MetaQuotes Software Corp."
#property  link      "http://www.mql5.com"
#property  version   "1.00"
#include<Indicators\Volumes.mqh>

#property  script_show_inputs
input int sleep_debug=10; // пауза в секундах при отладке
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   CiOBV indicator;
   bool res=indicator.Create(_Symbol,0,VOLUME_TICK);
   if(res)
     {
      Sleep(3000);                // дадим время на расчет индикатора
      long handle=indicator.Handle();  // хендл индикатор
      //--- набросим индикатор на график      
      indicator.AddToChart(0,1);
      //--- ! обязательно обновляем данные в буфере перед обращением к данным индикатора      
      indicator.Refresh();
      //--- выведем 10 последних значений индикатора и сравних их с DataWindow      
      for(int i=10;i>=0;i--)
        {
         // буфер индикаторя является таймсерией - индекс увеличивается вглубь истории
         PrintFormat(" %s(%d) = %f",indicator.Name(),i,indicator.GetData(0,i));
        }
     }
//--- пауза на тот случай, если скрипт запустили в отладке
   if(MQLInfoInteger(MQL_DEBUG))
     {
      Sleep(sleep_debug*1000);
     }
  }
//+------------------------------------------------------------------+
 
ログにメッセージが表示されるのですが、何が原因でしょうか?
ごく稀に出現するのですが、それでも真相を突き止めたい。プログラムの安定性が必要なのです。
3 14:55:11.739 Cannot open file 'D:\progymt4MQL4⇄indicators.ex4' [123].
 
ALXIMIKS:
というメッセージがログに表示されましたが、何が原因でしょうか?
ごく稀に出現するのですが、それでも真相を突き止めたい。プログラムの安定性が必要なのです。
どのような条件で表示されるのですか?インジケーターの名称は何ですか?