Questions des débutants MQL4 MT4 MetaTrader 4 - page 135

 
Ou du moins où lire à ce sujet. S'il vous plaît.
 
Sergey Voytsekhovsky:

Bonsoir.

Question :

Pourriez-vous me dire comment créer une ligne dans lesparamètres d'entrée de l'EA qui afficherait du texte, mais ne serait pas active. Je veux séparer les sections. Par exemple, je veux avoir des "citations directes" et des "citations inversées". J'ai cherché dans le code librement disponible pour dessiner, je ne le trouve pas. Merci d'avance.

.............

Les lignes 2 et 5 ressemblent maintenant à des sous-titres dans l'onglet Entrées, c'est bien, mais ces lignes sont actives et disponibles pour la sélection. Comment puis-je les rendre visibles mais non actives (non sélectionnables) ?

Ajoutez une lettre "s" au début pour obtenir quelque chose comme :

sinput string _____Main_____="_____Main_____" ;

 
Vladimir M.:

Ajoutez un "s" au début et vous obtenez un type :

sinput string _____Main_____="_____Main_____" ;

Merci pour votre réactivité. Je me suis renseigné sur le "s". Voici ce que j'ai trouvé :

"Une variable déclarée avec le modificateur sinput est un paramètre d'entrée d'un programme MQL4. La valeur de ce paramètre peut être modifiée lors du lancement du programme.

Je l'ai essayé dans le code - la possibilité de vérifier l'option d'optimisation disparaît, la valeur de la variable dans l'onglet Entrées peut toujours être modifiée, c'est-à-dire que la valeur peut toujours être sélectionnée et modifiée.

J'ai vu quelque part que sur cet onglet il y avait des chaînes inactives, elles avaient même l'air plus pâles, elles ne répondaient pas du tout au curseur de la souris. Je n'arrive pas à trouver comment le faire.

 

Sergey Voytsekhovsky:

Je l'ai essayé dans le code - la possibilité de cocher une case pour l'optimisation disparaît, la valeur de la variable dans l'onglet Entrées peut toujours être modifiée, c'est-à-dire que la valeur peut toujours être sélectionnée et modifiée.

J'ai vu quelque part que sur cet onglet il y avait des chaînes inactives, elles avaient même l'air plus pâles, elles ne répondaient pas du tout au curseur de la souris. Je n'arrive pas à trouver comment le faire.

J'ai compris l'essentiel de la question, je suis moi-même curieux. La seule chose que je peux ajouter est de l'insérer via un enum.

Il n'y aura alors qu'un espace vide où rien ne pourra être inséré ou modifié.

enum enum_Main {};
sinput enum_Main _____Main_____;
 

Bonjour, pourriez-vous me dire où je peux trouver un script qui permet à MT4 de placer desordres en attente d'achat et de vente en une seule fois pour un certain nombre de points à partir du prix actuel fixé par un trader, c'est-à-dire sans compter manuellement et peut-être même sans entrer dans la fenêtre d'ordre ? Je l'ai cherché moi-même, mais je ne l'ai pas trouvé. Peut-être que je n'ai pas cherché au bon endroit ou que je ne l'ai pas appelé comme ça, je n'ai pas encore eu affaire à des scripts, je viens juste de commencer à trader sur le forex.

 

Aidez-moi à résoudre le problème du code de queue.

Voici le code :

for(int i=0 ; i<OrdersTotal()-1 ; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))

if(OrderSymbol()==Symbol()||OrderMagicNumber()==Magic)

si(OrderType()==OP_BUY)

{

si(tral>0)

{

si(Bid-OrderOpenPrice()>tral*Point)

{

si(NormalizeDouble(OrderStopLoss()<Bid-tral,Digits))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-tral,OrderTakeProfit(),0,Green) ;

Print("Erreur de modification de queue",GetLastError()) ;

}

}

}

}

si(OrderType()==OP_SELL)

{

si(tral>0)

{

si(OrderOpenPrice()-Ask>tral*Point)

{

si((OrderStopLoss()>(Ask+tral) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+tral,OrderTakeProfit(),0,Red) ;

Print("Erreur de modification de queue",GetLastError()) ;

}

}

}

}

}

}

Le problème est que lors des tests, le chalut ne fonctionne pas et ne produit aucune erreur.

 

Bonjour à tous !

Je négocie sur un compte réel avec un courtier sur MT4.

Je négocie sur la plateforme au travail, à la maison et au téléphone. Ainsi, lorsque je place un indicateur ou un niveau, je dois faire de même au travail.

Question : Avez-vous une possibilité (programme, robot ou autre variante) d'appliquer des indicateurs sur un bureau et de les faire apparaître ailleurs ?

Merci d'avance

 
churkin:

Bonjour à tous !

Je négocie sur un compte réel avec un courtier sur MT4.

Je négocie sur la plateforme au travail, à la maison et au téléphone. Ainsi, lorsque je place un indicateur ou un niveau, je dois faire de même au travail.

Question : Avez-vous une possibilité (programme, robot ou autre variante) d'appliquer des indicateurs sur un bureau et de les faire apparaître ailleurs ?

Merci d'avance.

Vous devez enregistrer le modèle et le copier dans un autre terminal. Ou même un profil, si vous souhaitez enregistrer les paramètres non pas pour un graphique, mais pour tous les graphiques ouverts dans le terminal.

 

Bon après-midi,

Comment réinitialiser les variables statiques lorsque je modifie l'horizon temporel du graphique ou les paramètres d'entrée de l'EA ?

 
Asa saas:

Bon après-midi,

Comment réinitialiser les variables statiques lorsque vous modifiez l'horizon temporel du graphique ou les paramètres d'entrée de l'EA ?

N'entrez que le paramètre approprié :

bool g_bIsInit;
int OnInit()
{
   g_bIsInit = true;
}

void MyFunction()
{
   static int nMyStatic = 0;
   if (g_bIsInit)
   {
      nMyStatic = 0;
      g_bIsInit = false;
   }
}

Cela vaut donc la peine de réfléchir 100 fois avant d'utiliser des variables statiques dans un EA. Dans un script ou un indicateur, c'est une autre affaire.

Raison: