[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 777

 
RekkeR:
Há várias linhas horizontais, preciso definir as cotas entre elas em diferentes combinações. Estou procurando um roteiro ou indicador que faça o trabalho. Obrigado por seu feedback.

Eu não programo profissionalmente, então eu ficaria feliz em ajudar, mas...

 
RekkeR

Existem várias linhas horizontais, preciso determinar as cotas entre elas em diferentes combinações, em princípio, nesta fase estou bastante satisfeito com a determinação entre as duas linhas, o resto farei manualmente. Talvez exista um roteiro pronto ou tal indicador? Obrigado por seu feedback.

Eu lhe darei o código pronto, se você precisar dele. Não há nada de complicado nisso.

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

É incorreto porque a cadeia de caracteres MyKoren(duplo MyValue=36){ inicializa a variável MyValue com valor = 36. Não faz sentido porque passamos valor = à variável DlyaKornya para a sub-rotina .


Este é o padrão... Se a função for chamada assim: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

a resposta é clara?

 
Sorento:

Este é o padrão... Se a função for chamada assim: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

você tem a resposta?


Vou repeti-lo:

... A inicialização de uma variável com valor = 36 provavelmente só funcionará quando a função for chamada sem especificar parâmetros.

... De qualquer forma, é melhor não usar construções como MyKoren(duplo MyValue=36){ mas escreva MyKoren(duplo MyValue){ como deveria ser, caso contrário você se perguntará por que a sub-rotina não funciona como deveria.

Por favor, entenda que se você usar uma construção como o duplo MyKoren(duplo MyValue=36){ seguido por uma chamada como seu duplo rex=(MyKoren()+1)... É canja perder o controle. Especialmente para um iniciante.

 
drknn:


Vou dizer novamente:

... Inicializar uma variável nela com valor = 36 provavelmente só funcionará se a função for chamada sem parâmetros.

... De qualquer forma, é melhor não usar construções de MyKoren(duplo MyValue=36){ digite e escreva-as como deveriam - duplo MyKoren(duplo MyValue){, ou então você vai se perguntar por que a sub-rotina não funciona como deveria.

Por favor, entenda que se você usar uma construção como o duplo MyKoren(duplo MyValue=36){ seguido de uma chamada como seu duplo rex=(MyKoren()+1)... É canja perder o controle. Especialmente para um iniciante.

)))

Mas você vai se lembrar do número da página.

Ou a chave será gerada.

;)

Este é outro fio - eu me perdi. e por favor me perdoe.

O correio está circulando. (c) AS Pushkin

 
drknn:
Você não deveria estar lançando mercadorias roubadas.
O que o faz pensar que eu roubei alguma coisa? Este indicador está disponível gratuitamente na Internet no formato mql. O que isso tem a ver com o não lançamento de índices descompilados? Eu pessoalmente não descompilei nada. Eu o encontrei, gostei e pedi um alerta. Qual é o problema?
 

Boa tarde ... Você pode me dizer como habilitar um EA como Ilan_19 postado aqui... trabalho em Alpari cinco dígitos... instalou-o e não está funcionando...

 
Pilligrim:

Boa tarde ... Você pode me dizer como habilitar um EA como Ilan_19 postado aqui... trabalho em Alpari cinco dígitos... instalou-o e não está funcionando...

Não funcionar é um termo elástico... O que exatamente não está funcionando, o que está acontecendo, etc., etc.
 
artmedia70:
Não funcionar é um termo elástico... O que exatamente não está funcionando, o que está acontecendo, etc., etc.
não é comercial...
 

Pilligrim:

não negocia...

Ele também não precisa negociar.
Razão: