Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1534
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Voici comment l'ordre se termine
Faites comme je l'ai écrit ci-dessus...
Ou postez le code OnTick()
Voici comment l'ordre se termine
Cette structure doit être
Cette structure doit être
Si je ne me trompe pas, on peut l'écrire comme suit
Merci pour le conseil, je vais vérifier ce soir et faire un rapport plus tard.
si UseTimeLimit est défini dans les paramètres lors du démarrage de la chouette, alors
cette fonction est mieux dans OnInit() plutôt que dans OnTick()
Si je ne me trompe pas, vous pouvez l'écrire comme ceci
En fait, je l'écris comme ça.
if(TimeHour(time[i])>=Time_Start&&TimeHour(time[i])<TimeFinish)
ou encore plus simple
if(Hour()>=Time_Start&&Hour()<TimeFinish)
Bonjour, pourriez-vous me dire comment faire une moyenne correcte de la ligne de l'indicateur ? La courbe de base avec la période Per_1 est dessinée normalement (Buffer_1[]), jusqu'à ce que j'ajoute un bloc de moyennage simple avec Buffer_2[] avec la période de moyennage Per_2.
int OnCalculate(paramètres par défaut)
{
int i, j, limite ;
if(rates_total <= Per_1)
retour(0) ;
//La dernière barre calculée sera recalculée.
limite = taux_total - prev_calculé - Per_1 ;
si(prev_calculé > 0)
limite++ ;
//calculer et remplir les tampons des indicateurs
for(i=0 ; i < limite ; i++)
{
//Calculer la ligne principale de l'indicateur
Buffer_1[i] = Formule de la courbe
double Sum = 0 ;
for(j = i ; j < Per_2 + i ; j++)
{
//Calculer la ligne de moyenne
Sum += Buffer_1[j] ;
Buffer_2[i] = Somme / Per_2 ;
}
}
retour(taux_total) ;
}
Bonjour !
Insérer le code
Voici, semble-t-il, la réponse à votre questionC'est le problème, il n'ouvre et ne ferme que les ordres starthour->stophour.
Parce que vous ne pouvez pas négocier après l'heure limite
Cela fait longtemps que j'écris sur la logique de l'ouverture avant la fermeture, le chalutage et autres maintenances de position. Dans la plupart des cas, c'est vrai, avant d'ouvrir quelque chose d'autre, vous devez vérifier ce qui est déjà ouvert.
Votre logique est correcte, vous devez juste intervertir les blocs :
Insérer le code
Voici, semble-t-il, la réponse à votre questionCool ! Ça marche, merci !