CEngineはどんなエンジンですか?CEngine については、"Я смотрю на классCEngine и вижу, что можно извлечь список событий, проверить их тип и т.Д.,Поэтому я могу получить доступ к каждому событию, но не нахожу очевидного способа прочитать конкретные детали события、 CEngineを 使用することにより、 以下のようなことが可能になります。- CEventは、CEngineを 使用することで、以下の ようなことが可能になります、 この場合、CEventは、以下の ようになります::GetPendReqID ()
取引リクエストとポジションを比較する必要がある場合、最も簡単な方法はポジション識別子を設定することです(マジックではありません)。各リクエストは独自の識別子を持っています。アドバイザーのマジックは、すべてのポジションに対して1つのままにしておくことができます。そうすれば、識別子(ポジションや注文のマジックに書き込まれ、失われることはない)によって、いつでもリクエストとポジションや注文を正確に一致させることができる。
こんな感じでしょうか?
トレード・リクエスト
イベントハンドラ
問題:上記で必要なCEvent::GetPendReqID() メソッドは以下のとおりです。 プロテクトされた!!DoEasyのソースコードを変更することなく、何か良いアイデアはありませんか?私の考えでは、これらのメソッドはpublic であるべきです ;-)
問題:上記で必要なCEvent::GetPendReqID() メソッドは以下のとおりです。 プロテクトされた!!DoEasyのソースコードを変更することなく、何か良いアイデアはありませんか?私の考えでは、これらのメソッドはpublic であるべきです ;-)
CEngineクラスを見てください。CEngineクラスだけがユーザープログラムにライブラリへのアクセスを提供します。
他のすべてのクラスはライブラリのニーズに対応するもので、ユーザ向けではありません。ただし、ライブラリを接続した後にプログラムで利用できるライブラリ・サービス関数は 例外です。
CEngineクラスを見る必要がある。CEngineクラスだけが、ユーザー・プログラムにライブラリへのアクセスを与える。
他のすべてのクラスはライブラリのニーズに対応するものであり、ライブラリに接続した後にプログラムで利用できるライブラリ・サービス関数を除いて、ユーザー向けではない。
例を挙げていただけますか?CEngine クラスを見ていると、イベントのリストを抽出し、そのタイプなどをチェックすることができるようです。しかし、CEngine オブジェクトから マジック・ナンバー(グループとリクエストID)に含まれる特定のイベントの詳細を読み取る明らかな方法は見当たりません。私の見るところ、上記のイベント・ハンドラの例のように、ロボットのeven-handlerメソッド(CEvent:GetPendReq() )で CEvent オブジェクトのインスタンスから直接この情報を読み取る必要があります。
class CEngine { //... //... //--- (1) 注文、取引、ポジションイベントのリスト、(2) インデックスによるベース取引イベントオブジェクト、(3) 新規取引イベントの数を返す。 CArrayObj *GetListAllOrdersEvents(void) { return this.m_events.GetList(); } CEventBaseObj *GetTradeEventByIndex(const int index) { return this.m_events.GetTradeEventByIndex(index); } int GetTradeEventsTotal(void) const { return this.m_events.GetTradeEventsTotal(); } //--- 最後の取引イベントをリセットする void ResetLastTradeEvent(void) { this.m_events.ResetLastTradeEvent(); } //--- (1) 最後の取引イベント、(2) 口座プロパティの最後のイベント、(3) シンボルプロパティの最後のイベントを返す。 ENUM_TRADE_EVENT LastTradeEvent(void) const { return this.m_last_trade_event; } int LastAccountEvent(void) const { return this.m_last_account_event; } int LastSymbolsEvent(void) const { return this.m_last_symbol_event; } //--- (1) ヘッジ口座、(2) テスターでの作業、(3) 口座イベント、(4) シンボルイベント、(5) 取引イベントフラグを返す。 bool IsHedge(void) const { return this.m_is_hedge; } bool IsTester(void) const { return this.m_is_tester; } bool IsAccountsEvent(void) const { return this.m_accounts.IsEvent(); } bool IsSymbolsEvent(void) const { return this.m_symbols.IsEvent(); } bool IsTradeEvent(void) const { return this.m_events.IsEvent(); } //... //... };CEngineはどんなエンジンですか?CEngine については、"Я смотрю на классCEngine и вижу, что можно извлечь список событий, проверить их тип и т.Д.,Поэтому я могу получить доступ к каждому событию, но не нахожу очевидного способа прочитать конкретные детали события、 CEngineを 使用することにより、 以下のようなことが可能になります。- CEventは、CEngineを 使用することで、以下の ようなことが可能になります、 この場合、CEventは、以下の ようになります:: GetPendReqID ()
少々お待ちください。次のru-segmentの記事はアドバイザーについてで、そこで説明しようと思う。
ちょっと待ってください。ru-segmentの次の記事はアドバイザーについてで、そこで説明しようと思う。
オーケー、クールだ。