[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 382

 
Désolé, mais je travaillais sur Rumuse et maintenant j'apprends MT4. Je suis toujours un "Dummie" ici. 11 .09 . Je ne peux pas commencer les citations. S'il vous plaît, dites-moi ce qui ne va pas. Je serai heureux de vous aider.
 
vitor:
Désolé, mais je travaillais sur Rumuse et maintenant j'apprends MT4. Je suis toujours un "Dummie" ici. 11 .09 . Je ne peux pas commencer les citations. S'il vous plaît, dites-moi ce qui ne va pas. Je serai heureux de vous aider.
Ouvrez un nouveau compte de démonstration, si cela ne fonctionne pas, réinstallez le terminal.
 
Bonjour, pouvez-vous me dire comment désactiver un EA si un ordre ouvert par le même EA est fermé par un trader, ou par SL ou TP.
 
eropov:
Bonjour, pouvez-vous me dire comment désactiver un EA si un ordre ouvert par le même EA est fermé par un trader ou par SL ou TP.
Tu vois, c'est ça les conseillers, tu n'as pas à les conseiller... et si une commande est ouverte, ne t'inquiète pas, oncle Kolya viendra tout fermer.
 

BeerGod

Понимаете, советники на то и советники, что не нужно им советовать... а если ордер открыт, то не переживайте, дядя Коля прийдет и всё закроет.

Il n'est donc pas possible d'empêcher l'EA de fonctionner ?

 
eropov:

BeerGod

Il n'est donc pas possible d'arrêter l'EA ?

Désactivez l'EA en appuyant sur le bouton dans le terminal, et l'ordre ne peut pas être annulé bien sûr, fermez-le manuellement.


 

BeerGod

Désactivez l'EA en appuyant sur le bouton dans le terminal et l'ordre ne peut pas être annulé, bien sûr, fermez-le manuellement.

J'écris un hibou qui ouvre un ordre avec SL et TP.

J'ai besoin d'une condition pour que si un ordre est fermé par TP ou fermé par un trader, je dois arrêter l'EA. Comment mettre cela en œuvre de manière programmatique ?

 

Aidez-moi à résoudre le problème, pourquoi si la boucle n'a que 2 passages, i est d'abord égal à 0 et ensuite immédiatement égal à 4 ?

for(i=0,g=0,c=0;i<OrdersTotal();i++)
    {
    if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;
    if(OrderMagicNumber() == MasterMagicNumber)
      {
      starttime = OrderOpenTime();
      ArrayResize(prices,ArraySize(prices)+TradesCount);
      if(OrderSelect(i+1,SELECT_BY_POS,MODE_TRADES))
      if(OrderMagicNumber() == MasterMagicNumber) endtime = OrderOpenTime();
      OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      times[i] = starttime;
      times[i+1] = endtime;
      tickets[i] = OrderTicket();
      symbol = OrderSymbol();
      Alert(i);
      while(g < TradesCount*(i+1))
        {
        if(OrderType() == OP_BUY)
          {
          if(g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice()-LowOpen*Point;
            }else
            {
            prices[g] = prices[g-1]-step*Point;
            }
          }
        if(OrderType() == OP_SELL)
          {
          if(g == TradesCount*i)
            {
            prices[g] = OrderOpenPrice()+HighOpen*Point;
            }else
            {
            prices[g] = prices[g-1]+step*Point;
            }
          }
        g++;
        }
      }
    }

A partir de ce script, l'alerte sort 0, 4.

 
Помогите решить задачу, почему если в цикле всего 2 прохода i сначала равна 0, а затем сразу равна 4?

D'après ce que je comprends du code

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;

fait un break, ce qui signifie que nous allons au début de la boucle et augmentons i selon la condition de la boucle

probablement comme ceci

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) {i--; break; }

 
Bonjour, pourriez-vous me dire s'il existe un EA simple basé sur deux moyennes ? Sans aucun filtre, ni trailing stop, ni rien de tel. C'est-à-dire que si le court croise le long du bas vers le haut, un ordre d'achat est ouvert et un ordre de vente est fermé ; et vice versa, si le court croise le long du haut vers le bas, un ordre de vente est ouvert et un ordre d'achat est fermé.
Raison: