[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 464

 

Collègues, au secours ! !! J'ai vraiment besoin de l'indicateur AMA qui est standard dans MT5, mais seulement pour MT4 S'IL VOUS PLAÎT ! !!

 
Bonjour, pourriez-vous me dire comment faire ? Je veux ajouter un indicateur ZigZag à mon EA. Comment puis-je comparer les prix des pics 0, 1 et 2 ?
 
// в модуле extern int ExtDepth = 12; extern int ExtDeviation = 5; extern int ExtBackstep = 3; extern int ShiftBars = 2; // в функции double y3=0, y2=0, y1=0, zz; // экстремумы Зиг-Зага int x3, x2, x1, sh=ShiftBars;// номера баров // Берём три экстремума Зиг-Зага while (y3==0) { zz=iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, sh); if (zz!=0 && zz!=EMPTY_VALUE) { if (y1==0) { x1=sh; y1=zz; } else if (y2==0) { x2=sh; y2=zz; } else if (y3==0) { x3=sh; y3=zz; } } sh++; }
grâce à KimIV
 

comment est-ce possible ?

l'achat sur le marché,

Ask:1.05310000, Bid:1.05280000, price:1.05310000, sl:1.05251000, tp:0.00000000

donne l'erreur 130.

sl est normalisé avant la transmission.

MODE_STOPLEVEL==0

 
beruk:
grâce à KimIV
Merci.
 

Pourquoi... compte de démonstration :

Matin : Analyse du marché...nouvelles pour aujourd'hui, niveaux...Oanda et autres % ouvrent des trades, pas d'indicateurs...entrent des trades...sur beaucoup de paires, avec de grands SL et TP, le TP est 2 fois plus grand que le SL, fixé par les niveaux de support et de résistance, .... je laisse le monitoring jusqu'au soir.

Le soir : environ 55-60% des trades, l'équité est en profit... Je ferme presque tous les trades... Je garde certains d'entre eux et je fais une moyenne par niveau...

Pourquoi... Compte réel:Je fais le matin - après quoi il n'y a pas de soirée comme sur le démo..... je pars pour une heure ou deux... Dès que je vois un profit, je ferme... puis je fais une moyenne brutale..... ...puis j'attends la clôture de la série de moyennes... bien que le profit sur la démo soit plus important en pourcentage du dépôt... même sans moyenne....

Je comprends que le facteur psychologique m'empêche... la cupidité... la peur de perdre même 300 ppm... Que dois-je faire ? Oublier le compte réel ?

 
demlin:
L'expert négocie plusieurs instruments en même temps
///// Есть некий массив торгуемых инстурментов
string symbolfotrade[] = {"EURUSD", .........}
///// Массив флагов
bool isTradedClosed[] = {false, .....}
bool isTradedOpen[]   = {false, .....}
//// Общая переменная
bool isAllTraded = false;
int  isTradedCount = 0;
start()
  {
   symbfotradeCount = ArraySize(symbolfotrade);
   вначале перебор закрытых ордеров. С конца в начало
   if (!isAllTraded)
     {
      
      Перебор массива торгуемых инструментов
        {
          if (isTradedClosed[i]) continue;


           Перебор закрытых ордеров  с конца в начало
             { 

              Если (символ равен symbolfotrade[i]) то {isTradedClosed[i] = true; isTradedCount++; break}
             {
        }
      Если isTradedCount==symbfotradeCount то  isAllTraded = true; ///// Чтобы не лазать по массивам
     }
   /// ОБнуляем
   ArrayInicialized(isTradedOpen, false);
   Потом перебор по открытым ордерам
     {
       Если (симвло равен symbolfotrade[i]) то isTradedOpen[i] = true;
     }   

   Все теперь если (isTradedOpen[i] = труе и isTradedClosed[i] = труе) то ордер открыт, при этом было закрытие по этому инструменту symbolfotrade[i] ранее.
  

   Только после остальные расчеты

   

  }
 
butthead:

... pour oublier que le vrai score... ?


c'est la réponse.
 
Aidez-moi à comprendre le code. Je ne sais pas comment décrire correctement cet état.

Voici un morceau de l'Expert Advisor.


total=OrdersTotal();

if(total<1)

{

while (d_mn_1>d_pl_1 && (d_mn_0-d_pl_0)>=2) //Пока это условие выполняется открывать только селл при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)>0.7)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)<0.7)) -какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_SELL, lots, NormalizeDouble(Bid, Digits), 3, /*Ask+10*Point*/0, /*Bid-10*Point*/0, "ADX sell", magic, 0, CLR_NONE);
}

while (d_pl_1>d_mn_1 && (d_pl_0-d_mn_0)>=2) // Пока это условие выполняется открывать только Бай при таком условии (iRSI(NULL,0,rsi_period,PRICE_CLOSE,2)<0.3)&&(iRSI(NULL,0,rsi_period,PRICE_CLOSE,0)>0.3)) - какой оператор использовать и как его оформить?
{
OrderSend(Symbol(), OP_BUY, lots, NormalizeDouble(Ask, Digits), 3, /*Bid-10*Point*/0, /*Ask+10*Point*/0, "ADX buy", magic, 0, CLR_NONE);

}
}
}
}
Pouvez-vous me dire comment le faire correctement ?
 
extralifes:

Aidez-moi à comprendre le code. Je ne sais pas comment décrire correctement cet état.

Voici un morceau de l'EA.
Подскажите как это правильно оформить?

Commencez par lire https://book.mql4.com/ru/operators/if

Raison: