Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 752

 
Señores, me pueden decir dónde encontrar artículos útiles para trabajar con botones en Metatrader 4.
 
BillionerClub:
Señores, me pueden decir dónde encontrar artículos útiles para trabajar con botones en Metatrader 4.
Aquí.
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
OBJ_BUTTON - Типы объектов - Константы объектов - Константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Следующий скрипт создает и перемещает на графике объект "Кнопка". Для создания и изменения свойств графического объекта написаны специальные функции, которые вы можете использовать "как есть" в своих собственных программах. //| Создает кнопку                                                   |               chart_ID=0,               ...
 
Alexey Viktorov:
Aquí.

Buenas tardes gurús de la programación, ayuden a arreglar el autofib.

1. Quiero cambiar el estiramiento del Fibo, no desde 0, sino desde 100, es decir, el estiramiento tiene que empezar desde el último HI hasta el LOW y desde el LOW hasta el HI y empezar a estirar desde el nivel 100 hasta la barra detrás del precio, como en el autofibo, pero al revés. Si el fibo se ha estirado hacia arriba o hacia abajo, el fibo se invierte y se colorea, si es difícil de colorear, que se quede así.
2. Activar y desactivar el canal de precios.
3. La posibilidad de añadir y modificar niveles en el código y en cada nivel se debe indicar el precio, necesitamos el nivel 23,6 y otros niveles.
4. En el momento de colocar una orden en la parrilla de Fibo, ésta deja de estirarse; después de procesar la orden, Fibo se retira. Una vez procesada la orden, el fibo se borra. Elnuevo fibo comienza a estirarse; se gira en la dirección opuesta y se colorea de otro color.

Me gustaría pedirle que marque en el código lo que ha cambiado.

Archivo adjunto....


Gracias de antemano.

#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);

}

Archivos adjuntos:
AutoFibo.mq4  6 kb
 
Hola a todos los miembros del foro.

Chicos, por favor, ayúdenme que estoy empezando a aprender
fundamentos de programación en MQL4.MT4

Estoy interesado en SendMail.

Cómo escribir correctamente el código
Cuando un EA alcanza un porcentaje determinado de la detracción del depósito,
El Asesor Experto enviará un correo electrónico.
Por favor, ayúdenme, lo necesito de verdad.

Muchas gracias de antemano.
 
Ruslan:
Hola a todos los miembros del foro.

Chicos, por favor, ayúdenme que estoy empezando a aprender
fundamentos de programación en MQL4.MT4

Estoy interesado en SendMail.

Cómo escribir correctamente el código
Cuando un EA alcanza un porcentaje determinado de la detracción del depósito,
El Asesor Experto enviará un correo electrónico.
Por favor, ayúdenme, lo necesito de verdad.

Muchas gracias de antemano.
En cuanto la detracción del depósito alcance el porcentaje especificado, envíe un mensaje al correo electrónico.
 
Ruslan:
Hola a todos los miembros del foro.

Chicos, por favor, ayuden a los principiantes a aprender
fundamentos de programación en MQL4.MT4

Estoy interesado en SendMail.

Cómo escribir correctamente el código
Cuando un EA alcanza un porcentaje determinado de la detracción del depósito,
El Asesor Experto enviará un correo electrónico.
Por favor, ayúdenme, lo necesito de verdad.

Muchas gracias de antemano.

¿No funciona la búsqueda en el foro?

Изменить скрипт
Изменить скрипт
  • 2018.02.20
  • www.mql5.com
Здравствуйте. Поскольку сам mql не знаю, кому не сложно, помогите пожалуйста чуть изменить скрипт...
 
Artyom Trishkin:
En cuanto la reducción del depósito alcanza el porcentaje especificado, se envía un mensaje al correo electrónico.
Artem, ¿podrías escribir al menos un código de ejemplo, cómo debería ser?
 
Ruslan:
Artyom, ¿podrías escribir al menos un código de ejemplo de cómo debería ser?
Podría, pero no lo haré. Es muy sencillo. Lee la ayuda - es muy interesante.
 
Artyom Trishkin:
Podría, pero no lo haré. Es muy sencillo. Lee la ayuda - es muy interesante.
Cuando uno está empezando a aprender MQL, no todo es tan fácil para él, al menos para mí.
Pero gracias por esta respuesta.
 
Ruslan:
Cuando uno está empezando a aprender MQL no es tan fácil para ellos, al menos para mí.
Pero gracias por esta respuesta.
Todo el mundo es un principiante. He dado consejos para mí mismo.
Razón de la queja: