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

 
artmedia70:

C'est tout individuel et tout IMHO.

"...J'ai besoin de trouver la variante d'EA avec les meilleurs résultats..." Ces résultats - ne signifient presque rien pour le présent et le futur - ils sont ajustés pour l'HISTOIRE - et donc pour le passé.

Il s'agit en particulier de mon attitude à l'égard de la vitesse et, plus encore, de l'optimisation - j'essaie de ramener à zéro les paramètres réglables de l'EA. Selon mes observations, l'optimisation n'est qu'une question d'adaptation à des données historiques qui n'ont aucune signification pour le présent. Pourquoi ai-je besoin d'un jouet qui se négocie raisonnablement bien dans le passé ?

Pour cette raison, tous mes conseillers experts ont des paramètres auto-ajustables pour la situation actuelle du marché, et ils ne réagissent pas à l'histoire avec des paramètres écrits de manière rigide, mais aux événements actuels, en changeant dynamiquement certains de leurs paramètres pour s'adapter au moment présent... Et je ne les optimise JAMAIS. Il me suffit d'exécuter un mois ou deux d'historique pour trouver des erreurs et m'assurer que la logique de mon conseiller expert fonctionne correctement et est rentable.

Alors, ne prenez pas mon humour de soldat à cœur. Je m'excuse, j'espère - sans vouloir vous offenser ? :))

Artem, c'est bon.) Si tu étais une fille, je t'offrirais des fleurs virtuelles ;)) Merci. A propos de la "couleur verte" - les résultats sont attachés non seulement à l'histoire, mais aussi au mouvement МА (oui, à l'histoire, mais sinon vous ne pouvez pas voir son comportement et ses variantes possibles). Si l'on détecte ne serait-ce qu'une petite régularité - après tout, il y aura toujours des mouvements de hausse et de baisse - ce sera l'optimisation. Peut-être que toutes mes initiatives sont erronées, mais je n'ai pas d'autres options pour exécuter le conseiller expert afin de déterminer au moins une partie de son utilité. Je ne veux l'optimiser qu'une seule fois.) Et je veux soit refuser de cette EA, soit l'emmener au travail. Et si pendant 4 ans le bénéfice est constant, est-ce un critère faible ? Après tout, on attrape alors une sorte de régularité. Par exemple, si le courant d'une rivière change d'avant en arrière, de petites pierres légères rouleront d'avant en arrière sur une petite distance dans tous les cas - c'est la dépendance.
 
volshebnik:
Nikolaï, merci. J'utilise des indicateurs standard - MA. Le code compte plus de mille lignes, qui voudrait s'en préoccuper, je pense. Le calcul est fait une fois par tick (je l'ai vérifié avec "alertes").
Il y a peut-être certains calculs dont nous pouvons nous passer, par exemple le traitement des erreurs et de toutes sortes de situations anormales, ils ne sont pas nécessaires au stade du développement, et peuvent être ajoutés lorsque l'algorithme de trading est prêt et que l'EA peut être configuré pour le trading réel. Combien de fois le conseiller expert exécute-t-il tous les ordres ? Y a-t-il beaucoup de boucles et de fonctions iHigest/ilowest ? Mille lignes, oui, presque personne n'y comprendrait rien, sauf un coup d'œil rapide, au cas où quelque chose attirerait son attention...
 
Techno:
Il est également possible qu'il existe des calculs dont vous pouvez vous passer, par exemple, le traitement des erreurs et de toutes sortes de situations anormales n'est pas nécessaire au stade du développement, ils peuvent être ajoutés lorsque l'algorithme de trading est terminé et que vous pouvez commencer à utiliser le conseiller expert pour de vrai. Combien de fois le conseiller expert exécute-t-il tous les ordres ? Y a-t-il beaucoup de boucles et de fonctions iHigest/ilowest ? Mille lignes, oui, seules très peu de personnes y comprendraient quelque chose, si ce n'est un rapide coup d'œil au cas où quelque chose attirerait leur attention.
Tous les ordres sont testés à chaque tick (car les ordres sont modifiés lorsqu'ils atteignent un certain niveau, et cette réussite ne peut être évaluée que par un tick). Je n'ai pas encore implémenté de situations anormales ; la gestion des erreurs existe, oui. Et les cycles ne sont comptés qu'à l'ouverture de chaque heure (un retard significatif est perceptible, lorsque chaque tick est vérifié, comme décrit).
 
volshebnik:
Tous les ordres sont rejoués à chaque tick (car les ordres sont modifiés lorsqu'un certain niveau est atteint, et cette réussite ne peut être définie que par un tick). Je n'ai pas encore implémenté de situations anormales, mais la gestion des erreurs existe. Et les cycles ne sont comptés qu'à l'ouverture de chaque heure (un retard significatif est perceptible, lorsque chaque tick est vérifié, comme décrit).
il semble qu'il n'y ait rien de flagrant, quelque chose de plus peut déjà être dit avec le code...
 
Techno:
il ne semble pas y avoir quelque chose de flagrant, quelque chose de plus peut être dit avec le code...
Merci, Nikolaï, c'est ce que je me demandais - la vitesse du testeur augmenterait-elle de manière significative si je changeais de processeur ?
 
volshebnik:
Merci, Nikolaï, c'est ce que je me demandais - la vitesse du testeur augmenterait-elle de manière significative si je changeais de processeur ?
Le problème n'est pas dans le processeur, mais dans le code EA, il y a des goulots d'étranglement quelque part, mais vous ne pouvez pas les diagnostiquer et les réparer par des mots, vous avez besoin du code.
 
Bonjour à tous ! Question : Comment modifier un ordre en attente et une position déjà ouverte en les présélectionnant par numéro magique. Si vous pouvez me donner un exemple. Je voudrais vous poser une question.
 
Pouvez-vous me dire si, lorsqu'il est activé, un EA peut prendre le niveau de prix d'une entrée sur le marché ou d'un ordre en attente à partir d'une cellule Excel (les chiffres correspondants y seront saisis à l'avance) ?
 
Aidez à "relancer" l'indicateur. Il fonctionne selon les données historiques, mais pas selon les nouvelles données. Donnez-moi au moins la raison.
#property copyright "Stellar Space"
#property link      "http"

#property indicator_chart_window                                               // Индикатор рисуется в основном окне
#property indicator_buffers 2                                                  // Количество индикаторных буферов
#property indicator_color1 DarkGreen                                           // Цвет первой линии
#property indicator_width1 1                                                   // Ширина первой линии
#property indicator_color2 Crimson                                             // Цвет второй линии
#property indicator_width2 1                                                   // Ширина второй линии

extern int Code_1=159;                                                         // Код значка
extern int Code_2=159;                                                         // Код значка

extern int History=1000;                                                       // Количество баров истории

double Buf_0[],Buf_1[];                                                        // Объявление массива под буфер индикатора

//+------------------------------------------------------------------+
int init()
 {
 
 SetIndexBuffer(0,Buf_0);                                                      // Назначение массива буферу
 SetIndexStyle(0, DRAW_ARROW);                                                 // Стиль линии
 SetIndexArrow(0, Code_1);                                                     // Стиль Arrow
 SetIndexLabel(0,"Максимум (1 уровень)");                                      // Установка имени линии индикатора 
 SetIndexBuffer(1,Buf_1);                                                      // Назначение массива буферу
 SetIndexStyle(1, DRAW_ARROW);                                                 // Стиль линии
 SetIndexArrow(1, Code_2);                                                     // Стиль Arrow
 SetIndexLabel(1,"Минимум (1 уровень)");                                       // Установка имени линии индикатора 
  
 return(0);
 }

//+------------------------------------------------------------------+
int start()
 {
 
 int i;                                                                        // Индекс бара
 int a,b,c,d,e,f,g,h,j,k,l,m,n,o,p,q;                                          // Объявление переменых
 int Counted_bars=IndicatorCounted();                                          // Количество просчитанных баров
 
 
//+------------------------------------------------------------------+         // START
 i=MathMin(History,Bars-Counted_bars-1);

  while(i>0)                                                                    // Цикл по непосчитанным барам
 {

 
//+------------------------------------------------------------------+         // A

 for(a=i; a>0; a--)    
 {//Aa
 if (High[a+1]<High[a]&&Low[a+1]<Low[a])
    {b=a;}    
 else {break;}
 }//Aa
//--
 for(a=i; a>0; a--)    
 {//Ab
 if (High[a+1]>High[a]&&Low[a+1]>Low[a])
    {c=a;}
 else {break;}
 }//Ab
//--

 for(a=i; a>0; a--)    
 {//Ac
 if (b>c){d=b;}    
 else {break;}
 }//Ac 
//--
 for(a=i; a>0; a--)    
 {//Ad
 if (c>b){e=c;}    
 else {break;}
 }//Ad
//--

 for(a=i; a>0; a--)    
 {//Ae
 if (e>d&&d>c)
  {
   f=iHighest(NULL,0,MODE_HIGH,e-c,c);
   Buf_0[f]=High[f]+2*Point;
  }    
 else {break;}
 }//Ae 
 for(a=i; a>0; a--)    
 {//Af
 if (d>e&&e>b)
  {
   g=iLowest(NULL,0,MODE_LOW,d-b,b);
   Buf_1[g]=Low[g]-2*Point;
  }    
 else {break;}
 }//Af 
 

//+------------------------------------------------------------------+
 i--;
 }

//+------------------------------------------------------------------+         // FINISH

 //!

 return(0);
 }

//+------------------------------------------------------------------+
int deinit()
 {
 return(0);
 }
  
//+------------------------------------------------------------------+
 

Où puis-je obtenir des cotations M30 (ou inférieures) antérieures à 2004 pour TOUTES les actions ou indices ? PAS en devises ? Merci

Raison: