[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 777

 
RekkeR:
Tengo varias líneas horizontales, necesito definir cuotas entre ellas en diferentes combinaciones. Estoy buscando un script o indicador que haga el trabajo. Gracias por sus comentarios.

No programo profesionalmente, así que estaría encantado de ayudar, pero...

 
RekkeR

Hay varias líneas horizontales, necesito determinar las cuotas entre ellas en diferentes combinaciones, en principio, en esta etapa estoy bastante satisfecho con la determinación entre las dos líneas, el resto lo haré manualmente. ¿Quizás haya un script preparado o un indicador de este tipo? Gracias por sus comentarios.

Te daré el código listo, si lo necesitas. No hay nada complicado en ello.

//+------------------------------------------------------------------+
//| 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:

Es incorrecto porque la cadena double MyKoren(double MyValue=36){ inicializa la variable MyValue con valor = 36. No tiene sentido porque pasamos valor = a la variable DlyaKornya en la subrutina .


Este es el valor por defecto... Si la función se llama así: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

¿está clara la respuesta?

 
Sorento:

Este es el valor por defecto... Si la función se llama así: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

¿se entiende la respuesta?


Lo repetiré:

... Inicializar una variable en ella con valor = 36 probablemente funcionará sólo cuando la función se llame sin especificar parámetros.

... De todos modos, es mejor que no uses construcciones como double MyKoren(double MyValue=36){ sino que escribas double MyKoren(double MyValue){ como debería ser, de lo contrario te preguntarás por qué la subrutina no funciona como debería.

Entienda que si utiliza una construcción como double MyKoren(double MyValue=36){ seguida de una llamada como su double rex=(MyKoren()+1)... Es muy fácil perder el control. Especialmente para un principiante.

 
drknn:


Lo diré de nuevo:

... Inicializar una variable en ella con valor = 36 probablemente sólo funcionará si la función se llama sin parámetros.

... De todos modos, más vale que no utilices construcciones del tipo double MyKoren(double MyValue=36){ y que las escribas como debe ser - double MyKoren(double MyValue){, o te preguntarás por qué la subrutina no funciona como debería.

Entienda que si utiliza una construcción como double MyKoren(double MyValue=36){ seguida de una llamada como su double rex=(MyKoren()+1)... Es muy fácil perder el control. Especialmente para un principiante.

)))

Pero recordarás el número de página.

O se generará la clave.

;)

Este es otro hilo - me perdí. y por favor perdóname.

El correo está dando vueltas. (c) AS Pushkin

 
drknn:
No deberías publicar artículos robados.
¿Qué te hace pensar que he robado algo? Este indicador está disponible gratuitamente en Internet en formato mql. ¿Qué tiene que ver con no publicar índices descompilados? Personalmente no he descompilado nada. Lo encontré, me gustó y pedí una alerta. ¿Cuál es el problema?
 

Buenas tardes... ¿Puedes decirme cómo habilitar un EA como Ilan_19 publicado aquí... trabajar en Alpari cinco dígitos... lo instalé y no funciona...

 
Pilligrim:

Buenas tardes... ¿Puedes decirme cómo habilitar un EA como Ilan_19 publicado aquí... trabajar en Alpari cinco dígitos... lo instalé y no funciona...

No trabajar es un término elástico... Qué es exactamente lo que no funciona, qué ocurre, etc., etc.
 
artmedia70:
No trabajar es un término elástico... Qué es exactamente lo que no funciona, qué pasa, etc. etc.
no está negociando...
 

Pilligrim:

no comercia...

Tampoco necesita comerciar.