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

 
Cavalheiros, podem me dizer onde encontrar artigos úteis sobre como trabalhar com botões no Metatrader 4.
 
BillionerClub:
Cavalheiros, podem me dizer onde encontrar artigos úteis sobre como trabalhar com botões no Metatrader 4.
Aqui.
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Следующий скрипт создает и перемещает на графике объект "Кнопка". Для создания и изменения свойств графического объекта написаны специальные функции, которые вы можете использовать "как есть" в своих собственных программах. //| Создает кнопку                                                   |               chart_ID=0,               ...
 
Alexey Viktorov:
Aqui.

Boa tarde programadores gurus, ajudem a consertar a autofibra.

1. Quero mudar o alongamento de Fibo, não de 0, mas de 100, ou seja, o alongamento tem que começar do último HI para BAIXO e de BAIXO para HI e começar a esticar do nível 100 para a barra atrás do preço, como em autofibo, mas vice-versa. Se o fibo esticou HI ou LOW, o fibo é invertido e colorido, se é difícil de colorir, deixe-o ficar assim.
2. ligar e desligar o canal de preços.
3. A possibilidade de adicionar e modificar níveis no código e em cada nível o preço deve ser indicado, precisamos do nível 23,6 e outros níveis.
No momento de colocar um pedido na grade Fibo, a Fibo pára de esticar; depois que o pedido é processado, a Fibo é removida. Após o processamento do pedido, o fibo é eliminado. Onovo fibo começa a esticar; ele é virado na direção oposta e colorido em outra cor.

Gostaria de lhe pedir para marcar no código o que você mudou.

Arquivo anexo....


Agradecemos antecipadamente.

#property link      "___"

#property  indicator_chart_window

#property indicator_buffers  2

#property  indicator_color1  LightSkyBlue

#property  indicator_color2  Plum

 
extern int       Band_Period   = 10;

extern int       price_type    = 0; // 0 = High/Low | 1 = Open/Close

 
//---- buffers

double WWBuffer1[];

double WWBuffer2[];

double WWBuffer3[];

double ATR;

int init() {

   IndicatorBuffers(2);


   SetIndexStyle(0,DRAW_LINE,1);

   SetIndexStyle(1,DRAW_LINE,1);
   

   SetIndexLabel(0, "High");

   SetIndexLabel(1, "Low");
   

   SetIndexBuffer(0, WWBuffer1);

   SetIndexBuffer(1, WWBuffer2);
   

   IndicatorDigits(Digits+2);

   
   IndicatorShortName("Automatic Fibonacci");

   
   ObjectCreate("AutoFibo", OBJ_FIBO, 0, Time[0],High[0],Time[0],Low[0]);
   

   return(0);

}

int deinit() {

   ObjectDelete("AutoFibo");

}

int start() {

   int    counted_bars=IndicatorCounted();

   int    limit,i;

   

   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;
   

   for(i=limit-1; i>=0; i--) {
 

      WWBuffer1[i] = getPeriodHigh(Band_Period,i);

      WWBuffer2[i] = getPeriodLow(Band_Period,i);
      

      ObjectSet("AutoFibo", OBJPROP_TIME1, Time[Band_Period]);

      ObjectSet("AutoFibo", OBJPROP_TIME2, Time[0]);

      if (Open[Band_Period] < Open[0]) { // Up

         ObjectSet("AutoFibo", OBJPROP_PRICE1, getPeriodHigh(Band_Period,i));

         ObjectSet("AutoFibo", OBJPROP_PRICE2, getPeriodLow(Band_Period,i));

      } else {

         ObjectSet("AutoFibo", OBJPROP_PRICE1, getPeriodLow(Band_Period,i));

         ObjectSet("AutoFibo", OBJPROP_PRICE2, getPeriodHigh(Band_Period,i));

      }


   }

   return(0);

}

 

double getPeriodHigh(int period, int pos) {

   int i;

   double buffer = 0;

   for (i=pos;i<=pos+period;i++) {

      if (price_type == 0) {

         if (High[i] > buffer) {

            buffer = High[i];

         }

      } else {

         if (Open[i] > Close[i]) { // Down

            if (Open[i] > buffer) {

               buffer = Open[i];

            }

         } else {

            if (Close[i] > buffer) {

               buffer = Close[i];

            }

         }

      }

   }

   return (buffer);

}

double getPeriodLow(int period, int pos) {

   int i;

   double buffer = 100000;

   for (i=pos;i<=pos+period;i++) {

      if (price_type == 0) {

         if (Low[i] < buffer) {

            buffer = Low[i];

         }

      } else {

         if (Open[i] > Close[i]) { // Down

            if (Close[i] < buffer) {

               buffer = Close[i];

            }

         } else {

            if (Open[i] < buffer) {

               buffer = Open[i];

            }

         }

      }

   }

   return (buffer);

}

Arquivos anexados:
AutoFibo.mq4  6 kb
 
Olá a todos os membros do fórum.

Pessoal, por favor, ajudem-me quem está apenas começando a aprender
noções básicas de programação em MQL4.MT4

Estou interessado no SendMail.

Como escrever corretamente o código
Quando um EA atinge uma porcentagem especificada do saque do depósito,
O Conselheiro Especialista enviará um e-mail.
Por favor, me ajude, eu realmente preciso disso!

Muito obrigado de antemão.
 
Ruslan:
Olá a todos os membros do fórum.

Pessoal, por favor, ajudem-me quem está apenas começando a aprender
noções básicas de programação em MQL4.MT4

Estou interessado no SendMail.

Como escrever corretamente o código
Quando um EA atinge uma porcentagem especificada do saque do depósito,
O Conselheiro Especialista enviará um e-mail.
Por favor, me ajude, eu realmente preciso disso!

Muito obrigado de antemão.
Assim que o saque do depósito atingir a porcentagem especificada, envie uma mensagem para o e-mail.
 
Ruslan:
Olá a todos os membros do fórum.

Pessoal, por favor, ajudem os iniciantes a aprender
noções básicas de programação em MQL4.MT4

Estou interessado no SendMail.

Como escrever corretamente o código
Quando um EA atinge uma porcentagem especificada do saque do depósito,
O Conselheiro Especialista enviará um e-mail.
Por favor, me ajude, eu realmente preciso disso!

Muito obrigado de antemão.

Sua busca no fórum não está funcionando?

Изменить скрипт
Изменить скрипт
  • 2018.02.20
  • www.mql5.com
Здравствуйте. Поскольку сам mql не знаю, кому не сложно, помогите пожалуйста чуть изменить скрипт...
 
Artyom Trishkin:
Assim que o saque do depósito atingir a porcentagem especificada, você envia uma mensagem para o e-mail.
Artem, você poderia escrever pelo menos algum código de exemplo, como ele deve ser?
 
Ruslan:
Artyom, talvez você possa escrever pelo menos algum código de exemplo, como deve ser?
Eu poderia, mas não o farei. É muito simples. Leia a ajuda - é muito interessante.
 
Artyom Trishkin:
Eu poderia, mas não o farei. É muito simples. Leia a ajuda - é muito interessante.
Quando alguém está apenas começando a aprender MQL, nem tudo é tão fácil para ele, pelo menos para mim.
Mas obrigado por tal resposta.
 
Ruslan:
Quando se está apenas começando a aprender MQL, não é tão fácil para eles, pelo menos para mim.
Mas obrigado por tal resposta.
Todo mundo é um principiante. Eu dei conselhos para mim mesmo.
Razão: