Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 730

 
evillive:
PeriodSeconds() est le nom de la fonction intégrée, très probablement un appel incorrect dans le code, montrer la ligne 25.
Pas un appel, mais une description/déclaration d'une fonction à l'intérieur d'une autre fonction, ce qui est inacceptable - c'est ce que dit le compilateur.
 

Bonjour ! Le texte et l'image ci-dessous sont extraits de la description d'un des indicateurs sur Internet. D'après ce que j'ai compris, il s'agit de l'EMA du premier et du second degré. Pouvez-vous me donner la formule du second degré ou des liens vers la description de thèmes similaires sur ce forum. Merci beaucoup.


Le principe de CONNEXION (lissage)

Si X1 est la valeur du graphique (supposons qu'il fluctue de moins X1 à plus X1), le point X5 de coordonnées (0;0) est le dernier point de la ligne moyenne, alors la valeur de X2 sera obtenue par la moyenne du premier degré ou par une ligne (levier d'Archimède - nous perdons en distance mais gagnons en force), et la valeur de X3 sera obtenue par la moyenne du second degré ou par une parabole carrée. On peut voir qu'une parabole fournit une ligne de moyenne plus lisse. Plus le degré et la longueur du bras augmentent, plus la régularité augmente. D'un point de vue mécanique, la variation de X1 lors du calcul de la moyenne au premier degré est associée à une variation de vitesse, et lors du calcul de la moyenne au second degré à une variation d'accélération. Enconséquence du calcul de la moyenne, les N derniers points sont reliés par l'équation correspondante.

Principe de l'INTERPOLATION LINEAIRE

On sait qu'il faut au moins deux points pour tracer une ligne droite, trois points pour tracer une parabole carrée, quatre points pour tracer une parabole cubique, etc.Ou X4 et X5 pour une interpolation du premier degré et X4, X5 et X6 pour une interpolation du second degré. Pour que les points interpolés forment une ligne raisonnablement lisse, le degré ou l'épaule de l'interpolation doit être inférieur au degré ou à l'épaule de la moyenne. Si le degré et le levier sont égaux, nous obtiendrons la valeur initiale de X1. (L'indicateur fonctionne sur les points de la dernière ouverture de barre)

La ligne droite est une progression arithmétique pour obtenir le troisième point après les deux premiers:

U3= (U2-U1)+U2 = 2*U2 - U1 - équation du premier degré pour des points équidistants. (Similaire à l'équation après réduction de tous les coefficients de l'équation de Lagrange)


Principe de l'INTERPOLATION TRIGONOMETRIQUE.

Utilisons la formule du sinus d'un angle double : Sin 2a = 2* Cos a* Sin a . Géométriquement, nous pouvons le prouver comme suit : Sin 2a = 2* Cos a* Sin a - 0

Et respectivement : Sin 3a = 2* Cos a* Sin 2a - Sin a etc. où Cos a est le cosinus de l'angle d'un pas et Sin est essentiellement la valeur graphique correspondante. Alors l'équation de retour au premier degré pour un angle sinusoïdal proche de zéro ressemble à ceci Y3 = 2* Cos a * Y2 - Y1 . Nous voyons une analogie complète avec l'équation d'une ligne droite. Dans l'indicateur, la transition des équations trigonométriques aux équations linéaires est assurée par l'attribution d'une période égale à un. Cos 360 est égal à 1 , alors l'équation dégénère en une équation linéaire.
 

L'image n'est pas apparue dans le message précédent.

 
evillive:
PeriodSeconds() est le nom de la fonction intégrée, très probablement un mauvais appel dans le code, montrer la ligne 25.

J'essaie d'utiliser PeriodSeconds(), pour supprimer un ordre en attente sur une nouvelle barre de l'intervalle de temps actuel.

Si vous savez comment le faire correctement, veuillez m'en informer.

//----глобальные переменные 
int PeriodSeconds(ENUM_TIMEFRAMES  period=PERIOD_CURRENT);
//----ф-ия start

int ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,3,stoploss,takeprofit,"MAxx",MAGICMA,PeriodSeconds(),clrGreen);
 

Bonsoir !

Comment puis-je spécifier les paramètres externes du script, de sorte que lorsqu'il s'exécute, il prenne par défaut le vendredi de la semaine en cours, à l'heure 23:00.

Exemple

2014.10.10 23:00:00

//------- Paramètres externes du script -----------------------------------------+

extern datetime DT = ?

 
skyjet:

J'essaie d'utiliser PeriodSeconds(), pour supprimer un ordre en attente sur une nouvelle barre de l'intervalle de temps actuel.

Si vous connaissez la bonne méthode, veuillez m'en informer.

//----глобальные переменные 
int PeriodSeconds(ENUM_TIMEFRAMES  period=PERIOD_CURRENT);
//----ф-ия start

int ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,3,stoploss,takeprofit,"MAxx",MAGICMA,PeriodSeconds(),clrGreen);
//----глобальные переменные 
int  per; 
per=PeriodSeconds(PERIOD_CURRENT); // вызывать там где надо по алгоритму. Нельзя объявлять предопределённую функцию, только вызывать с нужными параметрами и значение присваивать пользовательской переменной

int ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Ask,3,stoploss,takeprofit,"MAxx",MAGICMA,TimeCurrent()+600,clrGreen); //срок истечения  отложенного ордера не может быть меньше 10 минут с момента его выставления

 
Quelque part, il a été mentionné un article ou quelque chose d'autre à l'aide des méthodes de programmation des Expert Advisors travaillant avec une paire sur un compte, sur lequel il y a d'autres Expert Advisors ou similaires, mais avec d'autres paires et, par conséquent, avec d'autres valeurs de paramètres. Vous ne pouvez pas faire seulement le contrôle du symbole et du magicien, parce que tout cela ne peut pas être fait en boucle. J'ai parcouru tous les articles et je ne l'ai pas trouvé dans la recherche. Peut-être que quelqu'un me donnera un indice ! Merci !
 
borilunad:
Il a été mentionné quelque part un article ou autre chose à l'aide de méthodes de programmation d'Expert Advisors, travaillant avec une paire sur un compte, sur lequel il y a d'autres Expert Advisors ou similaires, mais avec d'autres paires et, par conséquent, avec d'autres valeurs de paramètres. Vous ne pouvez pas faire seulement le contrôle du symbole et du magicien, parce que tout cela ne peut pas être fait en boucle. J'ai parcouru tous les articles et je ne l'ai pas trouvé dans la recherche. Peut-être que quelqu'un me donnera un indice ! Merci !
Boris, pouvez-vous développer ? C'est un peu un fouillis.
 
Bonjour ! Pouvez-vous nous aider, s'il vous plaît ? Supposons que nous ayons plusieurs MAs (3,4,...,10,...) avec des périodes différentes. Comment trouver la MA avec la plus grande (plus petite) valeur sur la barre actuelle ? Merci.
 
artmedia70:
Boris, pouvez-vous développer ? C'est un peu confus.
Merci pour la réponse, Artyom ! Je suis en train de faire un expert, qui n'a pas besoin de beaucoup de marge de sécurité. Je l'ai essayé à la main sur quelques paires, et ça marche bien ! C'est pourquoi je veux établirun AE pour chaque paire, mais ils ne doivent pas interférer l'un avec l'autre et être complètement indépendants, même leurs heures de travail peuvent ne pas coïncider ! Je vais optimiser chacun d'entre eux séparément dans le testeur. Que dois-je encore comprendre pour qu'ils soient si libres ? ! ;)
Raison: