Errori, bug, domande - pagina 2345

 
Aleksey Vyazmikin:

Come faccio a capire questo - sto testando con OHLC su M1 e alla chiusura su SL ottengo un profitto/perdita ragionevole (33606-33608=-2), ma quando chiudo su take profit - nonsense (33591-33506=29), sì, vedo che il prezzo è "33562" ma da dove viene quel prezzo? La barra dei minuti è inferiore!

Se qualcuno conosce la ragione, e questo non è un bug, vi prego di dirlo!

I test su zecche reali non cambiano il quadro.

Per favore, date un log del momento della chiusura e dei tick reali (CTRL+U) intorno a questo evento.

 
Errore durante la compilazione
class A {
    static int i;
} a; //Error: unresolved static variable 'A::i'
int A::i;
Altrimenti:
class A {
    static A i;
} a;
A A::i;
Va bene. Che differenza fa?
 

Ho cercato in tutto il forum, ma non l'ho trovato ((().

Ecco la mia classe:

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

Voglio chiamare i gestori di eventi nella classe nelle funzioni standard di gestione degli eventi

Come faccio a fare una sostituzione di macro? (o un modello di funzione... che imposterà automaticamente i gestori per le istanze di classe)

 
Igor Makanu:

Ho cercato in tutto il forum, ma non l'ho trovato ((().

Ecco la mia classe:

Voglio chiamare i gestori di eventi nella classe nelle funzioni standard di gestione degli eventi

Come faccio a fare una sostituzione di macro? (o un modello di funzione..., qualcosa che assegnerà automaticamente i gestori alle istanze di classe)

Potete vedere un esempio qui.

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

Potete vedere un esempio qui.

ahimè, ho studiato tutti i tuoi esempi per l'ultima ora, non posso essere un maestro delle definizioni)))

Ecco la tua risposta, mi sono fatto per analogia, si compila, tutto funziona, ma posso "avvolgere" un'istanza della classe in sostituzione macro

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

ma se ho 3-5 istanze di una classe, come posso avvolgerla in sostituzioni macro?

 
fxsaber:

Porta il log dell'orario di chiusura e i tick effettivi (CTRL+U) intorno a questo evento.

Guardato - nessuna spunta, due terminali hanno riagganciato quando si è cercato di richiedere - richiesto per un solo giorno... ma dal traffico sembra che sia stato scaricato per tutto il tempo (io scarico i futures, non la colla).

Quindi, che non ci siano zecche condizionate, e poi?

 
Aleksey Vyazmikin:

Quindi, che non ci siano zecche in modo convenzionale, e poi?

Qualsiasi cosa. Su pinne o asc potrebbe aver chiuso. La diffusione sulla barra potrebbe essere qualsiasi cosa, ecc. È un gioco di indovinelli, davvero.

 
Igor Makanu:

e se ho 3-5 istanze della classe, come posso avvolgere questo in sostituzioni macro?

Non ho ancora capito il compito.

 
fxsaber:

Non ho ancora capito il compito.

Voglio scrivere solo #include <fileclass.mqh> nel codice esperto

e poi dichiarare 3 istanze della classe nel codice myclass: Myclass m_class1, m_class2, m_class3

e vogliono ottenere sostituzioni di macro nelle funzioni standard di gestione degli eventi

SZY: per un'istanza della classe, hai aiutato, consigliato dove cercare - tutto funziona, ma per 3 istanze di come fare non capisco (((

 
fxsaber:

Qualsiasi cosa. Su pinne o asc potrebbe aver chiuso. La diffusione sulla barra avrebbe potuto essere qualsiasi cosa, ecc. Un gioco di indovinelli, in generale.

Dalla documentazione.

La differenza tra i prezzi Bid e Ask è chiamata spread. Durante i test, lo spread non è modellato, ma preso dai dati storici. Se lo spread è inferiore o uguale a zero nei dati storici, viene utilizzato l'ultimo spread conosciuto al momento della generazione.

Poiché non ci sono zecche, lo spread è lo stesso per tutto l'intervallo di test, ed è piccolo.
Motivazione: