[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 - 5. - page 319

 
hoz:

Mais il y a un point. Dans tous les cas, une modification de la sortie de l'expression ne résoudra pas le problème. En effet, au moment de la mise à zéro, les prix d'ouverture et de clôture doivent être "échangés".


Vous semblez vous tromper. Après tout, +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Avec un changement de signe, ils changent de place.

hoz:

Vadim a écrit il y a quelque temps que mettre une fonction à l'intérieur de la boucle ralentit l'exécution du code d'un ordre de grandeur.


Si j'ai bien compris Vadim, il voulait parler de l'appel d'une fonction utilisateur dans une boucle.

Vinin:

Vous devriez peut-être ouvrir votre propre agence. Pourquoi avez-vous besoin de "Une branche pour les débutants" ?
Ouais, pourquoi un débutant aurait-il besoin de connaître l'anatomie et les périodes d'une mashka)))). Je ne suis pas différent des débutants, peut-être seulement parce que je suis analphabète, et que j'essaie donc de tout comprendre avec mon propre cerveau.

hoz:

J'ai fait en sorte que les compteurscntUp etcntDn soient différents, car ils peuvent avoir une valeur à la fois et une autre lorsque le calcul est effectué à travers la boucle par les barres calculées. Et le compteur peut additionner une valeur et continuer à additionner une autre valeur. Et s'il y a une variable, le nombre de barres d'un attribut sera ajouté au compteur de barres d'un autre attribut.


Le comptoir est différent là-bas. Si le chandelier va dans la direction opposée, le compteur est remis à zéro par la formule. Ou peut-être que je ne vous ai pas compris. La seule chose est qu'il peut fonctionner plus lentement. Je le testerai quand j'y arriverai.

 
gyfto: ... J'ai une question sur l'optimisation. Je m'occupe de l'algorithme EMA...
Alors, pourquoi ai-je besoin de prendre le dernier poids si je peux simplement envelopper la fonction puissance si le poids suivant est plus important que le précédent ? Je ne me demande même plus pourquoi utiliser la récursion si les poids finaux peuvent être dérivés par une formule après la fin de la récursion (voir F(n,x) et y(n,x)).
Vinin : Peut-être que tu devrais commencer ta propre branche. Pourquoi avez-vous besoin d'une "branche pour débutants" ?
gyfto: ... Eh bien oui, c'est pourquoi les débutants doivent comprendre l'anatomie et les périodes de l'ondulation)))). Je ne suis pas différent des débutants, peut-être seulement parce que je suis analphabète, donc j'essaie d'accéder à tout avec mon cerveau. ...
Allez-y, ouvrez un fil de discussion comme "Questions sur l'EMA" et joignez le fichier Matcad. Votre message sera simplement perdu ici. Dans un autre fil de discussion, les gourous des mathématiques devraient être en mesure d'expliquer tout cela.
 
GaryKa:
Allez-y, commencez un fil de discussion comme "Questions sur l'EMA" et joignez un fichier Matcad. Votre message sera simplement perdu ici. Dans un fil séparé, les gourous des maths devraient être capables de le décomposer.

Vous voulez probablement dire que la réponse à la question sera perdue. Ok, je vais ouvrir un fil, éditer ce post, je vais écrire déplacé.
 
TarasBY:

Regardez ça. ;)


Hmm, merci. S'agit-il de résultats de l'optimisation ?
 
gyfto:

Vous semblez vous tromper. Parce que +(a-b)=a-b, -(a-b)=-a-(-b)=-a+b=b-a. Avec un changement de signe, ils changent de place.

Donc, d'après les mathématiques, nous savons que moins à moins donne plus. Et plus à moins donne moins. Mais c'est la première fois que j'entends parler d'échange de variables.

gyfto:

Si j'ai bien compris Vadim, il voulait dire l'appel de la fonction utilisateur dans la boucle.

J'y ai une fonction utilisateur. Voici la fonction initiale elle-même dans sa forme non raccourcie car elle ne fonctionne pas comme je le souhaite pour le moment, j'ai donc décidé de ne pas la rendre universelle :

