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

 
Urain >> :
Ou encore : Temps[0]+(Temps[0]-Temps[1]) ou 2*Temps[0]-Temps[1].

boyau :)

 

Mes salutations aux frères d'écriture (de code) !

Je comprends que cette question doit énerver tout le monde, mais je n'ai rien trouvé d'utile à ce sujet. Donc je suis confus à propos de quelque chose. Aidez un nouvel arrivant à saisir !

Je n'ai pas eu d'idée originale - dans une fenêtre d'indicateur pour afficher les lignes pour le temps actuel et plus grand (dans mon cas une heure et un jour).

Ma première pensée a été... Mais je n'ai pas eu le temps - mes mains l'ont fait toutes seules :

Buf_1[ i]=iCCI(NULL,1440,14,PRICE_TYPICAL, i);

Le résultat était clairement en décalage avec le calendrier. C'est compréhensible - il est plus facile de prendre une barre prête à l'emploi de la période appelée que de la créer dynamiquement. Eh bien, nous mangerons des écrevisses si nous n'avons pas de poisson. J'ai synchronisé le début du dessin par l'heure et remplacé i par un id qui est mis à jour à chaque changement de jour. L'échelle à segments horizontaux, passant par toutes les heures d'une journée, ce n'est pas grand-chose, mais au moins c'est quelque chose. Logiquement, les sections droites devraient avoir plié en temps réel. C'est le cas. Mais il faut beaucoup de temps pour rester connecté au serveur pendant des semaines au nom d'une image viable, et le visualiseur du testeur simule cela de manière très réelle. J'ai lancé un Expert Advisor vide et l'ai fait passer par la fenêtre de visualisation d'un interstitiel. Merde ! Il n'y a pas de simulation ! Lorsque je change de jour, j'obtiens une barre entièrement formée à partir de l'historique, qui n'est pas encore formé. La sortie est le même escalier. Il s'avère que la barre de zéro dans la conception ci-dessus n'est pas adaptée au travail, car pendant les tests, elle fera semblant. L'étape suivante a été franchie par pure obstination pour s'assurer que rien n'était laissé en suspens et que tous les points étaient sur les "i". Je me suis adressé depuis le conseiller expert à cette même barre zéro par le biais de mon indicateur et j'ai filtré ses actions (du conseiller expert) par l'état du CCI (plus ou moins que le jour précédent). A en juger par ces déchets dans le testeur, certains changements dans la barre ont eu lieu, mais j'étais trop court pour aller au fond des choses. Une fois de plus, je me suis reproché de ne pas avoir débogué le code étape par étape en contrôlant les variables. (Bien sûr, je pourrais l'enregistrer, mais pour les cas plus compliqués, ce serait un fiasco total).

Une digression.

J'ai été ému aux larmes par les photos de la version 5. Un outil très puissant ! Le lecteur multimédia apparaîtra probablement dans la version 6. )))))))))) Mais pourquoi ne pas leur donner un objet tel que le "bar" avec tous ses attributs ? Ce serait beaucoup de douleur d'un seul coup, n'est-ce pas ?

Retour aux soi. A la fin du test, un indicateur a été ouvert dans lequel la ligne en question était absolument droite pendant un an et il n'a rien montré du tout.

C'est tout.

Dehors.

Une même construction sur l'historique, en temps réel, dans la fenêtre de visualisation et dans le programme se comporte de manière complètement différente.

Je suis assis maintenant et j'essaie de comprendre, est-ce un bug ceci, ou telle puce ou l'armure est forte et nos tanks sont rapides ?

Z.U. Non, en raison de mon entêtement, j'ai finalement obtenu ce que je voulais, la simulation d'un morceau de séries chronologiques à partir des données actuelles (vous pouvez également demander une minute pour plus de certitude) et le calcul de ses propres forces, mais c'est trop de mon cul, désolé, obtenir. Et j'aimerais comprendre les règles de référence à d'autres temporalités dans de telles constructions...

 
hot писал(а) >>

Mes salutations aux frères d'écriture (de code) !

Je comprends que cette question doit énerver tout le monde, mais je n'ai rien trouvé d'utile à ce sujet. Donc je suis confus à propos de quelque chose. Aidez un nouvel arrivant à saisir !

Je n'ai pas eu d'idée originale - dans une fenêtre d'indicateur pour afficher les lignes pour le temps actuel et plus grand (dans mon cas une heure et un jour).

Ma première pensée a été... Mais je n'ai pas eu le temps - mes mains l'ont fait toutes seules :

Le résultat était clairement en décalage avec le calendrier. C'est compréhensible - il est plus facile de prendre une barre prête à l'emploi de la période appelée que de la créer dynamiquement. Eh bien, nous mangerons des écrevisses si nous n'avons pas de poisson. J'ai synchronisé le début du dessin par l'heure et remplacé i par un id qui est mis à jour à chaque changement de jour. L'échelle à segments horizontaux, passant par toutes les heures d'une journée, ce n'est pas grand-chose, mais au moins c'est quelque chose. Logiquement, les sections droites devraient avoir plié en temps réel. C'est le cas. Mais il faut beaucoup de temps pour rester connecté au serveur pendant des semaines au nom d'une image viable, et le visualiseur du testeur simule cela de manière très réelle. J'ai lancé un Expert Advisor vide et l'ai jeté dans la fenêtre de visualisation du testeur. Merde ! Il n'y a pas de simulation ! Lorsque je change de jour, j'obtiens une barre entièrement formée à partir de l'historique, qui n'est pas encore formé. La sortie est le même escalier. Il s'avère que la barre de zéro dans la conception ci-dessus n'est pas adaptée au travail, car pendant les tests, elle fera semblant. L'étape suivante a été franchie par pure obstination pour s'assurer que rien n'était laissé en suspens et que tous les points étaient sur les "i". Je me suis adressé depuis le conseiller expert à cette même barre zéro par le biais de mon indicateur et j'ai filtré ses actions (du conseiller expert) par l'état du CCI (plus ou moins que le jour précédent). A en juger par ces déchets dans le testeur, certains changements dans la barre ont eu lieu, mais j'étais trop court pour aller au fond des choses. Une fois de plus, je me suis reproché de ne pas avoir débogué le code étape par étape en contrôlant les variables. (Bien sûr, je pourrais l'enregistrer, mais pour les cas plus compliqués, ce serait un fiasco total).

