Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 722

 
SemenTalonov:

Valeur renvoyée si aucune barre n'a été trouvée à l'heure spécifiée. Siexact=false iBarShift renvoie l'indice de la barre la plus proche dont le temps d'ouverture est inférieur à celui spécifié (time_open<time). Si une telle barre n'est pas trouvée (pas d'historique avant le temps spécifié), la fonction renvoie -1.

Mais nous avons une histoire, c'est un fait. Tout se passe au plus récent (0ème barre de la série chronologique).

La série chronologique est-elle prête lorsque vous y accédez ?
 
Artyom Trishkin:
La série chronologique est-elle prête lorsque vous l'adressez ?

Ne peut-elle pas être prête ?

 
SemenTalonov:

Pourrait-elle être mal préparée ?

Oui
 
Les commentaires non pertinents pour ce sujet ont été déplacés vers "Caractéristiques du langage mql5, subtilités et techniques".
 
Synchronisation des données du terminal et des données du serveur

Si OnTick() ou OnCalculate() ne parvient pas à obtenir toutes les données requises, quittez le gestionnaire d'événements, en espérant avoir accès aux données lors du prochain appel du gestionnaire.


Cela ressemble à ceci

 
Savez-vous s'il existe un script ou un indicateur sur le site Web qui indique le seuil de rentabilité pour deux indicateurs ? Par exemple, j'ai une grille d'ordres, le prix est à 1,2255 et j'ai beaucoup d'ordres ouverts, mais j'ai besoin de trouver le niveau d'équilibre de deux ordres de vente, niveau d'équilibre pour deux ordres de vente, pour 1,3400, qui est gagnant et pour 1,2150, qui est négatif. Ici, je dois trouver le seuil de rentabilité entre eux. Existe-t-il un script qui devrait m'aider à indiquer 2 ou 3 ordres en attente et le niveau 0 sera affiché sur le graphique avec prise en compte des lots, Martingale, s'il y en a une ?
 
J'écris comme ça :
void OnTick()
{
   double raznica=Close[30000];
   Alert(raznica);
}


Il y a une erreur dans le testeur :



Pourquoi ?

 
multiplicator:
J'écris comme ça :

Il y a une erreur dans le testeur :

Pourquoi ?

Parce qu'il n'y a pas de barre avec l'indice 30000 sur le graphique et dans le terminal.

 
Vladimir Pastushak:

Parce qu'il n'y a pas de barre de 30000 sur le graphique et dans le terminal.

Alors comment puis-je le tester ?

l'EA, lorsqu'elle démarre, doit traiter 30 000 minutes précédentes.


Je suis en train de tester un EA pour 2018.

Au lancement, il devrait parcourir tous les procès-verbaux du mois précédent (il s'agit en fait du dernier mois de 2017),
et les utiliser pour calculer le coefficient de dispersion.

Il y a jusqu'à 30 000 minutes.


Pouvez-vous prendre les prochaines ? L'EA peut-il "regarder vers l'avenir" ?
J'ai besoin de calculer la variance, donc je ne me soucie pas de savoir s'il s'agit des suivantes ou des précédentes.
 
multiplicator:
L'EA peut-il "voir dans le futur" ?

ne peut pas.

utiliser iBars() pour voir l'historique disponible

SZZ : Si je ne me trompe pas, dans le testeur, lorsque vous démarrez le conseiller expert est disponible 1000 barres, puis avec la génération de nouvelles données le nombre de barres va augmenter. Le testeur modélise l'historique de toutes les TF auxquelles il s'adresse, c'est-à-dire que si vous avez lancé le test sur H1 et que pendant le test vous avez accédé aux données de la TF M1, alors quand vous démarrez, il sera disponible pour 1000 barres sur H1, et donc 60 * 1000 = 60,000 barres M1

vous devez lire des articles comme celui-cisur https://www.mql5.com/ru/articles/1511

Strategy Tester: режимы моделирования при тестировании торговых стратегий
Strategy Tester: режимы моделирования при тестировании торговых стратегий
  • www.mql5.com
Многие программы технического анализа позволяют проводить тестирование торговых стратегий на исторических данных. В большинстве случае тестирование идет по уже сформированным данным, без попыток моделирования движения внутри ценового бара. Получается быстро, но недостаточно точно. Для качественного тестирования торговой стратегии важно выбрать...