Caractéristiques du langage mql5, subtilités et techniques - page 63
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Définit le drapeau pour cacher les indicateurs appelés par l'Expert Advisor.
Pour cela, il est nécessaire de faire fonctionner en parallèle une EA "à robinet", c'est-à-dire qu'un tableau auxiliaire est nécessaire.
La situation dans l'exemple est quelque peu différente : il y a un graphique et un EA est déjà en cours d'exécution sur celui-ci. Et nous voulons parfois faire passer OrderSend par l'indicateur sans en ouvrir de nouveaux.
Bien sûr, sans DLL, de sorte que le graphique est passé.
J'ai accaparé le panneau de possibilité de prise d'ordre dans le hibou à cette fin et parfois je dépose des ordres en mode manuel, mais ils vont comme le hibou les prend.
J'ai ajouté une possibilité de passer des ordres dans le hibou et parfois je passe des ordres en mode manuel mais ils se déroulent comme le hibou.
Initialement, il s'agissait d'une astuce lorsque l'indicateur lui-même exécute un script d'ordre sur OBJ_CHART.
Les opérateurs postfixes (opérateur ++ et opérateur --) sont définis comme suit
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Besoin d'aide pour repérer une légère erreur.
whroeder1, 2014.07.07 11:37
Veuillez me dire s'il existe une telle fonction dans 4, et comment l'implémenter dans MQL5 ?
Définit le drapeau pour cacher les indicateurs appelés par l'Expert Advisor.
Voilà à quoi ça ressemble, voir l'aide.
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Test des "CopyTicks".
fxsaber, 2016.10.19 07:59
// А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume.
#define DEFINE_TIMESERIE(NAME,FUNC,T) \
class CLASS##NAME \
{ \
public: \
static T Get( const string Symb, const int TimeFrame, const int iShift ) \
{ \
T tValue[]; \
\
return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \
} \
\
T operator []( const int iPos ) const \
{ \
return(CLASS##NAME::Get(_Symbol, _Period, iPos)); \
} \
}; \
\
CLASS##NAME NAME; \
\
T i##NAME( const string Symb, const int TimeFrame, const int iShift ) \
{ \
return(CLASS##NAME::Get(Symb, TimeFrame, iShift)); \
}
DEFINE_TIMESERIE(Volume, TickVolume, long)
DEFINE_TIMESERIE(Time, Time, datetime)
DEFINE_TIMESERIE(Open, Open, double)
DEFINE_TIMESERIE(High, High, double)
DEFINE_TIMESERIE(Low, Low, double)
DEFINE_TIMESERIE(Close, Close, double)
Peut-être que quelqu'un trouvera l'approche MQL4 utile pour travailler avec l'historique des tics.
Application
Cela semble être le cas, voir l'aide.
Merci beaucoup, je vais essayer, SD a dit que IndicatorRelease devrait faire ceci
Qui a rencontré, quelle est la manière correcte de disposer les champs dans une structure en termes d'alignement :
l'alignement dans les structures est censé aller de haut en bas, mais nous avons un tableau qui a une allocation mémoire de 20 éléments, donc la méthode A semble être la bonne.Pour les adeptes de MQL4, il existe une ancienne façon de travailler avec TF dans MQL5.
Application...
Belle façon de mettre une classe entière dans un Macro. Dommage que l'on ne puisse pas travailler avec une telle classe dans le débogueur :-((
qui a rencontré comment positionner les champs dans la structure en termes d'alignement :
L'alignement dans les structures est censé aller de haut en bas, mais nous avons un tableau qui se voit allouer de la mémoire en dessous de 20 éléments, donc la manière A est plutôt correcte.Si vous voulez dire MQL, il n'y a pas d'alignement.
Si vous voulez dire C++, struct B serait mieux.
Mais dans tous les cas, l'alignement du C++ dépend du programmeur.