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

 
Pouvez-vous me dire comment faire pour que la fenêtre de l'indicateur se ferme à la commande de l'indicateur lui-même, comme la fin du travail ? Est-ce possible ?
 
akuma_san1:

Je ne sais pas quoi en faire. Vous n'avez probablement pas regardé l'image, je comprends tout ce que vous avez dit et je le soutiens. Mais le point de la question n'est pas de savoir si le point d'entrée est max ou min * de 0,25 de ce max ou min. Comment le décrire dans un EA afin que l'EA ait défini un max et un min et donc un point d'entrée ?????.

Tout indicateur possède des tampons à partir desquels vous obtenez les valeurs dont vous avez besoin. Si vous êtes intéressé par un indicateur spécifique et des points d'entrée basés sur celui-ci, écrivez votre question en relation avec un indicateur spécifique et ils vous expliqueront et vous montreront le code comme exemple. Ensuite, par analogie, vous serez en mesure de faire ce dont vous avez besoin avec n'importe quel indicateur. Malheureusement, je ne suis pas chez moi en ce moment et je ne peux pas vous montrer plus concrètement l'exemple d'un makdak, par exemple...

ZS. J'ai regardé la photo - c'est le même vague... :)

 
cyclik33:

Messieurs les programmeurs, veuillez me conseiller sur ce que je dois mettre dans mon Expert Advisor pour qu'il ne trade qu'une fois sur une barre.

Je vous en suis très reconnaissant à l'avance.

Nouveau contrôle de l'ouverture du bar
 
gosar:
J'ai décidé d'installer pipsolov3, mais je ne sais pas comment copier les indicateurs, qui peut me conseiller ?

C:\Program Files\MT folder/experts/indicateurs
 
ToLik_SRGV:

Au tout début de la fonction de démarrage, ajoutez une ligne d'appel à cette fonction :

Le conseiller sera activé 1 fois, uniquement sur une nouvelle barre.

MERCI BEAUCOUP ! !!
 

Je veux ajouter une condition supplémentaire dans mon EA pour ouvrir une position en utilisant l'indicateur ADX. Veuillez me conseiller sur la manière d'écrire correctement la condition afin qu'elle fonctionne comme suit : si la valeur précédente de l'ADX est supérieure à la valeur actuelle, il faut s'asseoir, si elle est inférieure, il faut acheter.

Merci d'avance pour votre aide.

Merci beaucoup.

 
FoxUA:

Les gens aident à libérer cet opérateur, au moins ceux qui savent quoi et comment peuvent aider.

Dans quelle liste allez-vous sélectionner une commande? Il devrait s'ouvrir avec les mêmes valeurs que celui qui est fermé ? Quelle est la définition de stop ou take ?
 
artmedia70:
Dans quelle liste allez-vous sélectionner une commande ? Doit-il s'ouvrir avec les mêmes valeurs que celui qui est fermé ? Quel est le but de spécifier stop ou take ?

Je l'ai déjà fait, mais je n'arrive pas à en faire des constantes modifiables,

comment faire pour que les valeurs soient remises à zéro lorsqu'un ordre est ouvert jusqu'à la prochaine clôture.

int mag;

int start()
{
bool b,s, //соответственно бай или селл  
bs,// если закрытие по стоплоссу ордера бай
ss,// если закрытие по стоплоссу ордера sell
bt,
st;//      то же по ТП
double bl,sl; // лоты соответсвенно для бай и селл


for(int cnt=OrdersHistoryTotal();cnt>0;cnt--)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
         {if(OrderMagicNumber()== mag &&
          OrderSymbol()==Symbol()) 
            { if (OrderType() == OP_BUY )  {b=1; if (OrderClosePrice()==OrderTakeProfit()) bt=1; 
if (OrderClosePrice()==OrderStopLoss()) bs=1; bl=OrderLots()*10; break;}
              if (OrderType() == OP_SELL)  {s=1; if (OrderClosePrice()==OrderTakeProfit()) st=1; 
if (OrderClosePrice()==OrderStopLoss()) ss=1; sl=OrderLots()*10; break;}
            }
         }
      }


}//end
 
profitinvesting:

Je veux ajouter une condition supplémentaire dans mon EA pour ouvrir une position en utilisant l'indicateur ADX. Veuillez me dire comment écrire correctement la condition pour qu'elle fonctionne comme suit : si la valeur précédente de l'ADX est supérieure à la valeur actuelle, alors s'asseoir ; si elle est inférieure, alors acheter.

Merci d'avance pour votre aide.

Merci beaucoup.

Comparez la valeur ADX de la barre actuelle (de préférence la première barre) avec la valeur ADX de la barre précédente (de préférence la deuxième barre).

Si c'est exact, ça ressemble à ça :

if (iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,1)>iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,2)) 
     {Действия, если значение ADX на 1-м баре больше чем на 2-м}
else 
if (iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,1)<iADX(NULL,PERIOD_D1,14,PRICE_CLOSE,MODE_MAIN,2)) 
     {Действия, если значение ADX на 1-м баре меньше чем на 2-м}
Mais ce n'est pas bien comme ça. Il est préférable d'assigner les valeurs ADX à des variables doubles et de travailler ensuite avec les variables...
 
FoxUA:

Je l'ai déjà fait, mais je n'arrive pas à en faire des constantes modifiables,

comment faire pour que les valeurs soient remises à zéro lorsqu'un ordre est ouvert jusqu'à la prochaine clôture.

Les variables booléennes ne sont pas initialement initialisées à false, en général, avant d'entrer dans la boucle, mettez-les à zéro (false) - lorsque la boucle sort, elles auront les valeurs qui leur ont été attribuées dans la boucle (mieux vaut true que 1) et elles continueront à avoir ces valeurs jusqu'à la prochaine entrée dans la boucle. Si l'ouverture d'un ordre dépend strictement des valeurs de ces variables, alors, après l'ordre d'ouverture d'un ordre, on vérifie la présence de cette position sur le marché, et si elle est présente, on met les variables à zéro (faux)
Raison: