Errori, bug, domande - pagina 1203

 

Sui server di scambio reali, naturalmente, i volumi sono separati per la vendita e l'acquisto.

Sui server di scambio di prova (da non confondere con il forex), le quotazioni sono spesso da un sistema di simulazione di prova completamente diverso e i "server demo" di scambio non dovrebbero mai essere usati per l'analisi.

 

Errore durante l'esecuzione: casting errato dei puntatori (build 977, ma è successo di tanto in tanto prima)

//AAA15.mq5
#define  PF              Print( __FUNCTION__ );
#define  PFI( i )        Print( __FUNCTION__, " ", i );
class A { public:
};
class R { public:
        void y( A* a )          { PF  ((B *)a).g( 1 ); }
};
class L : public R { public:
        void y( A* a )          { PF  ((B *)a).g( 2 ); }
};
class B : public A { public:
        virtual void g( R* r )  { PF  r.y( GetPointer( this ) ); delete( r ); }
        virtual void g( int i ) { PFI( i ) }
};
class C : public B { public:
        virtual void g( int i ) { PFI( i ) }
};
#import "AAA17.ex5"
        C *f();
#import "AAA16.ex5"
        void h();
        R *w();
#import
#ifndef  HEADER
void OnStart()
{
        f().g( w() );
        h();
}
#endif
//AAA16.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
void h() export { PF  f().g( w()); }
R *w()   export { PF  return new L(); }
//AAA17.mq5
#property library
#define  HEADER
#include "AAA15.mq5"
class X { public:
        X()           { PF  c = new C(); }
        virtual ~X()  { PF  delete( c ); }
        C *c;
};
static X x;
C *f() export { PF  return ( x.c ); }

Se spostate qualcosa (per esempio, scambiate le dichiarazioni #import) o fate 2 file invece di 3 o rimuovete la chiamata h() - allora invece degli errori specificati si verificano altri errori

Se ricomponi il codice sopra, finirà per chiamare R::y invece di L::y

In una versione più complessa, alcune funzioni comuni dei moduli sono chiamate prima (!) dei costruttori statici stessi (come se nell'esempio precedente f() fosse chiamata prima di X::X, che a sua volta è chiamata correttamente prima di OnStart). Cercherò di citare un esempio, ma ci sono file enormi. Ma a volte funziona correttamente, quindi l'errore non è mio, perché l'ordine di creazione degli oggetti è definito dal compilatore stesso e non posso cambiarlo

 

Ho anche notato che se il modulo principale (OnStart) viene modificato in modo insignificante (viene aggiunta qualche variabile o Print), spesso non riesce ad avviarsi fino a quando tutti i moduli ex5 utilizzati non vengono ricompilati. A quel punto, il messaggio in Experts informa che non c'è nessuna funzione, che si sa che c'è, in uno dei moduli non-core di ex5 (che è dimostrato essere operativo dopo aver ricompilato tutti i moduli).

E sperimentalmente è stato trovato che le funzioni che sono chiamate prima (!) dei costruttori statici sono chiamate esattamente da questa funzione (che MT non può trovare periodicamente)

 
Cari programmatori, chi potrebbe consigliarmi su come preparare un EA per il mercato? Potete scrivermi di persona e/o qui.
 
yosuf:
Cari programmatori, chi potrebbe consigliarmi su come preparare un EA per il mercato? Posso farlo di persona e/o qui.
Puoi aprire un argomento separato e poi discutere la domanda in esso.
 
Oggi c'è stato uno strano inconveniente con MT4: il conto demo sul server MetaQuotes-Demo nel "Navigator" del terminale è stato improvvisamente spostato nella lista di un altro broker. Ho dovuto cancellare questo account vagante dal terminale e poi reinserirlo.
 
Renat:

Sui server di scambio reali, naturalmente, i volumi sono separati per la vendita e l'acquisto.

Sui server di scambio di prova (da non confondere con il forex) le quotazioni sono spesso da un sistema di simulazione di prova completamente diverso e i "server demo" di scambio non dovrebbero assolutamente essere usati per l'analisi.

Renat,

grazie!

 
Renat:
А время было торговым? Лучше всего обратиться в службу поддержки брокера.
Время торговое, тики тикают. К брокеру обратился. Они ответили, что российские CFD - индикативы. Почему они отображаются в терминале черным, они не знают.
In generale, il proseguimento della ricerca ha dato i seguenti risultati. Quando si mette il cursore del mouse sopra i ticker nella panoramica del mercato, appare un tooltip dove per i simboli grigi è scritto Trade: No. Ma per i CFD russi, che sono visualizzati in nero, viene visualizzato Trade: Close (ancora una volta va notato che il tempo è il trading e i tick sul simbolo vengono in questo momento). Da ciò concludo che il broker ha diversi livelli di blocco delle operazioni, di cui solo alcuni (o anche solo uno) sono contrassegnati in grigio, e tutti gli altri sono ammucchiati in un mucchio comune con i simboli attivi, in quanto sono visualizzati in nero.
 
marketeer:
Comunque, ulteriori ricerche hanno portato a questi risultati. Quando si mette il cursore del mouse sopra i ticker nella panoramica del mercato appare un tooltip, in cui per i simboli grigi è scritto Trade: No. Ma per i CFD russi, che sono visualizzati in nero, viene visualizzato Trade: Close (ancora una volta va notato che il tempo è il trading e i tick sul simbolo vengono in questo momento). Da ciò concludo che il broker ha diversi livelli di blocco delle operazioni, di cui solo alcuni (o anche solo uno) sono contrassegnati in grigio, e tutti gli altri sono ammucchiati in un mucchio comune con i simboli attivi, in quanto sono visualizzati in nero.

È stata sollevata una questione sulla colorazione dei personaggi.

Ecco la risposta specifica sulla colorazione sul server demo MQ^

Forum sul trading, sistemi di trading automatico e test di strategia

Colorare in Market Watch

barabashkakvn, 2014.05.12 18:55

Ecco la risposta del Service Desk: "Sul nostro server, il colore di sfondo del simbolo non significa essenzialmente nulla.

Se stiamo parlando specificamente del colore del carattere nel nome del simbolo: grigio significa che il trading sul simbolo è disabilitato, nero chiaro significa che il trading è permesso.

Per esempio, per decifrare il colore dello sfondo del simbolo devi contattare il tuo broker e non c'è uno standard unificato sulla colorazione.

Ma qui c'è una promessa di rimediare:

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Colori nell'orologio del mercato

Renat, 2014.05.13 12:37

La follia dei colori avrebbe dovuto essere affrontata molto tempo fa.

Aggiungeremo un comando di reset del colore e nuovi comandi per raggruppare e ordinare gli strumenti nella finestra.

C'è un aggiornamento radicale dei sistemi di comandi, menu e interfacce in MT4/MT5 e ci sarà una beta prima di iFX EXPO il 25 maggio. In generale, le nuove costruzioni daranno opportunità incredibili ai commercianti.


 
barabashkakvn:

È stata sollevata una questione sulla colorazione dei personaggi.

Ecco la risposta specifica sulla colorazione sul server demo MQ^

e qui c'è una promessa di rimediare:


Forse. Solo che in realtà non è ancora molto conveniente, dato che l'UI è fuorviante. In attesa di miglioramenti.