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

 

C'est-à-dire que ça donnerait quelque chose comme ça :

// Простой параболик. Переворотная стратегия.
// В условиях, когда в терминале уже есть открытые позиции по другим инструментам.

input double TakeProfit    =2500;
input double StopLoss      =400;
input double Lots          =1;
input double TrailingStop  =100;

input double Parameter1    =0.02; // Параметры индикатора PSAR
input double Parameter2    =0.2;
   
static int ticket_sell     =0;

void OnTick()
{
 

Bonjour. Quelqu'un peut-il me montrer comment insérer Comment(TimeToStr(TimeLocal(),TIME_SECONDS)) ;

J'ai compris ou l'heure (locale) n'est mise à jour qu'avec un nouveau tick (notre Internet est mauvais), ou l'heure est correcte et le conseiller expert cesse de fonctionner.

 
Irina_:

Bonjour. Quelqu'un peut-il me montrer comment insérer Comment(TimeToStr(TimeLocal(),TIME_SECONDS)) ;

J'ai compris ou l'heure (locale) n'est mise à jour qu'avec un nouveau tick (notre Internet est mauvais), ou l'heure est correcte et le conseiller expert cesse de fonctionner.


Vous devriez écrire l'horloge dans OnTimer() pour ne pas dépendre des ticks.
 

Je n'ai jamais utilisé OnTimer() auparavant, à quoi cela ressemblerait-il ? Je suis un débutant.

Maintenant, je l'ai fait comme ça :


int start()

{Voici le code du hibou

- - - - - - - - - - - - - - - -

à la fin, j'ai mis :

while(!IsStopped())

{

Commentaire(TimeToStr(TimeLocal(),TIME_SECONDS) + ""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

retour(0) ;

}

Il semble s'afficher, mais le commentaire apparaît sur le graphique un peu plus tard, après 15 minutes, alors que l'EA a déjà ouvert quelques ordres. Pourquoi ?

 
Irina_:

Je n'ai jamais utilisé OnTimer() auparavant, à quoi cela ressemblerait-il ? Je suis un débutant.

Maintenant, je l'ai fait comme ça :


int start()

{Voici le code du hibou

- - - - - - - - - - - - - - - -

à la fin, j'ai mis :

while(!IsStopped())

{

Commentaire(TimeToStr(TimeLocal(),TIME_SECONDS) + ""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

retour(0) ;

}

Il semble s'afficher, mais le commentaire apparaît sur le graphique un peu plus tard, après 15 minutes, alors que l'EA a déjà ouvert quelques ordres. Pourquoi ?


int OnInit()
{

EventSetTimer(нужное количество секунд);
   




   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   EventKillTimer();
   



}
//+------------------------------------------------------------------+
void OnTick()
{

   
}
//+------------------------------------------------------------------+
void OnTimer()
{


Comment(TimeToStr(TimeLocal(),TIME_SECONDS));
} //+------------------------------------------------------------------+
 
Merci, je vais essayer.
 
vadynik:

Pour ne pas perdre de valeur, vous avez besoin d'une variable globale. Déplacez sa déclaration en dehors deOnTick() ou rendez-la statique.
Vous n'avez pas besoin de le déplacer en dehors de la portée globale et de le rendre statique. A l'intérieur de la fonction. A côté de position_exists.
 
simpleton:
Il n'est pas nécessaire de le retirer et de le rendre global, il suffit de le rendre statique. A l'intérieur de la fonction. A côté de position_exists.

Alors, qu'est-ce que j'ai écrit ? OU
 
rusa:
Les EAs de Metatrader 4 fonctionnent-ils dans le terminal android ?
Non. Il n'y a pas du tout de disposition pour les AE.
 
Mr.Profit:

Il s'avère que SymbolSelect("AUDUSD", true) renvoie true seulement si AUDUSD n'est pas dans MarketWatch - c'est-à-dire quand la paire est ajoutée à MarketWatch. Une fois que la paire est dans MarketWatch, les appels suivants retournent faux.

Ce comportement ne correspond pas du tout au manuel de cette fonction.

J'ai dû utiliser une fonction auto-écrite qui scanne tous lesSymbolName(i, true) pour i=0...SymbolsTotal(true).

Tout s'adapte.

Le deuxième paramètre de la fonction est un interrupteur.

1. Si vous envoyez true, alors vous devez sélectionner le symbole dans Market Watch.

1.1. s'il n'est pas déjà là, il sera sélectionné et la fonction renverra vrai.

1.2 S'il est déjà présent, la fonction ne fonctionnera pas (rien à sélectionner) et retournera faux.

2. Si vous envoyez false, alors le symbole doit être retiré de la Market Watch.

2.1 S'il est présent, et qu'il n'y a pas de graphiques ouverts et/ou de positions ouvertes pour ce symbole, alors le symbole sera retiré de la surveillance du marché et la fonction retournera vrai.

2.2 S'il est présent, mais qu'il existe des graphiques ouverts avec ce symbole et/ou des positions ouvertes avec ce symbole, la fonction ne fonctionnera pas et retournera faux.

2.3 S'il n'est pas là, la fonction ne fonctionne pas (il n'y a rien à supprimer) et renvoie faux.

C'est comme ça...