Discussion de l'article "Comment créer votre propre Trailing Stop" - page 6

 
Aucun des codes affichés n'ouvre les transactions, donnant des erreurs 2021.02.08 23:43:23.200 my_first_ea_sartrailing (ES,M1) Alert : Request to set Buy order failed - error code:4756 En même temps, la demande de prix semble être réelle 2021.02.08 23:43:23.200 my_first_ea_sartrailing (ES,M1) Alerte : action= 1price= 3900.88sl= 3900.58tp= 3901.88volume= 0.1magic= 12345type= 0type_filling= 0deviation= 1000


 
Merci, excellent article très détaillé.
 

Il semble que ce soit une discussion morte, mais je vais y ajouter mes commentaires.


Il y a quelques erreurs trouvées pendant la compilation qui doivent être résolues.

Dans la requête ZeroMemory à la ligne 116, le compilateur dit

ZeroMemory' - unexpected toke, probably type is mission ?

'mrequest' - déclaration sans type

Il semble que la requête mrequest n'ait pas été correctement déclarée avec un type....... Je ne sais pas comment résoudre ce problème.


De plus, la valeur de retour de


la valeur de retour de "OrderSend" devrait être vérifiée. sur les lignes 215 et 262


Il semblerait que la valeur retournée soit une valeur qui ne devrait pas l'être.


Toute aide pour résoudre ces deux problèmes serait très appréciée.

Chris

 

Vous voulez vraiment comprendre ce qui est écrit dans les commentaires ?

classe CTrailingStop{

protégé :
string m_symbol ; // symbologie
ENUM_TIMEFRAMES m_timeframe ; // timeframe
bool m_eachtick ; // travail sur chaque tick
bool m_indicator ; // affiche l'indicateur sur le graphique
bool m_button ; // affiche le bouton on/off
int m_button_x ; // koridinate x du bouton
int m_button_y ; // coordonnée y du bouton
colour m_bgcolor ; // couleur du bouton
colour m_txtcolor ; // couleur de la légende du bouton
int m_shift ; // bool m_shift ; // bool shifting
bool m_onoff ; // activation/désactivation
int m_handle ; // chaîne de l'indicateur
datetime m_lasttime ; // heure de la dernière exécution du stop suiveur
MqlTradeRequest m_request ; // structure de la demande de transaction
MqlTradeResult m_result ; // structure du résultat d'une demande de transaction
int m_digits ; // nombre de chiffres après la virgule du prix
double m_point ; // valeur du point
string m_objname ; // nom du bouton
string m_typename ; // nom du type de trail stop
string m_caption ; // légende du bouton
 
Une lecture très enrichissante, merci !
 
Bonjour à tous, j'ai changé OrderSend pour l'objet Trade, c'est beaucoup plus facile. De plus, l'événement est exécuté toutes les secondes, il n'y a pas besoin d'une fréquence aussi rapide. Je l'ai changé à toutes les 60 secondes et cela améliore drastiquement les performances.
 
Rustam Ayupov #:

Vous voulez vraiment comprendre ce que disent les commentaires ?

protected:
string m_symbol;             // symbole
ENUM_TIMEFRAMES m_timeframe; // cadre temporel
bool m_eachtick;             // s'exécute à chaque tic-tac
bool m_indicator;            // afficher l'indicateur sur le graphique
bool m_button;               // Bouton marche/arrêt de l'affichage
int m_button_x;              // coordonnée x du bouton
int m_button_y;              // les coordonnées du bouton
color m_bgcolor;             // couleur du bouton
color m_txtcolor;            // couleur de la légende du bouton
int m_shift;                 // décalage de la barre
bool m_onoff;                // on/off
int m_handle;                // poignée de l'indicateur
datetime m_lasttime;         // heure de la dernière exécution du stop suiveur
MqlTradeRequest m_request;   // structure de la demande d'échange
MqlTradeResult m_result;     // structure du résultat de la demande d'échange
int m_digits;                // le nombre de décimales du prix
double m_point;              // valeur de l'élément
string m_objname;            // nom du bouton
string m_typename;           // nom du type de stop suiveur
string m_caption;            // inscription sur le bouton

Cordialement, Vladimir.