Une digression.

J'ai été ému aux larmes par les photos de la version 5. Un outil très puissant ! Le lecteur multimédia apparaîtra probablement dans la version 6. )))))))))) Mais pourquoi ne pas leur donner un objet tel que le "bar" avec tous ses attributs ? Ce serait beaucoup de douleur d'un seul coup, n'est-ce pas ?

Retour aux soi. A la fin du test, un indicateur a été ouvert dans lequel la ligne en question était absolument droite pendant un an et il n'a rien montré du tout.

C'est tout.

Dehors.

Une même construction sur l'historique, en temps réel, dans la fenêtre de visualisation et dans le programme se comporte de manière complètement différente.

Je suis assis maintenant et j'essaie de comprendre, est-ce un bug ceci, ou telle puce ou l'armure est forte et nos tanks sont rapides ?

Z.U. Non, en raison de mon entêtement, j'ai finalement obtenu ce que je voulais, la simulation d'un morceau de séries chronologiques à partir des données actuelles (vous pouvez également demander une minute pour plus de certitude) et le calcul de ses propres forces, mais c'est trop de mon cul, désolé, obtenir. Et je veux comprendre les règles de référence à d'autres horizons temporels dans des structures similaires...

Ecrivez-moi dans mon ...

 
Vinin >> :

>> m'écrire en personne

Merci pour l'info, mais j'ai besoin de la théorie et je préfère m'occuper de la pratique moi-même. )))))))))))))

 

Bonjour, j'ai cette question :

Comment puis-je forcer l'EA à n'effectuer qu'une seule transaction à un moment donné ? C'est-à-dire, par exemple, chaque jour de bourse pour ne faire qu'un seul ordre d'achat à exactement 15 heures ? J'ai essayé de le faire de cette façon :

int ct = Hour();
int cm = Minute();
int sd = Seconds();

if(ct == 15 && cm == 0 && sd == 0)
{
int tick = OrderSend(Symbol(),OP_BUY,A_lot,Ask,5,Ask-A_sl*Point,Ask+A_tp*Point,"Покупка.",3,0,CLR_NONE);
}

Fonctionne en principe, mais seul l'EA effectue de nombreux achats en une seule fois, car la première seconde de la 16ème heure est accompagnée de plusieurs ticks (cela dépend également du dépôt et du lot).

J'ai essayé de vérifier par magazine et par jour de transaction, mais je me retrouve toujours dans le désordre :

int ct = Hour();
int cm = Minute();
int sd = Seconds();

if(ct == 15 && cm == 0 && sd == 0)
{
for (int i=1; i<=OrdersTotal(); i++)
{
if(OrderSelect(i-1, SELECT_BY_POS, MODE_TRADES)==true)
{
if(OrderMagicNumber() == 3 && OrderOpenTime() == Day())
{
bool A_order = true; break;
}
A_order = false;

}
}

if(A_order == false)
int tick = OrderSend(Symbol(),OP_BUY,A_lot,Ask,5,Ask-A_sl*Point,Ask+A_tp*Point,"Покупка.",3,0,CLR_NONE);
}

Si quelqu'un le sait, merci de le conseiller ! J'essaierai de vérifier le nombre magique de la même manière mais cela laisse toujours un désordre.

 
JackaLrus >> :

Bonjour, j'ai cette question :

Comment puis-je forcer l'EA à n'effectuer qu'une seule transaction à un moment donné ? C'est-à-dire, par exemple, chaque jour de bourse pour ne faire qu'un seul ordre d'achat à exactement 15 heures ? J'ai essayé de le faire de cette façon :


Si quelqu'un le sait, merci de le conseiller ! Merci !

Essayez de regarder dans le fil de discussion de I. Kim -

Fonction isTradeToDay(). Page 21

Cette fonction renvoie le drapeau commercial pour aujourd'hui. Le drapeau est levé - Vrai - des positions ont été ouvertes aujourd'hui. Flag down - Faux - aucune position ouverte aujourd'hui

https://www.mql5.com/ru/forum/107476/page21

//-

Cette fonction vous permet de créer facilement une condition d'ouverture :

if (isTradeToDay(NULL,-1,Magic)<1 ) {//  если сегодня не было сделок
//- то торговля разрешена

Et l'heure d'ouverture est très facile à régler.

De plus, Igor y a des fonctions temporelles similaires.

 

Merci pour le lien ! J'ai trouvé !

Vous devez utiliser TimeDay(OrderOpenTime())==Day() dans la comparaison, puis tout fonctionne comme il se doit !

 

J'ai besoin d'aide. Je modifie l'inclusion du Critère MACD_Simple de la documentation les critères de trading (en utilisant la règle des 4 semaines, recherche des bas et hauts de 20 et 10 jours - détails dans le code commenté) mais lorsque je l'exécute sur l'historique dans le testeur, le Conseiller Expert n'ouvre pas les ordres.

Je comprends que je suis perdu dans trois arbres, néanmoins, si vous avez le temps et l'occasion - dites-moi...

//--------------------------------------------------------------------
// Criterion.mqh
// Правило 4-х недель
//--------------------------------------------------------------- 1 --
// Функция вычисления торговых критериев.
// Возвращаемые значения:
// 10 - открытие Buy  цена закрытия выше максим-ой за последние 20 дней
// 20 - открытие Sell цена закрытия ниже минимальной за последние 20 дней 
// 11 - закрытие Buy  цена закр ниже минимальной за последние 10 дней
// 21 - закрытие Sell цена закрытия выше максимальной за последние 10 дней
// 0  - значимых критериев нет
// -1 - используется другой финансовый инструмент
//--------------------------------------------------------------- 2 --
// Внешние переменные:
extern int                                 
       Counted_bars1=20,                         // Количество просчитанных баров 
       Counted_bars2=10;                         // Количество просчитанных баров 
       




//--------------------------------------------------------------- 3 --
int Criterion()                                                   // Пользовательская функция
  {
   double
        Max_20 = High [1], Min_20 = Low [1],                      // Присваиваем значения максимуму и  
        Max_10 = High [1], Min_10 = Low [1];                      // минимуму на 1-ом баре
   int i=0;                                                       // Индекс бара  
          
   
   //--------------------------------------------------------------- 4 --
   // Параметры торговых критериев:
   
  for( i = 2; i <= Counted_bars1+1; i++)                             // цикл для 20 дней 
         {                                        
         if (Low[ i] <  Min_20)                               // Если текущее значение < известного   
               Min_20 = Low[ i];                              // то оно и будет минимум   
         
         if (High[ i] > Max_20)                               // Если > известного    
               Max_20 = High[ i];                             // то оно и будет максимум  
           }   
  
  for( i = 2;  i <= Counted_bars2+1; i++)                     // цикл для 10 дней 
         {                                        
         if (Low[ i]< Min_10)                                 // Если текущее значение < известного   
               Min_10=Low[ i];                                // то оно и будет мин   
               
         if (High[ i] > Max_10)                                   // Если > известного    
               Max_10=High[ i];                                   // то оно и будет макс  
           }   

   
    //--------------------------------------------------------------- 5 --
   
    // Вычисление торговых критериев
    
   if(Close[0]> Max_20)
   return(10);                                           // Открытие Buy    
   
     
   if (Close[0]< Min_20)  
   return(20);                                           // Открытие Sell
     
   if(Close[0]< Min_10)
   return(11);                                           // Закрытие Buy    
  
   
   if(Close[0]> Max_10)
   return(21);                                           // Закрытие Sell    
   
     
   
  
      
       
//--------------------------------------------------------------- 6 --
   return(0);                          // Выход из пользов. функции
  }
//--------------------------------------------------------------- 7 --
 

Bonjour aux membres du forum, j'ai commencé à étudier le TS assez récemment et j'ai une question à vous poser. J'ai vu un conseiller expert appelé EURONIS sur un site Web bien connu. En cherchant sur Google, j'ai trouvé plusieurs avis positifs et aucun négatif. Dans le même Google avait un lien vers ce forum avec le sujet en discussion pour ce conseiller, qui exprimait des opinions sceptiques, mais le sujet a été apparemment supprimé (maintenant la recherche sur le site n'a rien donné).

C'est pourquoi je veux savoir ce qu'est cette EA ? Apporte-t-il des bénéfices stables ? Certains d'entre vous l'ont-ils négocié sur un compte réel ? J'attends vos commentaires.

J'attends vos commentaires. Merci d'avance.

 
Roman. >> :

J'ai besoin d'aide. Je modifie l'inclusion du Critère MACD_Simple de la documentation les critères de trading (en utilisant la règle des 4 semaines, recherche des bas et hauts de 20 et 10 jours - détails dans le code commenté) mais lorsque je l'exécute sur l'historique dans le testeur, le Conseiller Expert n'ouvre pas les ordres.

Je comprends que je suis perdu dans trois pins, néanmoins, si vous avez le temps et l'occasion - dites-moi...

Ajoutez le code complet, si vous ne voulez pas montrer votre idée, changez le critère, par exemple :

if(Close[0]>Open[1])
   return(10);                                           // Открытие Buy    
   
     
   if (Close[0]<Open[1])  
   return(20);                                           // Открытие Sell
     
   if(Close[0]<Open[1])
   return(11);                                           // Закрытие Buy    
  
   
   if(Close[0]> Open[1])
   return(21);                                           // Закрытие Sell    

Mais sans voir l'ensemble du tableau, il est impossible de dire où l'artiste s'est trompé.