[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 210
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
Les coûts de l'expérience VB, cependant.
Après-midi.
J'ai écrit des scripts pour ouvrir des ordres et placer simultanément une protection sous la forme d'un ordre en attente.
Voici le code pour SELL.
//+------------------------------------------------------------------+
//| OpenSELL_Lok.mq4 |
//| KarkadilGENA |
//| http://forum.fibo-forex.ru/ |
//+------------------------------------------------------------------+
#property copyright "KarkadilGENA"
#lien de propriété "http://forum.fibo-forex.ru/"
#property show_inputs
//--------------------------------------------------------------------
extern double MARTIN = 1 ; // taux d'incrémentation du lot (nombre de genoux)
extern int stoploss = 20, //niveau du SL, si 0, le SL n'est pas exposé
takeprofit = 40, //t niveau du TP, si 0, le TP n'est pas fixé.
Magic = 345 ; //numéro unique de la commande
extern double Lot = 0.01 ; //volume de commande
//+------------------------------------------------------------------+
int start()
{
//----
lots doubles, SL, TP ;
int ticket.sell=-1 ;
while(ticket.sell<0)
{
RefreshRates() ;
Lot=NormaliserDouble(Lot,2) ;
lots = Lot * MARTIN ;
TP = NormalizeDouble(Bid - takeprofit*Point,Digits) ;
ticket.sell=OrderSend(Symbol(),OP_SELL,lots,Bid,3,0,TP,NULL,Magic,0,CLR_NONE) ;
si(ticket.sell<0)
Alerte ("Erreur à l'ouverture de la position") ;
retour ;
}
int ticket_BUYSTOP=-1 ;
while(ticket_BUYSTOP<0)
{
RefreshRates() ;
Lot=NormaliserDouble(Lot,2) ;
lots = Lot * MARTIN ;
SL = NormalizeDouble(Bid + stoploss*Point,Digits) ;
ticket_BUYSTOP=OrderSend(Symbol(),OP_BUYSTOP,lots,SL,3,0,0,NULL,Magic,0,CLR_NONE) ;
si(ticket_BUYSTOP<0)
Alerte ("Impossible d'ouvrir la position ") ;
retour ;
}
retour(0) ;
}
//+------------------------------------------------------------------+
La première ouverture se déroule normalement, mais lors de la seconde (avec les positions existantes ouvertes),
Deux protections sont ouvertes. Stop et Limit. Dans mon code, il est écrit Only One, Stop.
Lorsque j'en ouvre un troisième, il ouvre plusieurs ordres de protection.
Veuillez me dire comment faire pour que OWL ouvre une protection, indépendamment du nombre de positions déjà ouvertes.
Merci.
Merci pour votre réponse d'hier.
Comment puis-je obtenir le prix actuel ?
Après-midi.
J'ai un EA qui prend une valeur à partir d'un indicateur où une ligne relie deux fractales supérieures ou inférieures.
Comment puis-je obtenir (ou construire) ces lignes dans l'EA lui-même afin de ne pas avoir à me référer à l'indicateur ?
Du tutoriel :
Il est possible de passer des paramètres par référence. Dans ce cas, la modification de ces paramètres affectera les variables correspondantes dans la fonction appelée passée par référence. Il n'est pas possible de transmettre des éléments de tableaux par référence. Les paramètres peuvent être transmis par référence uniquement au sein d'un même module.
Qu'entendez-vous par le mot "module" ?
Après-midi.
J'ai un EA qui prend une valeur à partir d'un indicateur où une ligne relie deux fractales supérieures ou inférieures.
Comment puis-je obtenir (ou construire) ces lignes dans l'EA lui-même afin de ne pas avoir à me référer à l'indicateur ?
Vous pouvez utiliser les formules des lignes de l'indicateur + dans l'EA vous dessinez ces lignes avec des objets.
Vous écrivez les formules pour les lignes avec l'indicateur + dessinez ces lignes comme des objets dans le tableau.
Bonjour, il existe une fonction qui signale l'achat ou la vente. Si vous le réglez simplement
If(sig1) SetOrder(....) ;
Puis il s'ouvre plusieurs fois.
Question d'attention !) Comment faire pour qu'il s'ouvre une fois pour(sig1) il peut être ainsi sig1-ouvrir BAY, commande suivante, sig0-admettre que le chalut est sur (quoi que ce soit), commande suivante encore, sig1-ouvrir une deuxième BAY.
Il est possible de se souvenir de la valeur précédente de sig1et de n'ouvrir un ordre que lorsque la valeur actuelle est permissive et que la valeur précédente était prohibitive.