Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1201

 
Константин:
@Artyom Trishkin

Você pode me dar algumas dicas de negócios?

Posso lhe dar muitas informações diferentes sobre perus.

Para começar, é um pássaro faisão. É a carne dietética. Eu o alimento ao meu gato. Ele diz que é delicioso...

 
Константин:

Você pode me dar uma pista sobre o assunto?

E, ao ponto, por que você gostaria de executar o roteiro a partir de um indicador?

 
Mihail Matkovskij:

Quanto ao ponto, quem lhe disse para ser tão estúpido a ponto de executar scripts a partir de um indicador? :)

E o mais importante, por quê?

Quero fazer um botão em um gráfico para que eu possa executar um script pressionando um botão com um parâmetro tirado de um indicador

 
Константин:

Quero fazer um botão no gráfico para que eu possa executar o script pressionando o botão, com o parâmetro retirado do indicador

Você escreve o código do botão no código indicador e integra o código do script como uma função no código indicador. Pressione o botão - chame a função, na qual você passa o parâmetro indicador.

 
Константин:

Quero fazer um botão no gráfico, para poder executar o script pressionando o botão, com o parâmetro retirado do indicador

Se o problema está em criar o próprio botão, aqui está ele:

//+------------------------------------------------------------------+
//|                                                  ClickButton.mq5 |
//|                                      Copyright 2020, © Cyberdev. |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, © Cyberdev."
#property version   "1.00"
#property indicator_chart_window

#property indicator_plots 0

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
#include <ChartObjects\ChartObjectsTxtControls.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
CChartObjectButton button;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit() {
  button.Create(0, "pushBtn", 0, 30, 30, 80, 21);
  button.SetString(OBJPROP_TEXT, "Push my");
  button.SetInteger(OBJPROP_BGCOLOR, clrDodgerBlue);
  button.Color(clrWhite);
  return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[]) {
//---
//--- return value of prev_calculated for next call
  return(rates_total);
}
//+------------------------------------------------------------------+
//| ChartEvent function                                              |
//+------------------------------------------------------------------+
void OnChartEvent(const int id,
                  const long &lparam,
                  const double &dparam,
                  const string &sparam
) {
  if(id == CHARTEVENT_OBJECT_CLICK) {
    if(sparam == button.Name()) {
      Alert("Button \""+sparam+"\" clicked!"); // Вместо этого функция с кодом...
      button.State(0);
      ChartRedraw(0);
    }
  }
}
//+------------------------------------------------------------------+
 
Mihail Matkovskij:

Se o problema está em criar o próprio botão, aqui está ele:

Obrigado, eu acho que já descobri o botão, mas ainda não descobri como anexar o roteiro. O script está em C:Usuários....MQL4 Scripts Ordenar.ex4

 
Outra pergunta. Eu uso um pequeno tablet no Windows sem mouse, os botões no gráfico é uma solução conveniente para mim. É possível ter o comando de teclado Ctrl+F5 executado ao pressionar o botão no gráfico, seria mais conveniente para mim ver o seguinte perfil.
 
Константин:

Obrigado, acho que já descobri o botão, mas ainda não descobri como anexar o roteiro. O script está localizado em C:Usuários....MQL4 Scripts Ordenar.ex4

Atribua um atalho para o roteiro e simule-o usando o WinAPI. Mas eu não fiz nada parecido em programasMQL. Portanto, tente pesquisar no Google"SendInput User32.dll WinAPI".

 

Boa tarde!

Estou me debatendo com uma pergunta. Você poderia me dizer como resolvê-la?

A idéia é a seguinte: eu traço uma linha no máximo anterior da vela. Quero que a linha seja deslocada de acordo com o máximo anterior.

void OnTick()
  {
//---
   double   o1 = iOpen(Symbol(),Period(),1);
   double   h1 = iHigh(Symbol(),Period(),1);
   double   l1 = iLow(Symbol(),Period(),1);
   double   c1 = iClose(Symbol(),Period(),1);
   double   c0 = iClose(Symbol(),Period(),0);
   double   rt = 0;
   double   rs1 = 0;


rt=MathAbs(c1-o1)/_Point; //размер тела свечи
rs1=MathAbs(h1-c1)/_Point;// размер верхней тени свечи


if (rs1>=rt) // условие для построения уровней (если верхняя тень предыдущей свечи, больше, или равна телу этой же всечи, то...   
{
double PRH=iHigh(Symbol(),_Period,1); // то это будет максимум
ObjectCreate(0,"HL",OBJ_HLINE,0,_Period,PRH); // и строим по этому максимуму, горизонтальную линию
Comment("ЦЕНА МАКС =======",PRH,"\n"); // комментарий пред. максимума
}
}
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Стили рисования
  • www.mql5.com
При создании пользовательского индикатора можно указать один из 18 типов графического построения (способа отображения на главном окне графика или в подокне графика), значения которых указаны в перечислении ENUM_DRAW_TYPE. В зависимости от стиля рисования, может потребоваться от одного до четырех буферов значений (отмеченных как INDICATOR_DATA...
 
Alexey Belyakov:

Boa tarde!

Estou me debatendo com uma pergunta. Por favor, me diga como resolvê-la.

A idéia é a seguinte: eu traço uma linha no máximo anterior da vela. Quero que a linha seja deslocada de acordo com o máximo anterior.

Há 2 opções
1. Você tem que apagar o objeto antes de desenhá-lo.
2. Definir o preço após a criação de um objeto