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

 

月曜の最初の8時間はどこだ?

 
ディスコ

+ テスト中にターミナルを最小化し、テスト後に最大化すると、(引用ウィンドウを折りたたむ)みたいなことが起こります。

ビルド567、ターミナル - アルパリ(565は、これらの不具合だったので)、WinXP SP3(32ビット)、アルパリのデモ口座 - ルーブル。

 

ビルド567

メモリ 不足の情報が絶えない。以前はこのようなことはなかったのです。

ドロップダウンのカレンダー(テスト期間の開始と終了)は、開いてから0.5秒後に閉じます。

初回入金額は常に10000にリセットされます。

 
notused:
ディスコ

Bild 567、Alpariターミナル(565ではこのような不具合がありました)、WinXP SP3(32bit)、Alpariデモ口座 - ruble。

また、行が空になった瞬間にSymbolInfoTick(Symbol(), tick) は tick.bid と tick.ask に 0 を返します。

注文やポジションをオープン/クローズ/変更するためのウィンドウには、+ゼロが表示されます。

どうやら問題はアルパリのルーブル口座にあるようで(というかガラスのせいかも)、Brocoからターミナルを開いてそこにアルパリのデモサーバーを入力→デモのルーブル口座を開く→「ディスコ」が繰り返されるようになりました。

 

こんにちは。

もしかしたら、MQL5でこの問題が発生した人がいるかもしれません。時々(100件中1件程度)、私自身が手動ですべての保留中の注文を削除するまで、EAが保留中の注文を削除できないことがあります。 この場合、エラーは単に削除されません。それとも、誰かが削除しているのでしょうか?どなたかお手伝いいただける方がいらっしゃいましたら、必要であれば「キャッチオーダー」でログインとパスワードとアカウント番号をお送りします。よろしくお願いします。

void OnTick()
{
MqlTradeRequest リクエスト。
MqlTradeResultの結果。
MqlTradeCheckResult checkResult;
//------ オーダーを削除する ------
request.action=TRADE_ACTION_REMOVE;
//request.order=OrderGetTicket(0)です。
request.order=8273050; // すべてを削除しないことを明示的に指定する。
if(OrderCheck(request,checkResult))。
{
Alert(request.order)です。
Alert(request.action)です。
OrderSend(request,result)を実行します。
}
さもなくば
{
Alert("エラー: ",checkResult.retcode).Error("エラー:");
}
}

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

頭の中がぐちゃぐちゃになった!?このシンプルなデザインではダメなんです。ファイルは存在するが、見つからないか開くことができない。なぜだ!?

   string terminal_data_path = TerminalInfoString(TERMINAL_PATH);
   string SymbolsFileName = terminal_data_path + "\\MQL5\\Files\\" + "symbols.txt";
   if(FileIsExist(SymbolsFileName,0)==false) Print("Файл не найден: ",SymbolsFileName);
   int hFile=FileOpen(SymbolsFileName,FILE_READ|FILE_TXT|FILE_ANSI);
   if(hFile < 0)
   {
      Print("Ошибка при открытии файла: ",SymbolsFileName," - ",GetLastError());
      return;
   }
 
Doozer2:

頭の中がぐちゃぐちゃになった!?このシンプルなデザインではダメなんです。ファイルは存在するが、見つからないか開くことができない。なぜだ!?


string SymbolsFileName = "symbols.txt";
 
stringo:

ありがとうございました。ファイルは見つかりましたが、まだ開きません。ファイルを開く ときにエラーが発生しました: 5004。それは何でしょう?

Документация по MQL5: Файловые операции / FileOpen
Документация по MQL5: Файловые операции / FileOpen
  • www.mql5.com
Файловые операции / FileOpen - Документация по MQL5
 
Doozer2:
ありがとうございました。ファイルは見つかりましたが、まだ開きません。ファイルを開く ときにエラーが発生しました: 5004。それは何でしょう?

このファイルは他のプログラムによって開かれている可能性があり、現在ブロックされています。
 
Rosh:
このファイルは他のプログラムによって開かれているため、現在ロックされている可能性が高いです。

いや、中身は1行の単純なテキストファイルで、どこも開いていない。

例として、ファイルから1行だけ読み取りたいのですが。でも、うまくいかないんです!

面白いのは、FILE_READ フラグを立てると、5004のエラーになることです。

で、FILE_READ|FILE_WRITE の場合、ファイルはエラーなく開かれます(しかし、まだそこから行を読み取ることはできません)。

何もわからない...。

以下はコードの全体像です。

   string SymbolsFileName = "123.txt";
   if(FileIsExist(SymbolsFileName,FILE_COMMON)==false) { Print("Файл не найден: ",SymbolsFileName," - ",GetLastError()); return; } else Print("Файл найден: ",SymbolsFileName);
   ResetLastError();
   int hFile=FileOpen(SymbolsFileName,FILE_TXT|FILE_ANSI|FILE_READ|FILE_WRITE);
   if(hFile==INVALID_HANDLE)
   {
      Print("Ошибка при открытии файла: ",SymbolsFileName," - ",GetLastError());
      return;
   }
   else Print("Файл открыт успешно: ",SymbolsFileName);
   FileSeek(hFile,0,SEEK_SET);
   Print(FileReadString(hFile));
   FileClose(hFile);
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы ввода/вывода / Флаги открытия файлов - Документация по MQL5