Questions d'un "mannequin - page 142

 
Yedelkin:
Je ne m'y retrouve pas, où dans la Référence est-il dit qu'en exécution d'échange une demande ne doit pas contenir de TP/SL ?

Je ne me souviens pas de ça dans la référence. Mais pour autant que je sache, c'est vrai. Il est plus correct de dire SL/TP ; d'après ce que j'ai compris, sur le marché boursier, vous devez passer des ordres séparés (ayant un certain type et une certaine spécification).

En principe, vous pouvez regarder les terminaux de stock comme exactement, la boîte grise ou disons dans Quik.

PS

Pour autant que je sache, la loi américaine exige que les arrêts soient marqués d'une certaine manière (et pas autrement).

Je ne peux pas le dire avec certitude, mais ceux qui ont négocié sur le NYSE (ou des bourses similaires) devraient savoir exactement ce qu'il faut faire et comment.

 

Veuillez me dire comment prendre les valeurs de toutes les iBands.

https://www.mql5.com/ru/articles/31

il y a quelque chose d'utile ici, mais l'éditeur ne l'a pas trouvé lors de la compilation

"#include <GetIndicatorBuffers.mqh>"

MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах
MQL5 для "чайников": Получение значений технических индикаторов в своих экспертах
  • 2010.03.05
  • Sergey Pavlov
  • www.mql5.com
Для получения в торговом советнике значений встроенного или пользовательского индикатора, необходимо предварительно создать его хендл с помощью соответствующей функции. На примерах показано, как воспользоваться тем или иным техническим индикатором при разработке своих программ. Речь идёт о индикаторах, которые непосредственно встроены в язык MQL5. Статья предназначена для начинающих разработчиков торговых стратегий и предлагает простые и ясные способы работы с индикаторами с использованием приложенной библиотеки функций.
 
lazarev-d-m:

Veuillez me dire comment prendre les valeurs de toutes les iBands.

https://www.mql5.com/ru/articles/31

il y a quelque chose d'utile ici, mais l'éditeur ne l'a pas trouvé lors de la compilation

"#include <GetIndicatorBuffers.mqh>"

Attaché à l'article ci-dessous.
 

Veuillez indiquer où placer le fichier téléchargé par le conseiller expert. Je l'ai essayé dans MQL5/Files. Le testeur donne l'erreur 5004. L'indicateur trouve immédiatement le même fichier dans MQL5/Files. Qu'est-ce que l'erreur 5004 ?

Veuillez lire la suite :

Un fichier avec l'extension .txt. La demande est comme ceci

   int filehandle=FileOpen(fname,FILE_READ|FILE_ANSI,"\n");
   if(filehandle!=INVALID_HANDLE) Print("FileOpen: ",FileSize(filehandle)," bytes");
   else Print("Operation FileOpen failed, error ",GetLastError());

 

 

L'erreur est

2012.05.09 21:14:14 Core 01 2011.01.01 00:00:00 L'opération FileOpen a échoué, erreur 5004

Le fichier est situé dans le dossier MQL5/Files. Je l'ai vérifié 1000 fois. Et l'outil le charge sans aucun problème.

Construire 642.

 
gpwr:

Veuillez indiquer où placer le fichier téléchargé par le conseiller expert. Je l'ai essayé dans MQL5/Files. Le testeur donne l'erreur 5004.

Chaque testeur a son propre bac à sable, le fichier de données doit être placé exactement dans le bac à sable du testeur, ce n'est pas très pratique, il est donc préférable de placer le fichier de données dans le dossier commun à tous les terminaux, on y accède par le drapeau FILE_COMMON.

Le fichier situé dans le dossier partagé est accessible à la fois depuis le terminal et le testeur.

Vous pouvez ouvrir le dossier partagé à partir de MetaEditor - Fichier - Ouvrir le dossier de données partagé.

 
Yurich:
Chaque testeur a son propre bac à sable, le fichier de données doit être placé exactement dans le bac à sable du testeur, ce n'est pas très pratique, il est donc préférable de placer le fichier de données dans le dossier commun à tous les terminaux, on y accède via le drapeau FILE_COMMON.

Le fichier situé dans le dossier partagé est accessible à la fois depuis le terminal et le testeur.

Vous pouvez ouvrir le dossier partagé à partir de MetaEditor - Fichier - Ouvrir le dossier de données partagé.

Merci, le téléchargement via FILE_COMMON a réussi. Le bac à sable du testeur n'a pas fonctionné. Mais peu importe. Les développeurs auraient dû simplifier ce processus et laisser les conseillers experts prendre les fichiers de données dans le même dossier que celui où sont chargés les indices. Et ce serait bien si nous pouvions spécifier le chemin d'accès au fichier dans son nom.
 
gpwr:
Il n'y a aucune chance que ça passe par le bac à sable du testeur.
Cela fait longtemps que je n'ai pas vérifié la gestion des fichiers dans le bac à sable local du testeur. Mais auparavant, pour avoir accès au fichier depuis le testeur, j'ai dû mettre l'attribut "lecture seule" sur le fichier, car le testeur a vidé son bac à sable avant d'exécuter le conseiller expert.
 

Bonjour !

Pouvez-vous me dire ce qu'il faut faire pour que les graphiques des minutes dessinent une ligne verticale à la bonne heure. Mes tentatives n'aboutissent à rien :

//Les lignes verticales à un moment donné

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots 1
//+----------------------------------------------+
//| Paramètres de rendu de l'image |
//+----------------------------------------------+
//---- dessin de ligne d'indicateur
#propriété indicateur_type1 DRAW_HISTOGRAMME
#property indicator_color1 blue
#property indicator_width1 1
#property indicator_label1 "Time-line" (Ligne de temps)

#define RESET 0 // constante pour renvoyer la commande au terminal pour recalculer l'indicateur
//+----------------------------------------------+
//| Paramètres d'entrée de l'indicateur |
//+----------------------------------------------+
entrée intHour1=10 ; //heure 1
//+----------------------------------------------+
int StartBars ;
bool GoodTime ;
//---- déclaration des tableaux dynamiques, qui seront
//---- être ensuite utilisé comme tampon indicateur
double TimeDataBuffer[] ; //
//+------------------------------------------------------------------+
//| classe pour travailler avec la date|
//+------------------------------------------------------------------+
classe MyDateClass
{
privé :
int m_year ; // année
int m_month ; // mois
int m_day ; // jour du mois
int m_hour ; // heure dans un jour
int m_minute ; // minutes
int m_second ; //secondes
public :
//--- Constructeur par défaut
MyDateClass(void) ;
} ;
//+------------------------------------------------------------------+
//| constructeur par défaut|
//+------------------------------------------------------------------+
MyDateClass::MyDateClass(void)
{
MqlDateTime dt ;
datetime DT=TimeCurrent(dt) ;
TimeToStruct(DT,dt) ;
m_hour=dt.hour ;
m_minute=dt.min ;
m_second=dt.sec ;
si (m_hour==Hour1 && m_minute==0) GoodTime=true ;
DT=StructToTime(dt) ;
Imprimer(DT) ;
}
//+------------------------------------------------------------------+
//| Fonction d'initialisation de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int OnInit()
{
//---- initialisation des variables globales pour les marques indicatrices
StartBars=7 ;
//----
SetIndexBuffer(0,TimeDataBuffer,INDICATOR_DATA) ;
ArraySetAsSeries(TimeDataBuffer,true) ;
//---
retour(0) ;
}
//+------------------------------------------------------------------+
//| Fonction d'itération de l'indicateur personnalisé |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---- vérifier la suffisance des barres pour le calcul
si(rates_total<StartBars) return(RESET) ;

int limite,bar ; //

//---- calcul du nombre requis de données copiées
//---- et la limite du numéro de départ pour le cycle bar_calculé
if(prev_calculated>rates_total || prev_calculated<=0)//vérification du premier démarrage du calcul de l'indicateur
limit=rates_total-StartBars ; // numéro de départ pour le calcul de toutes les barres
else limit=rates_total-prev_calculated ; // numéro de départ pour le calcul des nouvelles barres
//---

//---- cycle de calcul de l'indicateur principal
for(bar=0 ; bar<limite ; bar++)
{
TimeDataBuffer[bar]=0.0 ;

si (GoodTime==true) TimeDataBuffer[bar]=2.0 ;
}
//--- retour de la valeur de prev_calculée pour l'appel suivant
//---
retour(taux_total) ;
}

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Ici...
Dossiers :
V_line.mq5  3 kb
 
papaklass:

Voici le code pour la ligne verticale:

SPS !