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

 
Renat:

441ビルドサーバーへのアップデートは、昨晩、デモサーバーがリリースされ、ブローカーは土曜日にアップデートが行われる予定です。

残念ながら、大量の変更により、425サーバーの公式アップデートは1ヶ月前が最後となりました。これでまた、サーバーの更新が頻繁に行われるようになります。

週末以降の履歴のバグはだいぶ前に修正されたので、441ビルドではもう起こらないはずです。

ありがとうございます。問題が再発したら、またお知らせします。
 

ビルド441での異変に気づく

過去1.5年分の履歴、M5、GBPUSDでテストすると、始値のみ。50分間で20本、8人のエージェントが走りました。

昔は数桁速かったんですけどね。そして、テストが長くなればなるほど、走りがどんどん遅くなっていくことにも気がつきました。

これまで75分間に22本しか走っていない。

 
Jager:

ビルド441での異変に気づく

過去1.5年分の履歴、M5、GBPUSDでテストすると、始値のみ。50分間で20本、8人のエージェントが走りました。

昔は数桁速かったんですけどね。そして、テストが長くなればなるほど、走りがどんどん遅くなっていくことにも気がつきました。

私自身にも似たような問題があります
 

MetaEditorでコンパイルしようとすると、与えられたコードフラグメントの最終行について文句を言われる。

   CopyOpen(Symbol(),PERIOD_M30,0,100,OPEN_M30);
   CopyClose(Symbol(),PERIOD_M30,0,100,CLOSE_M30);
   CopyHigh(Symbol(),PERIOD_M30,0,100,HIGH_M30);
   CopyLow(Symbol(),PERIOD_M30,0,100,LOW_M30);
   CopyRealVolume(Symbol(),PERIOD_M30,0,100,VOLUME_M30);

次のように書かれています:'CopyRealVolume' -関数呼び出しに 適用できるオーバーロードは1つもありません。

理由がわからないのですが......?

削除済み  
Wangelys:

MetaEditorでコンパイルしようとすると、与えられたコードフラグメントの最終行について文句を言われる。

次のように書かれています:'CopyRealVolume' - 関数呼び出しに 適用できるオーバーロードは1つもありません。

その理由がわからないのですが...?

おそらく、関連するすべてのコード断片を引用する必要があります。

この方法で試してみてください。私のコードでは、配列の型が必要な型と一致しない場合や、配列の近くに括弧がない場合に、このエラー関数 呼び出しにいずれかのオーバーロードが適用できない)が発生しました。

//----------------------------------------------------------------------------//
//Work variables
double OPEN_M30[], CLOSE_M30[], HIGH_M30[], LOW_M30[];
long VOLUME_M30[];
//----------------------------------------------------------------------------//

CopyOpen(Symbol(),PERIOD_M30,0,100,OPEN_M30);
CopyClose(Symbol(),PERIOD_M30,0,100,CLOSE_M30);
CopyHigh(Symbol(),PERIOD_M30,0,100,HIGH_M30);
CopyLow(Symbol(),PERIOD_M30,0,100,LOW_M30);
CopyRealVolume(Symbol(),PERIOD_M30,0,100,VOLUME_M30);
 
Interesting:

関連するコードの箇所をすべて引用する必要があるのでは?

この方法で試してみてください。配列の型が必要なものと一致しない場合や、配列に括弧がない場合に、このようなエラー(関数呼び出しにいずれかのオーバーロードが適用できない)が表示されました。

たまには夜も寝なさいというのは、妻の言う通りなんでしょうね...。
確かに、間違ったタイプの配列が指定されていたので、それを修正したら全てOKになりました。ご指摘ありがとうございます。
昼寝しよっと...。

 

なぜかイベントが発生しない

         case CHARTEVENT_OBJECT_CREATE:
            //  Cобытие создания графического объекта
            break;
         case CHARTEVENT_OBJECT_CHANGE:
            // Cобытие изменения свойств объекта через диалог свойств
            break;
         case CHARTEVENT_OBJECT_DELETE :
            // Событие удаления графического объекта
            break;

デバッガーで確認したところ...。

私のやり方が悪いのか、教えてください。

 
vdv2001:

なぜかイベントが発生しない

デバッガーで確認したところ...。

私のやり方が悪いのかもしれない、教えてくれ。

チャートの設定を確認してください。439ビルドで変更がありました -https://www.mql5.com/ru/forum/23/page11#comment_62184

10.MQL5:CHART_EVENT_OBJECT_CREATECHART_EVENT_OBJECT_DELETE プロパティを追加し、適切なイベントの 発生を制御できるようにしました。
Список изменений в билдах MetaTrader 5 Client Terminal
Список изменений в билдах MetaTrader 5 Client Terminal
  • www.mql5.com
Автоматическое обновление доступно через систему LiveUpdate:.
 
vdv2001:

なぜかイベントが発生しない

デバッガーで確認したところ...。

私のやり方が悪いのか、教えてください。

ちなみに、CHARTEVENT_OBJECT_CHANGEは動作します。今、確認しました。
 

仮想売買を確認するためにテスターのティックを期間分集めたいのですが、以下のようにしています(M1タイムフレーム、EURUSDはどこでも指定可能です)。

//Collect tester's ticks: C'20.08.2010 00:00:00' から D'01.10.2010 00:00:00' まで。

void OnTick()
{
MqlTick last_tick。
if(SymbolInfoTick(Symbol(),last_tick))
{
if(last_tick.time>=D'20.08.2010 00:00:00')Print(last_tick.bid)となります。
}
else Print("SymbolInfoTick() "に失敗しました、エラー = ",GetLastError());
if(last_tick.time>=D'01.10.2010 00:00:00')ExpertRemove()。
}

そして、ログからこれらのティックを取り出し、別のExpert Advisorの配列に格納します。上記期間のティック量と ログファイルのティックを比較すると、ティックファイルのデータ損失があることに気がつきます。

ファイル内のティック数:1159105、この期間のティック量です。1161872

どのような原因が考えられますか? テスターから正しい刻みを得るにはどうしたらよいですか?

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5