[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 777
RekkeR: J'ai plusieurs lignes horizontales, j'ai besoin de définir des quotas entre elles dans différentes combinaisons. Je suis à la recherche d'un script ou d'un indicateur qui ferait l'affaire. Merci pour vos commentaires.
Je ne programme pas professionnellement, donc je serais heureux d'aider, mais...
Il y a plusieurs lignes horizontales, je dois déterminer les quotas entre elles dans différentes combinaisons, en principe, à ce stade je suis assez satisfait de la détermination entre les deux lignes, le reste je le ferai manuellement. Peut-être existe-t-il un script prêt à l'emploi ou un tel indicateur ? Merci pour vos commentaires.
Je vous donnerai le code prêt, si vous en avez besoin. Il n'y a rien de compliqué.
//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
/*
Скрипт
========== Lines_RASST ========
Является дополнением к скрипту Lines_Create. (Скрипт Lines_Create создаёт на графике 2 горизонтальные линии с именами UP_LEVEL и DOWN_LEVEL)
Скрипт Lines_RASST выводит на экран сообщение о том, сколько пунктов расстояние между двумя горизонтальными линиями
у которых миена UP_LEVEL и DOWN_LEVEL.
В силу того, что скрипт Lines_RASST имеет задержку в коде, надо не просто кинуть его на график, или не просто сделать
по скрипту двойной клик, надо ещё сразу сделать дополнительный одинарный клик левой кнопкой мыши по окну графика.
Только в этом случае надпись, говорящая о расстоянии появится и через 5 секунд исчезнет сама.
Если скрипт Lines_RASST вызван, а дополнительный клик по окну не сделан, то по прошествии 5 секунд скрипт выгрузится из оперативной
памяти, и Вы ни чего на экране не увидите, ни какой надписи (почему так сделан терминал я не знаю).
*/bool fm;
// --------------- Значения цены на горизонтальных линиях ---------------------------------double UpLevelPrice=ObjectGet("UP_LEVEL",OBJPROP_PRICE1);
double DownLevelPrice=ObjectGet("DOWN_LEVEL",OBJPROP_PRICE1);
// ---------------------------------------------------------------------------------------- //--------- калькулятор расстояний между этими линиями ---------------int Rasst=(UpLevelPrice-DownLevelPrice)/Point;
fm=ObjectCreate("DIAPAZON",OBJ_LABEL,0,0,0);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSetText("DIAPAZON","Канал = "+Rasst+" pt.",24,"Verdana",Blue);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_CORNER,0);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_XDISTANCE,350);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_YDISTANCE,315);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
// ------------------------------------------------------------------Sleep(5000);
//-------- удаляем надпись с экрана -----------------------------
fm=ObjectDelete("DIAPAZON");
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
}
C'est incorrect car la chaîne de caractères double MyKoren(double MyValue=36){ initialise la variable MyValue avec la valeur = 36. Cela n'a aucun sens car nous passons la valeur = à la variable DlyaKornya dans la sous-routine .
C'est l'option par défaut... Si la fonction est appelée comme suit : double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
Il s'agit de l'option par défaut... Si la fonction est appelée comme ceci : double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
Vous avez la réponse ?
Je vais le répéter :
... L'initialisation d'une variable dans cette fonction avec la valeur = 36 ne fonctionnera probablement que si la fonction est appelée sans spécifier de paramètres.
... Quoi qu'il en soit, il vaut mieux ne pas utiliser des constructions comme double MyKoren(double MyValue=36){ mais écrire double MyKoren(double MyValue){ de telle sorte que vous vous demanderez pourquoi le sous-programme ne fonctionne pas comme il le devrait.
Comprenez que si vous utilisez une construction comme double MyKoren(double MyValue=36){ suivie d'un appel comme votre double rex=(MyKoren()+1)... C'est un jeu d'enfant de perdre le contrôle. Surtout pour un débutant.
... Le fait d'y initialiser une variable avec valeur = 36 ne fonctionnera probablement que si la fonction est appelée sans paramètres.
... Quoi qu'il en soit, vous feriez mieux de ne pas utiliser des constructions du type double MyKoren(double MyValue=36){ et de les écrire comme il se doit - double MyKoren(double MyValue){, sinon vous vous demanderez pourquoi le sous-programme ne fonctionne pas comme il le devrait.
Comprenez que si vous utilisez une construction comme double MyKoren(double MyValue=36){ suivie d'un appel comme votre double rex=(MyKoren()+1)... C'est un jeu d'enfant de perdre le contrôle. Surtout pour un débutant.
)))
Mais tu te souviendras du numéro de la page.
Ou la clé sera générée.
;)
Il s'agit d'un autre fil de discussion - je me suis perdu. et je vous prie de me pardonner.
Qu'est-ce qui vous fait penser que j'ai volé quelque chose ? Cet indicateur est disponible gratuitement sur Internet au format mql. Qu'est-ce que cela a à voir avec le fait de ne pas afficher les indices décompilés ? Personnellement, je n'ai rien décompilé. Je l'ai trouvé, je l'ai aimé et j'ai demandé une alerte. Quel est le problème ?
Bonjour... Pouvez-vous me dire comment activer un EA comme celui qu'Ilan_19 a posté ici... travailler sur Alpari cinq chiffres... Je l'ai installé et ça ne marche pas...
Bonjour... Pouvez-vous me dire comment activer un EA comme celui qu'Ilan_19 a posté ici... travailler sur Alpari cinq chiffres... Je l'ai installé et ça ne fonctionne pas...
Ne pas travailler est un terme élastique... Qu'est-ce qui ne fonctionne pas exactement, qu'est-ce qui se passe, etc., etc.
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
J'ai plusieurs lignes horizontales, j'ai besoin de définir des quotas entre elles dans différentes combinaisons. Je suis à la recherche d'un script ou d'un indicateur qui ferait l'affaire. Merci pour vos commentaires.
Je ne programme pas professionnellement, donc je serais heureux d'aider, mais...
Il y a plusieurs lignes horizontales, je dois déterminer les quotas entre elles dans différentes combinaisons, en principe, à ce stade je suis assez satisfait de la détermination entre les deux lignes, le reste je le ferai manuellement. Peut-être existe-t-il un script prêt à l'emploi ou un tel indicateur ? Merci pour vos commentaires.
Je vous donnerai le code prêt, si vous en avez besoin. Il n'y a rien de compliqué.
C'est incorrect car la chaîne de caractères double MyKoren(double MyValue=36){ initialise la variable MyValue avec la valeur = 36. Cela n'a aucun sens car nous passons la valeur = à la variable DlyaKornya dans la sous-routine .
C'est l'option par défaut... Si la fonction est appelée comme suit : double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
La réponse est-elle claire ?
Il s'agit de l'option par défaut... Si la fonction est appelée comme ceci : double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;
Vous avez la réponse ?
Je vais le répéter :
... L'initialisation d'une variable dans cette fonction avec la valeur = 36 ne fonctionnera probablement que si la fonction est appelée sans spécifier de paramètres.
... Quoi qu'il en soit, il vaut mieux ne pas utiliser des constructions comme double MyKoren(double MyValue=36){ mais écrire double MyKoren(double MyValue){ de telle sorte que vous vous demanderez pourquoi le sous-programme ne fonctionne pas comme il le devrait.
Comprenez que si vous utilisez une construction comme double MyKoren(double MyValue=36){ suivie d'un appel comme votre double rex=(MyKoren()+1)... C'est un jeu d'enfant de perdre le contrôle. Surtout pour un débutant.
Je vais le répéter :
... Le fait d'y initialiser une variable avec valeur = 36 ne fonctionnera probablement que si la fonction est appelée sans paramètres.
... Quoi qu'il en soit, vous feriez mieux de ne pas utiliser des constructions du type double MyKoren(double MyValue=36){ et de les écrire comme il se doit - double MyKoren(double MyValue){, sinon vous vous demanderez pourquoi le sous-programme ne fonctionne pas comme il le devrait.
Comprenez que si vous utilisez une construction comme double MyKoren(double MyValue=36){ suivie d'un appel comme votre double rex=(MyKoren()+1)... C'est un jeu d'enfant de perdre le contrôle. Surtout pour un débutant.
)))
Mais tu te souviendras du numéro de la page.
Ou la clé sera générée.
;)
Il s'agit d'un autre fil de discussion - je me suis perdu. et je vous prie de me pardonner.
Le courrier tourne en rond. (c) AS Pushkin
Tu ne devrais pas poster des objets volés.
Bonjour... Pouvez-vous me dire comment activer un EA comme celui qu'Ilan_19 a posté ici... travailler sur Alpari cinq chiffres... Je l'ai installé et ça ne marche pas...
Bonjour... Pouvez-vous me dire comment activer un EA comme celui qu'Ilan_19 a posté ici... travailler sur Alpari cinq chiffres... Je l'ai installé et ça ne fonctionne pas...
Ne pas travailler est un terme élastique... Qu'est-ce qui ne fonctionne pas exactement, qu'est-ce qui se passe, etc. etc.
Pilligrim:
ne fait pas de commerce...