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

 
Anton Ohmat:


ENUM_POSITION_TYPE pos_type = PositionGetInteger (POSITION_TYPE)です。

Swears implict enum conversation, what did I wrong?(エラーの本質は理解しているので、何とか別の方法で実行できないでしょうか)

ENUM_POSITION_TYPE pos_type = (ENUM_POSITION_TYPE)PositionGetInteger (POSITION_TYPE);
 
Alain Verleyen:
ありがとうございます!!!
 

同じものを横向きに置いても、端末の表示価格が異なるのはなぜですか?


 
SymbolInfoDoubleの 最小ストップを取得する方法を教えてください - ヘルプに何を求めるべきか見つかりません。
 
Anton Ohmat:
SymbolInfoDoubleの最小ストップ値を取得する方法を教えてください - ヘルプで見つけることができません。

SymbolInfoIntegerで調べてみて ください。ゼロでエラーになったときは、「初心者の質問」スレッドに行くと、次のようなヒントがあります。

シンボルトレード ストップス レベル

逆指値注文を行うための、現在の終値からの最小ステップバック

イント

 
Aleksey Vyazmikin:

同じものを横向きに置いても、端末の表示価格が異なるのはなぜですか?


ツールチップには、グラフィカルオブジェクトのレベルではなく、マウスカーソルの現在位置が表示されます。

カーソルがオブジェクトの上に正確に置かれているときはツールチップが表示されないが、近接が5ピクセル以下のときは表示されるようになった

 
Slava:

ツールチップには、グラフィカルオブジェクトのレベルではなく、マウスカーソルの現在位置が表示されます。

ツールチップは、カーソルがオブジェクトの上に正確に置かれたときではなく、5ピクセル未満の近接したときに表示されます。

しかし、それがトレーダーにとって何の役に立つのだろうか。対象物の価格が分かる方がよっぽど便利なのですが...。

 

この動作が正しいかどうかを理解したい

メインファイルの TEST.mq5にはdefineファイルがあり、このdefineはプラグファイルの "test_file_.mqh "で使用されます。

//+------------------------------------------------------------------+
#define   file   __FILE__ 
#include  "test_file_.mqh"
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

プラグインファイルは、単に定義に含まれるものを返すだけです。

//+------------------------------------------------------------------+
//|                                                   test_file_.mqh |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+

string func()
{
return file;
}

マクロはメインファイルのコードの一番最初に宣言されているので、メインファイルTEST.mq5の名前が返されると思っていました。

defineが宣言されているファイル名を期待したのですが。


しかし、インクルードファイルtest_file_.mqhから値を返し、値test_file_.mqhを返します。

これでいいのでしょうか?


ヘルプに「カレントコンパイルファイル名」とありますが、メインファイルはカレントファイルでもあります。

 

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

MetaTrader 5 build 1700ベータ版プラットフォーム:MetaEditorと合成ツールのプロジェクト

アレクセイ・ヴャズミキン さん 2018.03.22 01:35

助けてください!

エラーが発生するのですが。

2018.03.22 03:29:06.834 合成記号 Si-Test:記号 "Si" を見つけることができません。

Si-9.18"-"Si-6.18 "式へ -何か間違っているのでしょうか?

 
Vladimir Pastushak:

動作が正しいかどうかを把握したい

メインファイルのTEST.mq5にはdefineファイルがあり、このdefineはプラグファイルの "test_file_.mqh "で使用されます。

プラグインファイルは、単に定義に含まれるものを返すだけです。

マクロはメインファイルのコードの一番最初に宣言されているので、メインファイルTEST.mq5の名前が返されると思っていました。

defineが宣言されているファイル名を期待したのですが。


しかし、インクルードファイルtest_file_.mqhから値を返し、値test_file_.mqhを返します。

これでいいのでしょうか?


ヘルプに "Name of current compiled file "とありますが、メインファイルもcurrentです。

なぜなら、defineの中で変数を__FILE__マクロに置き換え、インクルードファイルの中で独立して代入・計算されるからで、この動作は論理的だと思われます。

そういうことなんです。

//+------------------------------------------------------------------+
string main_file_name=__FILE__;
#define  file main_file_name
#include  <test_file_.mqh>
//+------------------------------------------------------------------+
int OnInit()
  {
   Print(func());
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+