Aide au codage - page 209

 

Bonjour Monsieur Mladen,

Je vous demande humblement de recoder cet indicateur qui montre la ligne ouverte quotidienne. De la même façon, je veux deux codes d'indicateurs, c'est-à-dire 1) les lignes High et Low du jour précédent. Je négocie des options sur actions et ces indicateurs doivent ajuster l'heure en HH:MM. Merci d'avance

Dossiers :
 
alpha24:
Bonjour Monsieur Mladen, Je vous demande humblement de recoder cet indicateur qui montre la ligne ouverte quotidienne. De la même manière, je veux deux codes d'indicateurs, c'est-à-dire 1) les lignes High et Low du jour précédent. Je négocie des options sur actions et ces indicateurs doivent ajuster l'heure en HH:MM. Merci d'avance

alpha24

Avec la configuration actuelle( différence defuseau horaire spécifiée à 9 heures et 15 minutes) il ne peut pas être adapté pour montrer l'info dont vous avez besoin d'une manière normale. Désolé

 

Bonjour Mladen,

pouvez-vous mettre 3 mtf personnalisables sur votre indicateur connorRSI svp ?

connorsrsi.mq4

thx

Dossiers :
 
js497:
Bonjour Mladen,

pouvez-vous mettre 3 mtf personnalisables sur votre indicateur connorRSI plz ?

connorsrsi.mq4

thx

js497

Il s'agit d'un indicateur Connors rsi en 3 temps.

Dossiers :
 
mladen:
js497 Il s'agit d'un indicateur rsi de Connors en 3 temps.

merci mladen

 
arroganzmaschine:
Salut à tous, j'espère que vous pourrez m'aider.

J'ai besoin de programmer un Expert advisor, où je vérifie chaque tick si un nouvel ordre est ouvert et modifie cet ordre avec un stop loss.

Comment puis-je vérifier si un ordre a été ouvert et le modifier ? L'ea n'ouvre pas d'ordre, il doit juste vérifier.

Merci à tous ! Vous êtes tous très utiles.

Meilleures salutations, Max.

Hey mladen, avez-vous des idées ? Ce serait génial !

Merci beaucoup.

 
arroganzmaschine:
Hey mladen, avez-vous des idées ? Ce serait formidable ! Merci beaucoup.

arroganzmaschine

Vous n'avez pas besoin de vérifier si un ordre est ouvert. Tout ce que l'EA doit vérifier, c'est si le stop loss est ce que vous attendez. Pour cela, vous pouvez utiliser n'importe quel EA de trailing stop qui maintient vos stop loss aux niveaux que vous souhaitez.

 
mladen:
arroganzmaschine Vous n'avez pas besoin de vérifier si un ordre est ouvert. Tout ce que l'EA doit vérifier, c'est si le stop loss est bien celui que vous attendez. Pour cela, vous pouvez utiliser n'importe quel EA de trailing stop qui maintient vos stop loss aux niveaux que vous souhaitez.

Salut mladen,

merci pour votre réponse. Je veux le coder moi-même. Lorsque j'envoie un nouvel ordre, l'EA doit le détecter et fixer un stoploss à ce nouvel ordre. Il n'y a qu'un seul ordre sur le marché. Comment puis-je réaliser cela ?

 
arroganzmaschine:
Bonjour mladen, merci pour votre réponse. Je veux le coder moi-même. Lorsque j'envoie un nouvel ordre, l'EA doit le détecter et fixer un stoploss à ce nouvel ordre. Il n'y a qu'un seul ordre sur le marché. Comment puis-je réaliser cela ?

Vous pouvez utiliser le code suivant pour commencer (seulement quelques vérifications d' erreurs à ajouter - j'ai essayé de garder le code aussi simple que possible afin de montrer seulement l'essence de ce qui doit être fait)

extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}
Dossiers :
_test_1.mq4  1 kb
 
mladen:
Vous pouvez utiliser le code suivant pour commencer (seulement quelques vérifications d'erreurs à ajouter - j'ai essayé de garder le code aussi simple que possible afin de montrer seulement l'essence de ce qui doit être fait)
extern double StopLoss = 20;

int init() { return(0); }

int deinit() { return(0); }

int start()

{

if (StopLoss<=0) return(0);

for (int i=0; i <= OrdersTotal(); i++)

{

if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if (OrderSymbol() != Symbol()) continue;

int ticket = OrderTicket();

double sl = 0;

if (OrderType()==OP_BUY) sl = NormalizeDouble(OrderOpenPrice()-StopLoss*Point*MathPow(10,Digits%2),Digits);

if (OrderType()==OP_SELL) sl = NormalizeDouble(OrderOpenPrice()+StopLoss*Point*MathPow(10,Digits%2),Digits);

if (sl!=0 && sl!=OrderStopLoss())

OrderModify(ticket,OrderOpenPrice(),sl,0,0,CLR_NONE);

}

return(0);

}

Merci beaucoup !

Raison: