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

 
gross >>:

Здравствуйте, решил занятся изучением MQL4, начал работать с массивами, возник вопрос: при выводе элемента Time[] выходит такое вот значение 1264149780, вместо вида 2006.11.01 14:35 к примеру, или возможно 1264149780 это координата?

lire https://docs.mql4.com/ru/convert/TimeToStr

1264149780 est le nombre de secondes écoulées depuis le 01.01.1970

 
alsu писал(а) >>

chercher des erreurs plus logiques.

Le CRS est le suivant :

J'ai trouvé l'erreur logique, tout correspond.
Maintenant le script ressemble à ça, peut-être que quelqu'un serait intéressé :
int start()
  {
int Period_CCI=18;
int Period_MA=9;
double MApoCCI;
double ind_CCI, ind_CCI_2;
double Sum_CCI;
for (int k=0; k<5; k++)
  {
      for (int i=1+ k; i< Period_MA+1; i++)
       {
         ind_CCI= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, i);
         Sum_CCI= Sum_CCI+ ind_CCI;
       }
     MApoCCI= Sum_CCI/ Period_MA;
     int n= k+1;
     ind_CCI_2= iCCI(Symbol(),0, Period_CCI,PRICE_TYPICAL, n);
     Alert("MA по СиСиАй "+ k+" = "+ MApoCCI);
     Alert("СиСиАй "+ k+" = "+ ind_CCI_2);
     Sum_CCI=0;
}
//----
   return(0);
  }
 
Vekker писал(а) >>

Voulez-vous un script ou un indicateur ?

A titre d'exemple d'indicateur

Dossiers :
 
Vinin писал(а) >>

Voulez-vous un script ou un indicateur ?

A titre d'exemple d'indicateur

Ce script sera plus tard dans l'EA - en tant que script, il a été écrit pour vérifier la performance de cette pièce et l'exactitude des chiffres qu'elle produit pour un traitement ultérieur.

>>Merci pour l'indicateur ci-joint, pouvez-vous nous expliquer de quoi il s'agit ?

 
Vekker писал(а) >>

Ce script sera présenté plus loin dans l'EA - en tant que script, il a été écrit pour vérifier la performance de cette pièce et l'exactitude des chiffres qu'elle produit pour un traitement ultérieur.

Merci pour l'indicateur ci-joint - pouvez-vous nous expliquer de quoi il s'agit ?

// Construire le WPR

for (i=limit;i>0;i--) WPR[i]=iWPR(NULL,0,WPR.Period,i) ;

//premier lissage
for (i=limit;i>0;i--) EMA1[i]=iMAOnArray(WPR,0,EMA.1.Period,0,MODE_EMA,i) ;

// Deuxième lissage
for (i=limit;i>0;i--) EMA2[i]=iMAOnArray(EMA1,0,EMA.2.Period,0,MODE_EMA,i) ;

Nous devons créer un indicateur qui pourra être utilisé ultérieurement dans l'Expert Advisor.

Il sera meilleur et plus rapide.

 

Pouvez-vous me dire quel est le problème ? Je donne deux morceaux de code qui ferment toutes les transactions de la même direction :

for( ii=0; ii<OrdersTotal(); ii++)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

et le second :

for( ii=OrdersTotal(); ii>0; ii--)
      {
        OrderSelect( ii, SELECT_BY_POS, MODE_TRADES);
        
        if(OrderType()==OP_BUY)
          {
            if( closelong==1)
              {
                OrderClose(OrderTicket(),OrderLots(),Bid,20,Blue);
                return(0);
              }
          }
        if(OrderType()==OP_SELL)
          {
            if( closeshort==1)
              {             
                OrderClose(OrderTicket(),OrderLots(),Ask,20,Red);
                return(0);
              }
          }
      }

Il semble que ce soit la même chose, sauf que la deuxième devrait fermer les transactions en commençant par la dernière, et la première devrait fermer à partir de la première.

Ainsi, la première fonctionne correctement, toutes les transactions sont fermées, mais la seconde ne ferme que la toute dernière transaction et les autres ne le sont pas. Pourquoi ?

 
Azimuth >>:

Подскажите, пожалуйста, в чем тут загвоздка? Даю два куска кода, которые закрывают все сделки одного направления:

и второй:

Вроде бы все тоже самое, только второй должен закрывать сделки, начиная с последней, а первый - начиная с первой.

Так вот, первый работает правильно, все сделки закрываются, а вот второй закрывает только самую последнюю сделку, а остальные - нет. Почему?

Utilisation étrange du retour, conditions et si la nidification peut être réduite.

if ((OrderType()==OP_BUY) && ( closelong==1))


Et le compte à rebours peut OrdersTotal par un.


 
Pouvez-vous me dire comment faire fonctionner le zigzag dans le testeur. J'exécute un script qui cherche des points de pivot et il donne des résultats à partir de la fenêtre des cotations réelles, ce n'est pas le premier indicateur qui fait ça. Comment puis-je le combattre ?
 
Andrei-1 писал(а) >>
Pouvez-vous me dire comment faire fonctionner le zigzag dans le testeur. J'exécute un script qui recherche des points de pivot mais il montre les résultats à partir de la fenêtre des cotations réelles, ce n'est pas le premier indicateur qui fait cela. Comment la combattre.

Un zigzag jeté sur le graphique en mode visualisation regarde vers l'avenir.

Je peux vous donner un zigzag qui ne regarde pas vers le futur.

 
Faisons un essai. Oui attraper savchenkoandrei-ya@yandex.ru ou lien.