[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 435

 
semiromid:

Aide )

1. détection instantanée d'une transaction nouvellement ouverte (pas les ordres en attente) (Si le système a détecté un ordre qui n'a pas été ouvert auparavant, il continue sous le numéro 2).

2. Toute tâche n'est exécutée qu'une seule fois, uniquement pour cette commande.

Après l'ouverture d'un autre ordre, le système agit à nouveau du point 1 au point 2.

Vous avez besoin de retrouver une commande passée manuellement depuis l'extérieur ?
 
sergeev:

Service-Settings-International

Intéressant. et l'option est apparue dans les paramètres. ce n'était pas le cas dans les versions précédentes.
 
bercut0077:
Bonjour, pourriez-vous me dire comment ajouter une flèche (code 241) à une ligne de texte et faire en sorte que le tout s'affiche correctement à l'écran ? Par exemple -- > trend = StringConcatenate("Direction of trend : ", ? ? ? ? ?) ; Il existe peut-être une autre méthode ?


Sinon, vous pouvez utiliser les "guillemets" et _souligner_.

ou

^ up

...

 
peshihod:
Vous avez besoin de retrouver une commande passée manuellement depuis l'extérieur ?


Aussi bien manuellement qu'en externe.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .

 

a déménagé à

semiromid:

si ( OrderSelect (77777, SELECT_BY_TICKET) == true)

Comment puis-je sélectionner un ticker qui n'existe pas encore, mais qui sera le prochain ?

 

a déménagé à

semiromid:

Veuillez m'aider.

Comment puis-je ajouter une variable à ce commentaire "Error Occurred" ?

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "An error occurred ", 0) ;


TheXpert:

OrderSend(Symbol(),OP_SELLSTOP,0.1,Ask-50*Point,3,Bid+150*Point,Bid-150*Point, "An error occurred "+GetLastError(), 0) ;

 

Bonjour les experts, dans l'indicateur je suis intéressé par la valeur reçue par l'EA

SetIndexBuffer(2, Cur_Trend) которое в зависимости от обстоятельств должно иметь значение 1 или -1, все работает нормально, но по прошествии минут 10-15, значение выходит за 
рамки и становится сразу равно 2147483647, в чем здесь проблема, уже не один день бьюсь... выручайте, заранее спасибо!

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 LightBlue
#property indicator_color2 Magenta

double CrossUp[];
double CrossDown[];
double Cur_Trend[];
int CurrentTrend = 0;
int starttime = 0;

int init()
  {
   IndicatorBuffers(3); 
   SetIndexStyle(0, DRAW_ARROW, EMPTY);
   SetIndexArrow(0, 233);
   SetIndexBuffer(0, CrossUp);
   SetIndexStyle(1, DRAW_ARROW, EMPTY);
   SetIndexArrow(1, 234);
   SetIndexBuffer(1, CrossDown);
   SetIndexBuffer(2, Cur_Trend);
   starttime = TimeLocal(); 
   
   return(0);
  }


int deinit()
  {
   return(0);
  }


int start() {
   
   int limit, i, counter, loop;
   
   double fasterEMAnow, slowerEMAnow, fasterEMAprevious, slowerEMAprevious, fasterEMAafter, slowerEMAafter;
   double Range, AvgRange;
   int counted_bars=IndicatorCounted();

   //---- check for possible errors
   if(counted_bars<0) return(-1);

   //---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   loop = 0;
   for(i = 0; i <= limit; i++) {
      counter=i;
      Range=0;
      AvgRange=0;
      for (counter=i ;counter<=i+9;counter++)
      {
         AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
      }
      Range=AvgRange/10;
       
      fasterEMAnow = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i);
      fasterEMAprevious = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i+1);
      fasterEMAafter = iMA(NULL, 0, FasterEMA, 0, MODE_EMA, PRICE_CLOSE, i-1);

      slowerEMAnow = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i);
      slowerEMAprevious = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i+1);
      slowerEMAafter = iMA(NULL, 0, SlowerEMA, 0, MODE_EMA, PRICE_OPEN, i-1);
      
      if ((fasterEMAnow > slowerEMAnow) && (fasterEMAprevious < slowerEMAprevious) && (fasterEMAafter > slowerEMAafter)) {
         CrossUp[i] = Low[i] - Range*0.5;
         if ((loop == 0) && (CurrentTrend != 1))  {
            CurrentTrend = 1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
      }
      else if ((fasterEMAnow < slowerEMAnow) && (fasterEMAprevious > slowerEMAprevious) && (fasterEMAafter < slowerEMAafter)) {
            CrossDown[i] = High[i] + Range*0.5;
         if ((loop == 0) && (CurrentTrend != -1))  {
            CurrentTrend = -1;
            Cur_Trend[0]= CurrentTrend;
            }

         if (loop == 0)  {
            loop = 1;
            }
       }
   }
   return(0);
}
 

Bonjour à tous !

Une personne de plus a décidé de se plonger dans la programmation de l'EA ;)))

Veuillez indiquer comment mettre en œuvre le timing de l'EA, par exemple de 0:00 à 0:15.

Merci d'avance))))

 

Bienvenue à un autre plongeon...

limiter le temps de fonctionnement du conseiller site:mql4.com

 
semiromid:


Aussi bien manuellement que de l'extérieur.

1.Моментальное определение вновь открывшегося торгового(не отложеных ордеров) ордера(Ордера открытого вручную и открытого спомощью советника) Если система определила ордер который рание не был открыт . то идет продолжение под номером 2.

2. Выполняеться какая то задача, всего 1-н раз,именно для этого ордера .

После того как еще открылся один ордер, система вновь действует с пункта 1 по пункт 2 .


C'est-à-dire que le moment de l'ouverture importe peu, qu'elle ait été ouverte il y a une minute ou deux ?

Le point 2 n'est pas clair. C'est un peu vague.

L'heure d'ouverture peut être déterminée par OrderOpenTime().