mql5言語の特徴、微妙なニュアンスとテクニック - ページ 206

 
Vladimir Pastushak:
履歴にあるポジションのテイクプロフィットや ストップロスを知るにはどうしたらよいですか?

DEAL_OUT には以下のフィールドが含まれる。

 
fxsaber:

DEAL_OUT には以下のフィールドが含まれる。

DEAL_ENTRY_OUT フィールドを取得するにはどうすればよいですか?

 
Vladimir Pastushak:

DEAL_ENTRY_OUT フィールドを取得する方法を教えてください。

 
fxsaber:

SLとTPが0のオープンポジションを持ち、その後ポジションを修正し、SL !=0とTP !=0を設定し、その後手動でポジションをクローズします、owlは関係なく、テイクまたはストップ価格ではありません。

どのように我々は、SLとTPのこれらのレベルを見つけるのですか? 現時点では方法はありませんし、位置が異なって閉じられたことを誰かに証明する...

ポジションの注文・変更と、指定したSLとTPで変更されたポジションの取引を見ることができれば論理的なのですが・・・。

 
Vladimir Pastushak:

SLとTPが0のオープンポジションを持ち、その後ポジションを修正し、SL !=0とTP !=0を設定し、その後手動でポジションをクローズします、owlは関係なく、テイクまたはストップ価格ではありません。

どのように私はSLとTPのこれらのレベルを見つけるのですか? 現時点では方法はありませんし、位置が異なって閉じられたことを誰かに証明する...

端末または投資用アクセスからのスクリーンショット。

ポジションの注文・変更と、指定したSLとTPで変更されたポジションの取引を見ることができれば論理的なのですが・・・。

DEAL_SL/DEAL_TPの各フィールド。

 
fxsaber:

ターミナルまたは投資用アクセスからのスクリーンショット。

DEAL_SL/DEAL_TPの各フィールド。

エキスパートアドバイザーによってポジションがクローズされ、SLとTPが設定されていますが、取引と注文の履歴でSLとTPを取得することができません。

DEAL_ENTRY_OUTに よると、その取引はEAが行ったとのことです。

すでに注文も取引もすべて横断的にチェックしましたが、そうでなければポジションがクローズされた場合のSLとTPのレベルを調べる方法はありません...。

 
Vladimir Pastushak:

注文も取引も全て確認済みで、ポジションがクローズされていれば、SLとTPのレベルを知る方法はありません...。

DEAL_SL/DEAL_TPは将来的な解決策です。

 

そうなのか、そうでないのか、わからない。

構造体およびクラスは、静的フィールドとして自分自身を含むことができる。これは、クラスが静的フィールド(プログラム終了時に削除される必要のあるオブジェクトへのポインタ)を含む場合に使用されます。例

class A
  {
   int               a;
  };

class CRecurs
  {
public:
   int               a;
   static A *        element;
   static CRecurs    s;
                     CRecurs(void) { Print(__FUNCSIG__, " ", EnumToString(CheckPointer(element))); }
                    ~CRecurs(void) { delete element; Print(__FUNCSIG__, " ", EnumToString(CheckPointer(element)));  }
  };
static A* CRecurs::element = new A;
static CRecurs CRecurs::s;

void OnStart() {}

結果

CRecurs::CRecurs() POINTER_DYNAMIC
CRecurs::~CRecurs() POINTER_INVALID

(CRecursはstructとして宣言しても同じ結果になる)。

また、自身のクラス(つまり、この静的フィールド)への参照を返す静的メソッドを 作成することもできます。

 
mktr8591:

そうなのか、そうでないのか、わからない。

構造体およびクラスは、静的フィールドとして自分自身を含むことができる。これは、クラスが静的フィールド(プログラム終了時に削除される必要のあるオブジェクトへのポインタ)を含む場合に使用されます。例

結果

(CRecursはstructとして宣言しても同じ結果になる)。

また、自身のクラス(つまり、この静的フィールド)への参照を返す静的メソッドを 作成することもできます。

静的フィールド/メソッドは、グローバル(::)とスコープが異なるだけです。

 
fxsaber:

静的フィールド/メソッドは、グローバル(::)とスコープが異なるだけです。

はい。


実例 - 仮想ライブラリ VIRTUAL クラスに static const VIRTUAL_DELETE VirtualDelete が含まれています。

static const VIRTUAL static_Virtual で置き換えることができる。

(もちろんデストラクタもVIRTUALに移動) .

理由: