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

 
Aleksey Vyazmikin:

M1のOHLCでテストしているのですが、SLでクローズすると、常識的な利益/損失(33606-33608=-2)が得られますが、利食いすると、無意味(33591-33506=29)、はい、価格は「33562」とわかりますが、この価格はどこから来たのでしょうか。ミニッツバーが少ない!

どなたか理由をご存知の方、これはバグではありません、ぜひ教えてください!

本物のダニでテストしても、絵は変わりません。

このイベントの前後で、クローズした瞬間とリアルティック(CTRL+U)のログをお願いします。

 
コンパイル時のエラー
class A {
    static int i;
} a; //Error: unresolved static variable 'A::i'
int A::i;
それ以外は。
class A {
    static A i;
} a;
A A::i;
大丈夫です。どんな違いがあるのでしょうか?
 

フォーラム全体を探しても、見つかりませんでした((.

これが私のクラスです。

class Myclass
  {
public:
                     Myclass();
                    ~Myclass();
   void              OnInit();
   void              OnDeinit();
   void              OnTick();
   void              OnTester();
   void              OnTimer();
  };

標準的なイベント処理関数で クラス内のイベントハンドラを呼び出したい

マクロの置換はどのように行うのですか?(または、関数テンプレート...クラスインスタンスにイベントハンドラを自動的に設定する)

 
Igor Makanu:

フォーラム全体を探しても、見つかりませんでした((.

これが私のクラスです。

標準的なイベント処理関数で クラス内のイベントハンドラを呼び出したい

マクロの置換はどのように行うのですか?(あるいは関数テンプレート...、クラスインスタンスに自動的にハンドラを割り当てるようなもの)

こちらで 一例をご覧いただけます。

Init_Sync
Init_Sync
  • www.mql5.com
Если в MT изменить таймфрейм или имя символа чарта, то все индикаторы на чарте выгрузятся с чарта и загрузятся на него снова. При этом, в отличие от MT4, в MT5 последовательность выгрузиться/загрузиться не определена из-за особенности внутренней архитектуры. Данное обстоятельство иногда вызывает не сразу очевидные проблемы, связанные с тем, что...
 
fxsaber:

こちらで 一例をご覧いただけます。

この1時間、皆さんの例題を全て勉強しましたが、定義づけの達人にはなれませんでした)))

これはあなたの答えです。私は類推して自分自身を作りました、それはコンパイルし、すべてが動作しますが、私はマクロ置換でクラスの1つのインスタンスを「ラップ」することができます。

class Myclass
  {
public:
                     Myclass(){};
                    ~Myclass(){};
   void              OnInit(){Print(__FUNCSIG__," выполнен");};
   void              OnDeinit();
   void              OnTick();
   void              OnTester();
   void              OnTimer(){Print(__FUNCSIG__," выполнен");};
  } m_class;
//+------------------------------------------------------------------+
#define  CHECK_INIT_TIMER m_class.OnTimer();
void OnTimer( void )
{
  CHECK_INIT_TIMER;
  ::OldOnTimer();
}
#define OnTimer OldOnTimer
//+------------------------------------------------------------------+

#define  CHECK_INIT_INIT m_class.OnInit();
void OnInit( void )
{
  CHECK_INIT_INIT;
  ::OldOnInit();
}
#define OnInit OldOnInit

しかし、クラスのインスタンスが3-5個ある場合、どのようにマクロ置換で包むことができるでしょうか?

 
fxsaber:

このイベントの前後で、終了時刻と実際のティックのログ(CTRL+U)を持参してください。

見てみると - 刻印はなく、リクエストしようとすると2つの端末がハングアップする - 1日だけリクエストした...が、トラフィックによってずっとダウンロードされているように見えます(私はのりではなく、先物をダウンロードしています)。

では、条件付きでティックがないとして、ではどうするか?

 
Aleksey Vyazmikin:

では、従来はダニがいなかったとして、ではどうするか?

何でもいいんです。オンフィンかアスクが閉じたかもしれない。バー上のスプレッドは何でもいい、など。本当に当てずっぽうなんです。

 
Igor Makanu:

また、クラスのインスタンスが3~5個ある場合、これをマクロの代入で包むにはどうしたらよいでしょうか。

まだタスクが理解できていない。

 
fxsaber:

まだタスクが理解できていない。

エキスパートコードで#include <fileclass.mqh> だけ書きたい。

そして、myclass コードで 3 つのクラスのインスタンスを宣言します: Myclass m_class1, m_class2, m_class3

で、標準のイベント処理関数で マクロ置換を取得したい場合

SZY:クラスの1つのインスタンスのために、あなたは助け、どこに見てアドバイスしている - すべてが動作しますが、私は理解していない方法を行うための3つのインスタンス(()。

 
fxsaber:

何でもいいんです。フリッパーの上か、アスクが閉じていたかもしれません。バー上のスプレッドは何でも良かったのでは、など。一般的には当て馬。

ドキュメントより

BidとAskの価格の差をスプレッドと呼びます。テストでは、スプレッドはモデル化されず、過去のデータから取得されます。過去のデータでスプレッドが0以下であれば、発電時の直近のスプレッドが使用される。

ダニがいないため、検査区間を通じてスプレッドは同じであり、小さい。