Aide au codage - page 130

 

Je ne sais pas si ce sont des objets ou des tampons. Est-il également possible d'envoyer des ordres dans l'indicateur afin que je n'aie pas besoin d'un conseiller expert ? Quel est l'algorithme pour ouvrir des ordres sans stoploss et take profit?

Mais je pense que je veux un conseiller expert, ouvrir des ordres par l'apparition des flèches et fermer les ordres lorsque le signal de fermeture arrive. Puis-je identifier les ordres ouverts par symbole ?

 
arroganzmaschine:
Je ne sais pas si ce sont des objets ou des tampons. Est-il également possible d'envoyer des ordres dans l'indicateur afin que je n'aie pas besoin d'un conseiller expert ? Quel est l'algorithme pour ouvrir des ordres sans stoploss et take profit ?

1. Les objets vont être visibles dans la liste des objets.

2. Non. Vous ne pouvez pas gérer les ordres depuis un indicateur

3. Pour ouvrir des ordres (n'importe quel type d'ordre) vous devez utiliser l'envoi d'ordre. Aide pour la fonction OrderSend() :

______________________________________

int OrderSend(string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

La fonction principale utilisée pour ouvrir une position ou placer un ordre en attente.

Retourne le numéro du ticket attribué à l'ordre par le serveur commercial ou -1 en cas d'échec. Pour obtenir des informations supplémentaires sur les erreurs, il faut appeler la fonction GetLastError().

Notes :

Lors de l'ouverture d'un ordre de marché (OP_SELL ou OP_BUY), seuls les derniers prix de Bid (pour la vente) ou Ask (pour l'achat) peuvent être utilisés comme prix d'ouverture. Si l'opération est effectuée avec un titre différent du titre actuel, la fonction MarketInfo() doit être utilisée avec le paramètre MODE_BID ou MODE_ASK pour obtenir les derniers cours de ce titre. Les prix calculés ou non normalisés ne peuvent pas être appliqués. Si le cours d'ouverture demandé n'est pas présent dans le fil des cours ou s'il n'a pas été normalisé en fonction du nombre de chiffres après la virgule, l'erreur 129 (ERR_INVALID_PRICE) est générée. Si le prix ouvert demandé est complètement dépassé, l'erreur 138 (ERR_REQUOTE) sera générée indépendamment du paramètre de slippage. Si le prix demandé n'est pas à jour, mais qu'il est présent dans le fil de discussion, la position sera ouverte au prix actuel et seulement si le prix actuel se trouve dans la plage prix+slippage.

Les niveaux StopLoss et TakeProfit ne peuvent pas être trop proches du marché. La distance minimale des niveaux de stop en points peut être obtenue en utilisant la fonction MarketInfo() avec le paramètre MODE_STOPLEVEL. Dans le cas de niveaux de stop erronés ou non normalisés, l'erreur 130 (ERR_INVALID_STOPS) sera générée.

Lors du placement d'un ordre en suspens, le prix ouvert ne peut pas être trop proche du marché. La distance minimale du prix en attente par rapport au marché actuel en points peut être obtenue en utilisant la fonction MarketInfo() avec le paramètre MODE_STOPLEVEL. En cas de faux prix ouvert d'un ordre en attente, l'erreur 130 (ERR_INVALID_STOPS) sera générée.

L'application du temps d'expiration des ordres en attente peut être désactivée dans certains serveurs commerciaux. Dans ce cas, lorsqu'une valeur non nulle est spécifiée dans le paramètre d'expiration, l'erreur 147 (ERR_TRADE_EXPIRATION_DENIED) sera générée.

Sur certains serveurs commerciaux, le nombre total d'ordres ouverts et en attente peut être limité. Si cette limite est dépassée, aucune nouvelle position ne sera ouverte (ou aucun ordre en attente ne sera placé) et le serveur commercial renverra l'erreur 148 (ERR_TRADE_TOO_MANY_ORDERS). Paramètres :

][TD="width : 100%"]Niveau d'arrêt des pertes.

[TR]

[TD]takeprofit[TD] - [TD="width : 100%"]Niveau de prise de bénéfices.

[TR]

[TD]comment[TD] - [TD="width : 100%"]Texte de commentaire de l'ordre. La

[TR

][TD] - [TD="width : 100%"]Nombre magique de l'ordre. Peut être utilisé comme identifiant défini par l'utilisateur.

[TR]

[TD]expiration[TD] - [TD="width : 100%"]Heure d'expiration de l'ordre (pour les ordres en attente uniquement).

[TR]

[TD]arrow_color[TD] - [TD="width : 100%"]Couleur de la flèche d'ouverture sur le graphique. Si le paramètre est absent ou a la valeur CLR_NONE, la flèche d'ouverture n'est pas dessinée sur le graphique.
symbol[/TD] -[/TD]Symbole pour la négociation.[/TD]

[/TR]

cmd[/TD] -[/TD]Type d'opération. Il peut s'agir de n'importe quelle opération de l'énumération Trade operation.[/TD]

[/TR]

volume[/TD] -[/TD]Nombre de lots.[/TD]

[/TR]

price[/TD] -[/TD]Prix préféré de la transaction.[/TD]

[/TR

slippage[/TD] -[/TD]Glissement de prix maximum pour les ordres d'achat ou de vente.[/TD]

[/TR]

stoploss[/TD] -
dernière partie du commentaire peut être modifiée par le serveur.
[TD]magic

Exemple :

int ticket;

if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25)

{

ticket=OrderSend(Symbol(),OP_BUY,1,Ask,3,Ask-25*Point,Ask+25*Point,"My order #2",16384,0,Green);

if(ticket<0)

{

Print("OrderSend failed with error #",GetLastError());

return(0);

}

}

 

Puis-je vous envoyer l'indicateur par courrier afin que vous puissiez me donner des conseils ?

 
arroganzmaschine:
Je peux vous envoyer l'indicateur par courrier afin que vous puissiez me donner des conseils ?

Vous pouvez le poster (s'il ne s'agit pas d'un indicateur privé ou commercial).

 

C'est privé . Je pense que je dois tout lire pour arriver à ma solution.

Puis-je fermer les ordres à partir d'un symbole spécifique où le signal de fermeture apparaît?

 
arroganzmaschine:
C'est un site privé . Je pense que je dois tout lire pour trouver ma solution. Puis-je fermer les ordres d'un symbole spécifique où le signal de fermeture apparaît ?
Essayez d'abord de parcourir ces deux fils de discussion

: https://www.mql5.com/en/forum/173136 https://www.mql5.com/en/forum/173171

.

Il serait bon que vous commenciez par ce message https://www.mql5.com/en/forum/172969/page2

. Il sera beaucoup plus facile de trouver des informations sur le codage mql si vous suivez les liens de ce message.
 

Merci, je vous répondrai plus tard.

 

Mladen, une petite question s'il vous plaît, est-ce que ( ligne de tendance parfaite) ptl2 et l'indicateur d'alertes se repeignent ?

 

J'ai vu qu'il y a aussi des alertes. Elles sont envoyées lorsque certains IndexBuffers ont la bonne valeur.

Puis-je envoyer mes ordres avec quelques if{-clauses ?

 
funayot:
Mladen, question rapide s'il vous plaît, est-ce que l'indicateur (perfect trend line) ptl2 and alerts se repeint ?

Non, l'indicateur '(perfect trend line) ptl2 and alerts' ne se repeint pas après une barre fermée !