[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

 
Je pense que ce que l'on entend ici par module est un programme unique.
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 ?

 
AndEv:

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" ?

Ce qui signifie que, par exemple, la bibliothèque ex4 ne peut pas
 
Stells:

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.
 
Roman.:

Vous écrivez les formules pour les lignes avec l'indicateur + dessinez ces lignes comme des objets dans le tableau.
J'ai créé un indicateur qui prend les valeurs des tampons à partir de variables globales. Et les valeurs elles-mêmes sont envoyées par l'EA avec la couleur et le style de dessin.
 

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 précédente était prohibitive alors que la valeur actuelle est permissive.
 
MikeM:
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.
Je ne comprends pas.
Raison: