[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...

 
RekkeR

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){// тут можно вывести сообщение об ошибке}
}
 
drknn:

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 ?

 
Sorento:

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.

 
drknn:


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

 
drknn:
Tu ne devrais pas poster des objets volés.
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...

 
Pilligrim:

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.
 
artmedia70:
Ne pas travailler est un terme élastique... Qu'est-ce qui ne fonctionne pas exactement, qu'est-ce qui se passe, etc. etc.
ne fait pas de commerce...
 

Pilligrim:

ne fait pas de commerce...

Il n'a pas non plus besoin d'échanger.