//+-------------------------------------------------------------------------------------+
//| Расчитываем количество идущих один за одним баров одного признака                   |
//+-------------------------------------------------------------------------------------+
int LastCandlesType(int directionMA)
{
   int cntUp,                                                                            // Счётчик идущих друг за другом свечей с..
       cntDn;                                                                                // .. требуемыми признаками
       
   for (int i=i_AnyBarsToHistory; i>=1; i--)
   {
      if (directionMA == CROSS_UP)
      {
         if ((Open[i] - Close[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntDn++;                                                                     // .. прибавим 1 к счётчику

         if ((Close[i] - Open[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntDn = 0;                                                                   // .. счётчик обнуляем

         if (cntDn == i_sequentBarsСount)                                                   // Если cnt баров в подряд медвежьи..
             return (REQUIRED_SEQUENTIAL_BEARS_GOT);                                         // .. Выходим из функции
      }

      if (directionMA == CROSS_DN)
      {
         if ((Close[i] - Open[i]) >= i_sizeOfSequentialCorrectionBar * pt)              // Если бар соответствует требуемым признакам..
             cntUp++;                                                                     // .. прибавим 1 к счётчику

         if ((Open[i] - Close[i]) >= i_sizeOfTrandBar * pt)                             // Если бар, не соответствует основному признаку..
             cntUp = 0;                                                                   // .. счётчик обнуляем
     
         if (cntUp == i_sequentBarsСount)                                                   // Если cnt баров в подряд бычьи..
             return (REQUIRED_SEQUENTIAL_BULLS_GOT);                                         // .. Выходим из функции
      }
   }
}

A l'intérieur de la boucle, à partir d'une fonction qui reçoit un signal commun, cette variable prend sa valeur et est passée en paramètre :

int directionMA = GetStateOfMA();

gyfto:
Eh bien oui, pourquoi les débutants auraient-ils besoin de comprendre l'anatomie et les périodes d'une machine à onduler))). Je ne suis pas différent des débutants, peut-être seulement parce que je suis analphabète et que j'essaie donc d'accéder à tout avec mon cerveau.

Vous avez tort. En fait, il n'est pas question d'analphabétisme. Vous avez ici des pensées que beaucoup de débutants ne comprennent pas...

gyfto:

Il y a un compteur différent là-bas. Si la bougie va dans l'autre sens, la formule remet le compteur à zéro. Ou je vous comprends mal. La seule chose est qu'il pourrait fonctionner plus lentement. Je le testerai quand j'en aurai l'occasion.

Oui, mais nous avons un compteur où les valeurs sont calculées par l'ordre des barres apparaissant de la barre avec l'indexi_AnyBarsToHistory à la barre avec l'index 1. Il s'ensuit que si la condition sera remplie sur les barres de l'indice 30 à l'indice 15:

directionMA == CROSS_UP

et alors par exemple à cnt=2 la condition sera remplie :

directionMA == CROSS_DN

Ensuite, cnt sera incrémenté à la valeur précédente. Si nous avions 2, la nouvelle condition s'incrémenterait de 1, puis cnt=3 et nous quitterions la fonction avec la valeur 3. Vous voyez ce que je veux dire ? Regardez attentivement, la logique est fondamentalement évidente ici.

 

Bon après-midi.

Quelqu'un a-t-il une expérience de la modification des paramètres d'un indicateur dans un EA?

en fonction de la volatilité (par exemple, les paramètres MA) ?

Ou pouvez-vous me donner un lien à lire

 
Stells:

Bon après-midi.

Quelqu'un a-t-il une expérience de la modification des paramètres d'un indicateur dans un EA ?

en fonction de la volatilité (par exemple, les paramètres MA) ?

Ou pouvez-vous me donner un lien à lire


Si vous comprenez ce qu'est une muving, ces questions disparaîtront d'elles-mêmes.
 
hoz:
Si vous comprenez ce qu'est le muving, ces questions disparaissent d'elles-mêmes.
Tu ne peux pas juste vivre magnifiquement...

MA adaptatif
 
Bonjour, j'ai besoin d'aide pour écrire un script simple ou un Expert Advisor' si le script ne peut pas le faire lui-même je n'ai jamais programmé le script L'essence du script Login - recevoir les prix (Ask et Bid actuels) - déterminer le futur prix d'achat/vente (comme un multiple de son nombre "par exemple 30") - découvrir s'il n'y a pas d'ordres ouverts/postés à ces prix - si pas d'ordres, placer des ordres en attente avec stoploss et take profit - s'il y a des ordres vérifier le prochain prix d'achat qui pour l'achat est plus élevé par un multiple de nombre, pour vendre - plus petit par un multiple - vérifier le prix actuel du plafond +-100*fold - attendre 5 minutes et aller à "get price" l'attente peut être remplacée par aller à "get price" après chaque tick
 
sdm:
Ajoutez une description de la ponctuation et une définition de vos concepts (par exemple, "votre numéro") . Et dans cette branche, on n'aide que ceux qui ont les mains libres (et c'est quand l'humeur le permet).