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

 
Voodoo_King:


そして...ソフトウェア開発では、クラッシュ画面がないのが良い調子とされています。


そして、それが私たちの課題でもあるのです。

 
stringo:
エラーを修正するためには、エラーを再現する必要があります。エージェントのログを見たいのですが。専門家を派遣していただけると良いと思います。そして、入力されたテストパラメータを記述する。

Every tick"がオンになっている場合、他の選択項目ではなく、分単位の時間枠でなければなりません。

ただ、どこもかしこも分単位のタイムフレームで、すべてOKのようです。

追伸:上に書きました。

 

FILE_SHARE_READ フラグがオープンフラグであり、オープンフラグそのものではない場合、とにかくなぜファイルが開くのでしょうか?

2011.02.07 18:18:14    Лист18 (EURUSD,H1)    Файл открыт с флагом FILE_SHARE_READ нормально Templates\Example.txt
2011.02.07 18:18:14    Лист18 (EURUSD,H1)    SHARE_READ  
void SHARE_ReadFile()
  {
   string subfolder="Templates";
   int han=FileOpen(subfolder+"\\"+folder+".txt",FILE_SHARE_READ|FILE_TXT|FILE_ANSI,"\r");
   if(han!=INVALID_HANDLE)
     {
      Print("SHARE_READ  ",FileReadString(han));           

      Print("Файл открыт с флагом FILE_SHARE_READ нормально "+subfolder+"\\"+folder+".txt"); 
      FileClose(han);
     }
   else
     {
      Print("Ошибка открытия файла с флагом FILE_SHARE_READ "+subfolder+"\\"+folder+".txt, error",GetLastError());
     }
  }

その結果、オープンファイルエラーになるはずだと思われます。

実際、何も印刷されないのに、ハンドルをチェックすると、ファイルが開かれていることがわかるからだ。

 
mql5:
により、EX5リソースに画像が追加されます。
#resource "<path to file relative to folder MQl5╱Images>".


#resource "res\\test.bmp";

すべて揃っていますか?EAのファイル中の#resourceが、EAのソースディレクトリからの相対パスであるかどうかを調べています。

cannot open resource file 'C:\Program Files/MetaTrader 5 DEV

インジェクションのファイルに#resourceがあると、すべてが一か所に集まり、他のインジェクションのフォルダに入り込んでしまう。

cannot open resource file 'C:\Program FilesMetaTrader 5 DEV゙include゙Arrays゙test.bmp' (3) 0 0

次のバリエーションは、MQL5の "ルート "から検索します。

#resource "\\res\\test.bmp";

cannot open resource file 'C:\Program FilesMetaTrader 5 DEVMQL5㏌.bmp' (3) 0 0

また、今まで動作していたものも動作しないようです(MQL5/Images/res/test.bmpに転がっているファイル)。

ObjectSetString(0,pname,OBJPROP_BMPFILE,0,"\\res\\test.bmp");

何か見落としがあったのでしょうか?

 
Vigor:


すべて揃っていますか?EAのファイル中の#resourceが、EAのソースディレクトリからの相対パスであるかどうかを調べています。

cannot open resource file 'C:\Program Files/MetaTrader 5 DEV

もし#resourceが_includeファイルにあれば、すべてが一箇所に集まり、他のincludeのフォルダに入ることになります。

cannot open resource file 'C:\Program FilesMetaTrader 5 DEV゙include゙Arrays゙test.bmp' (3) 0 0

次のバリエーションは、MQL5の "ルート "から検索します。

cannot open resource file 'C:\Program FilesMetaTrader 5 DEVMQL5㏌.bmp' (3) 0 0

また、今まで動作していたものも動作しないことに気づきました(ファイルはMQL5/Images/res/test.bmp)。

何か見落としがあったのでしょうか?



であるべきだと思います。

MetaTrader 5 クライアントターミナル ビルド 384

  1. ターミナル:リモートテストエージェントの 追加ウィザードを追加しました。手動入力と*.mt5ファイルからのインポートに加え、ローカルネットワークをスキャンして動作するエージェントを見つける機能を追加しました。
  2. MQL5:*.ex5 ファイルにリソースを保存する機能を追加しました。.ex5にリソースを追加するには、クライアント端末のMQL5Images ディレクトリからの相対パスを指定した#resource ディレクティブを使用します。例:#resource myexpertttpd.bmp
    リソース内のファイルは、次のような文字列で参照することができる。"script_name::resource_name " を指定します。リソース名には、#resourceディレクティブで渡されたファイル名(拡張子なし)が使用されます。
正しく理解すれば、ファイルはここ、MQL5Imagesのディレクトリ名/ファイル 名に置くことができます。
 
Interesting:

このように見えます。

MetaTrader 5 クライアントターミナル ビルド 384

クライアント端末のMQL5Images ディレクトリからの相対パスです。例:#resource myexpertttpd.bmp

これは相対的なものであり、機能しません。また、引用符なしで、バックスラッシュはダブルです。
 
Vigor:
これは相対的なもので、うまくいきません。また、引用符なしではできません。

調べてみよう。

そういえば、#resource " \Images

見た目は変だけど(考え方によっては、MQL5Imagesを 相対的に検索するはず。少なくともこんな感じになるはず。#resource "\Phoenix╱Logo.bmp").

Imagesディレクトリへの相対パスを作るか、リリースの説明を修正するか(すべてが論理的に理解できるように)...。

 
コメントでMQL5フォルダーの例を紹介しました。ちなみに、そこにあるログメッセージを見ると、コンパイラがファイルを検索するWHEREが明確に示されているんだ。

また、先ほど書いたように、Imagesフォルダからの相対パスでOBJPROP_BMPFILEを使ってもうまくいきません。一般に、最新の実験によれば、MQL5からはフルパスを指定すれば全て動作します。

問題は、このイノベーションが有効かどうかだ。それとも一時的な現象なのでしょうか?

 
Vigor:
MQL5フォルダについてのコメントで例を挙げました。ちなみに、そこにはログメッセージがあり、コンパイラがファイルを検索するWHEREが明確に示されています。

しかし、どこにでもあるようで、あるべきところにない :(
 

こんにちは。

コード

if (NormalizeDouble(Prices_Flow[0].Price_Position,4) != 0)
{
double Position_In_Percentage = Prices_Flow[0].Indicator_Position * 100 / Prices_Flow[0].Price_Position.Price_Position.Price_Position;
//質問と無関係な更なるコード
}


片方のツールで同時にStrategy Testerでテストするとゼロ除算が 発生する (2011.02.08 01:40:23 Core 2 2010.08.02 00:00:00 Zero divide in 'almirlib.mqh' (535,102))

上記のコードで、どのように可能なのでしょうか?