Dites-moi comment rechercher des questions sur le bon sujet dans ce fil pour débutants. Le fil de discussion s'est transformé en une énorme couche de questions et de réponses et il n'est donc plus possible d'effectuer une recherche manuelle. Si vous avez déjà hésité à poser une question, il se peut que la réponse ait déjà été donnée ici il y a longtemps, mais la recherche se fait sur l'ensemble du site et non dans cette section particulière "pour débutants" ?
Alexander: Dites-moi comment rechercher des questions sur le bon sujet dans ce fil pour débutants. Le fil de discussion s'est transformé en une énorme couche de questions et de réponses et la recherche manuelle n'est plus possible. Poser une question, c'est déjà hésiter, peut-être y a-t-il déjà été répondu ici depuis longtemps, et la recherche se fait sur l'ensemble du site et non dans cette section particulière "pour débutants" ?
Question sur le langage µl4 - Pourquoi la fonction"create object" ne fonctionne-t-elle pas pendant l'optimisation, lorsqu'on utilise un objet pour stocker les données de plusieurs variables, cela s'avère 20 fois plus rapide que lorsqu'on utilise la fonction openfail->failride->failclose, qui ralentit beaucoup l'optimisation et les tests ?
Je n'arrive pas à trouver comment traiter les barres pendant deux heures, disons de 15 heures à 17 heures, heure du serveur, pour les 250 dernières sessions de négociation.
Pourriez-vous me donner une suggestion conceptuelle ?
Je n'arrive pas à trouver comment traiter les barres pendant deux heures, disons de 15 heures à 17 heures, heure du serveur, pour les 250 dernières sessions de négociation.
Pourriez-vous me donner une suggestion conceptuelle ?
mql5
Utiliser les fonctions avec la requête de temps
intCopyOpen(
string symbol_name, // имя символа ENUM_TIMEFRAMES timeframe, // период datetime start_time, // с какой даты datetime stop_time, // по какую дату double open_array[] // массив для копирования цен открытия
);
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rates) ;
si(copié>0)
{
Print("Barres copiées : "+copied) ;
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" ;
la ficelle ;
int size=fmin(copié,10) ;
for(int i=0;i<size;i++)
{
out=i+" : "+TimeToString(rates[i].time) ;
out=out+"+StringFormat(format,
taux[i].ouvert,
taux[i].haut,
taux[i].bas,
taux[i].fermer,
taux[i].tick_volume) ;
Imprimer(out) ;
}
}
else Print("Failed to get historical data on symbol ",Symbol()) ;
}
Comment puis-je supprimer les samedis et dimanches ?
Pour être plus précis, comment faire une opération similaire pour les 250 derniers jours de bourse, par exemple ?
Essayez de travailler avec cette structure
structMqlDateTime
{
int year; // год int mon; // месяц int day; // день int hour; // час int min; // минуты int sec; // секунды int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота) int day_of_year; // порядковый номер в году (1 января имеет номер 0)
};
Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading
Bugs, bugs, questions
comp, 2016.03.23 09:49
Comment connaître la période du graphique par ChartID ?ChartGetInteger ne permet pas de faire cela en une seule action.
Jusqu'à présent, j'ai trouvé une solution de fortune en sauvegardant un modèle et en analysant la période qu'il contient.
Comment le découvrir normalement ?
UtiliserChartPeriod
Période du graphique
Retourne la valeur de lapériode du graphique spécifié.
ENUM_TIMEFRAMESChartPeriod(
longchart_id=0// ID du graphique
) ;
Paramètres
chart_id=0
[Chart ID. 0 signifie le graphique actuel.
Valeur retournée
Valeur du typeENUM_TIMEFRAMES. S'il n'y a pas de graphique, 0 est renvoyé.
UtiliserChartPeriod
Bonjour !
Comment déterminer l'état du panneau de négociation en un clic (déplié ou replié) ?
Dites-moi comment rechercher des questions sur le bon sujet dans ce fil pour débutants. Le fil de discussion s'est transformé en une énorme couche de questions et de réponses et la recherche manuelle n'est plus possible. Poser une question, c'est déjà hésiter, peut-être y a-t-il déjà été répondu ici depuis longtemps, et la recherche se fait sur l'ensemble du site et non dans cette section particulière "pour débutants" ?
Tapez dans une recherche google : recherche site:https://www.mql5.com/ru/forum/6343
"Recherchable" est ce que vous recherchez.
Bonjour !
Je n'arrive pas à trouver comment traiter les barres pendant deux heures, disons de 15 heures à 17 heures, heure du serveur, pour les 250 dernières sessions de négociation.
Pourriez-vous me donner une suggestion conceptuelle ?
mql5
Bonjour !
Je n'arrive pas à trouver comment traiter les barres pendant deux heures, disons de 15 heures à 17 heures, heure du serveur, pour les 250 dernières sessions de négociation.
Pourriez-vous me donner une suggestion conceptuelle ?
mql5
Utiliser les fonctions avec la requête de temps
Sergey,
Merci pour la réponse !
Pour ma tâche, il est plus pratique de
void OnStart()
{
datetime start =StringToTime("2016.03.25 15:00") ;
datetime stop =StringToTime("2016.03.25 15:55") ;
MqlRates rates[] ;
ArraySetAsSeries(rates,true) ;
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rates) ;
si(copié>0)
{
Print("Barres copiées : "+copied) ;
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" ;
la ficelle ;
int size=fmin(copié,10) ;
for(int i=0;i<size;i++)
{
out=i+" : "+TimeToString(rates[i].time) ;
out=out+"+StringFormat(format,
taux[i].ouvert,
taux[i].haut,
taux[i].bas,
taux[i].fermer,
taux[i].tick_volume) ;
Imprimer(out) ;
}
}
else Print("Failed to get historical data on symbol ",Symbol()) ;
}
Comment puis-je supprimer les samedis et dimanches ?
Plus précisément, faites une opération similaire pour les 250 derniers jours de bourse, par exemple ?
Sergey,
Merci pour la réponse !
Pour ma tâche, il est plus pratique de
void OnStart()
{
datetime start =StringToTime("2016.03.25 15:00") ;
datetime stop =StringToTime("2016.03.25 15:55") ;
MqlRates rates[] ;
ArraySetAsSeries(rates,true) ;
int copied=CopyRates(_Symbol,PERIOD_M5,start,stop,rates) ;
si(copié>0)
{
Print("Barres copiées : "+copied) ;
string format="open = %G, high = %G, low = %G, close = %G, volume = %d" ;
la ficelle ;
int size=fmin(copié,10) ;
for(int i=0;i<size;i++)
{
out=i+" : "+TimeToString(rates[i].time) ;
out=out+"+StringFormat(format,
taux[i].ouvert,
taux[i].haut,
taux[i].bas,
taux[i].fermer,
taux[i].tick_volume) ;
Imprimer(out) ;
}
}
else Print("Failed to get historical data on symbol ",Symbol()) ;
}
Comment puis-je supprimer les samedis et dimanches ?
Pour être plus précis, comment faire une opération similaire pour les 250 derniers jours de bourse, par exemple ?
Essayez de travailler avec cette structure