[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 523

 
Richie писал(а) >>

Question : qui dispose de cet EA ouvrant à la fois des ordres d'achat et de vente ?
Ou peut-être que je comprends mal quelque chose, mais je reçois l'erreur 138.
https://www.mql5.com/ru/code/8177


Pour cinq chiffres, le glissement doit être augmenté.
 
Vinin писал(а) >> Pour cinq chiffres, il faut surtout augmenter le glissement.


>> Merci. Je comprends maintenant pourquoi ça marchait et ne marche plus. Je n'ai pas pensé à ça.
 
Veuillez me conseiller sur la façon de boucler l'exécution de l'ensemble du programme.
De préférence, pas une boucle éternelle, mais l'exécution du programme un certain nombre de fois.
Voici un exemple simple -

bool Log=false ;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point) ;
Log = vrai ;

retour ;
}

Comment placer l'instruction de boucle de sorte que lorsqu'un ordre stop se déclenche, la même position (par exemple) soit ouverte immédiatement ?
 
sont inutiles, le programme est déjà bouclé pour être appelé à chaque tic. Mémorisez le ticket de commande et vérifiez ensuite OrderCloseTime() à chaque fois. S'il est différent de 0, cela signifie que l'ordre a été clôturé. Comment exactement - au take ou au stop - vous pouvez le découvrir en analysant OrderProfit().
 
alsu >>:
циклов не надо, программа и так зациклена на вызов при каждом тике. Запомните тикет ордера, а потом проверяйте каждый раз OrderCloseTime(). Если оно не 0, значит ордер закрылся. Как именно - по тейку или стопу - можно узнать, проанализировав OrderProfit().

Et si le stop était au seuil de rentabilité, etc. ?

 
sanyooooook >>:

а если стоп стоял в безубытке и т.п.?

Si seulement les champignons pouvaient pousser dans votre bouche.

 
alsu >>:

если б да кабы, да во рту росли б грибы.

Vous ne pouvez pas trouver quelque chose de plus intelligent ? Répondez correctement à la question.

 
Lim1 >>:
Подскажите как зациклить выполнение всей программы?
Желательно не вечный цикл, а выполнение программы определенное количество раз.
Вот простой пример -

bool Log=false;

int start()
{


if(Log==false)
int tick=OrderSend("GBPUSD",OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
Log = true;

return;
}

Как расположить оператор цикла чтобы при срабатывании стоп приказа сразу происходило бы открытие этой же (например) позиции?

Pas tout à fait clair, paraphrase.

int start()
{
 for(int i = 0; i < 15; i++){

  bool покупать=false,
       продавать=false;
  string Symbol_="GBPJPY";

  if(iRSI(Symbol_,5,144,0,1)>50)
  покупать=true;
  else
  продавать=true;

  if(покупать)
  int tick=OrderSend(Symbol_,OP_BUY,0.01,Ask,3,Bid-30*Point,Bid+30*Point);
  if(продавать)
  int tick=OrderSend(Symbol_,OP_SELL....................................);
  Sleep(100);//0.1 sec/ ждем 
 }
return(0);
}
 
costy_ >>:

Не совсем понятно, перефразируйте.

Un bon code ouvrira quinze ordres en une seconde et demie en fonction des lectures du RSI.
Il est préférable de décrire en mots ce que vous voulez obtenir et de ne pas faire référence aux cycles et tout ça. Par exemple, ouvrir un ordre en fonction de la lecture du RSI, s'il sera fermé par le stop, ouvrir immédiatement le suivant, etc.
 
splxgf >>:
Хороший код, за полторы секунды откроет пятнадцать ордеров в зависимости от показаний RSI.
Лучше описать словами то что хочется получить и не надо ссылаться на циклы и все такое. к примеру открыть один ордер по показаниям RSI, если он будет закрыт по стопу сразу открыть следующий и т.п.

=))

Pouvez-vous me dire comment boucler l'exécution d'un programme entier ?
De préférence, pas une boucle éternelle, mais pour exécuter le programme un certain nombre de fois.
Voici un exemple simple -

Ça ne me dérange pas, ça ne me dérange pas.

Je suis d'accord "Mieux décrit en mots" !

Raison: