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

 
Igor Makanu:

vous ne pouvez pas exécuter quelque chose de long dans OnInit - le terminal peut décharger le code

dans l'indicateur ne doit pas glisser

Oui, je suis bête... Peut-être, au lieu d'une boucle infinie dans OnInit, revenir de OnCalculate avec la même condition ? - il devrait y avoir un nombre défini lorsqu'il n'y a pas de connexion, soit -1, ou 0, ou EMPTY_VALUE

 

Salutations aux commerçants et aux programmeurs !

Pouvez-vous me dire s'il est possible d'utiliser une méthode non standard pour calculer la période de la MA(Moving Average) ? Je veux dire que la position de la MA sur la barre actuelle (zéro) ne sera pas déterminée par les 20 dernières barres (par exemple), mais par chaque 5m des 100 dernières, ou simplement en spécifiant le nombre de barres dans l'historique, à partir de la barre actuelle. Et, s'il existe une telle possibilité, est-il possible de spécifier la fonction directement dans le code de l'indicateur ?

Merci pour ces informations.

 

Bonjour. Comment afficher le symbole du triangle vers le bas et vers le haut ?

Voici le code

bool OutText(const string name="Label",

const string text="Label", // texte

const int x=0, // Coordonnée X

const int y=0, // coordonnée le long de l'axe Y

const color clr=clrYellow, // couleur

const ENUM_ANCHOR_POINT anchor=ANCHOR_LEFT_UPPER, // méthode d'ancrage

const ENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // coin du graphique pour l'ancre

const int font_size=12, // taille de la police

const string font="Arial", // police de caractères

const double angle=0.0, // pente du texte

const bool back=false, // back

const bool selection=false, //sélectionner pour le déplacement

const bool hidden=true, // caché dans la liste des objets

const long z_order=0,

const int sub_window=0, // nombre de sous-fenêtres

const long chart_ID=0 // ID du graphique

) // priorité au clic

{

//--- réinitialiser la valeur de l'erreur

ResetLastError() ;

//--- créer une marque de texte

si(ObjectFind(chart_ID,name)==-1)

{

if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0))

{

Print(__FUNCTION__, " : échec de la création d'une étiquette de texte ! Code d'erreur = ",GetLastError()) ;

// retour(false) ;

}

}

//--- définir les coordonnées du marqueur

ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x) ;

ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y) ;

//--- Définir l'angle de la carte, par rapport auquel les coordonnées du point seront déterminées.

ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner) ;

//--- définir le texte

ObjectSetString(chart_ID,name,OBJPROP_TEXT,text) ;

//--- définir la police du texte

ObjectSetString(chart_ID,name,OBJPROP_FONT,font) ;

//--- définir la taille de la police

ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size) ;

//--- définir l'angle d'inclinaison du texte

ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle) ;

//--- définir la méthode d'ancrage

ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor) ;

//--- définir la couleur

ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr) ;

//--- affichage en avant-plan (false) ou en arrière-plan (true)

ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back) ;

//--- activer (true) ou désactiver (false) le mode de déplacement de la marque avec la souris.

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection) ;

ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection) ;

//--- cache (true) ou affiche (false) le nom de l'objet graphique dans la liste des objets.

ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden) ;

//--- définir la priorité de l'événement de réception du clic de souris

ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order) ;

//--- exécution réussie

retour (vrai) ;

}

Comment faire pour que le symbole du triangle apparaisse ?

Ce qui devrait être écrit

OutText("LabelBuy1", ">", 100, 20, clrWhite, ANCHOR_UPPER,CORNER_LEFT_UPPER,14, "Arial") ;

Pour faire un triangle ?

1



Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Все объекты, используемые в техническом анализе, имеют привязку на графиках по координатам цены и времени – трендовая линия, каналы, инструменты Фибоначчи и т.д.  Но есть ряд вспомогательных объектов, предназначенных для улучшения интерфейса, которые имеют привязку к видимой всегда части графика (основное окно графика или подокна индикаторов...
 

Plus tôt, j'ai posé la question de savoir comment simuler la fonction Print() du côté de la bibliothèque pour vérifier les données entrant dans les fonctions de la bibliothèque et pour rechercher les erreurs. On m'a conseillé d'utiliser les ressources C++ : c'est-à-dire d'enregistrer les informations dans un fichier du côté de la bibliothèque dll. En général, la bibliothèque ne peut pas créer un fichier pour y écrire les informations, le fichier n'est créé ni dans le répertoire du projet, ni dans le dossier avec le robot, essayé de spécifier le chemin par défaut ne fonctionne pas, la sortie des informations via cout ne fonctionne pas non plus, mais probablement pas parce que ce n'est pas tout à fait une application console. Qui peut vous conseiller ?

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <fstream>//подключаю библиотеку для записи в файл

/*using std::cout;
using std::endl;
using std::cin;*/

using namespace std;

#define _DLLAPI extern "C" __declspec(dllexport)

_DLLAPI int __stdcall Funkt(int qa){//"C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"
        ofstream file;//"C:\\Users\\123\\Documents\\Visual Studio 2012\\Projects\\ConsoleApplication8\\ConsoleApplication8\\Moyperviyzapisfiles.txt"
        //"C:\\Users\\123\\documents\\visual studio 2012\\Projects\\ConsoleApplication8\\Debug\\ConsoleApplication8.dll\\Moyperviyzapisfiles.txt"
        file.open("C:\\Program Files(x86)\\Forex4you\\MQL4\\Experts\\Moyperviyzapisfiles.txt"/*,ios::out*/);//Moy perviy zapis files
        file<<"Moyperviyzapisfiles";//хочу записать эту фразу в файл
        file.close();   
        return 12;}
//если это делать не в библиотеке то работает.
 

Comment remplacer l'image standard dans la description par ...


... Je peux mettre le mien ?


 
Alexandr Sokolov:

Comment remplacer l'image standard dans la description par ...


... Je peux mettre le mien ?


#Icône de propriété
 
Artyom Trishkin:
#Icône de propriété

Comme c'est simple... Merci !

 

Bonjour !

Pourriez-vous me dire comment implémenter la détection d'objets graphiques dessinés manuellement sur un graphique (ligne horizontale ou de tendance, par exemple) et ensuite récupérer leurs propriétés (niveau de prix au bon moment) ?

 
odyn:

Bonjour !

Pourriez-vous me dire comment implémenter la détection d'objets graphiques dessinés manuellement sur un graphique (ligne horizontale ou de tendance, par exemple) et ensuite récupérer leurs propriétés (niveau de prix au bon moment) ?

Si le nombre d'objets sur le graphique a augmenté, alors...
 
odyn:

Bonjour !

Pourriez-vous me dire comment implémenter la détection d'objets graphiques dessinés manuellement sur un graphique (ligne horizontale ou de tendance, par exemple) et ensuite récupérer leurs propriétés (niveau de prix au bon moment) ?

Ils ont un préfixe standardisé, par exemple : numéro Trenler. Vous pouvez rechercher comme suit : dans la boucle if(StringFind(ObjectName(0,i), "Trendline")==0) pour les anciens ou pour les nouveaux if(StringFind(sparam, "Trendline")==0))

Raison: