Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 72

 
//+------------------------------------------------------------------+
//| shetchik_barov.mq4 ||
//| Copyright © 2012, FOX.RM |
//| fox.rm@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, FOX.RM"
#enlace de propiedad "http://www.niochem.net"

extern int BarraLímite = 10;

double col_bar;
datetime ctat_SB=0;
//+------------------------------------------------------------------+
//| Función de inicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int init()
{
//---- indicadores
return(0);
}
//+------------------------------------------------------------------+
//| Función de desinicialización de indicadores personalizada |
//+------------------------------------------------------------------+
int deinit()
{
//----
Dell();
//----
return(0);
}
//+------------------------------------------------------------------+
//| Función de iteración de indicadores personalizada |
//+------------------------------------------------------------------+

int inicio() {
Dell();
nombre_1;
int límite, i=0;
int barras_contadas=IndicadorContado();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars;
limit=Barras_contabilizadas;
if(ctat_SB==0) ctat_SB=Time[0];
if(limit>0) limit=0;
for(i=limit; i>=0; i--)
{
col_bar = iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i]); //-- cuenta el número de barras
if(iBarShift(NULL,0,ctat_SB)-iBarShift(NULL,0,Time[i])>=LimitBar) //-- limitar por el número de barras especificado
{
ctat_SB=Tiempo[i]; //-- poner a cero el contador
}
//---- colgarlo en la carta
name_1 = "shetchik_barov";
SetText1(nombre_1,DoubleToStr(barra_col,0),Azul,14);
}
return(0);
}

//----
void Dell(cadena nombre_n = "shetchik_barov")
{
cadena vName;
for(int i=ObjectsTotal()-1; i>=0;i--)
{
vName = ObjectName(i);
if (StringFind(vNombre,nombre_n) !=-1) ObjectDelete(vNombre);
}
}
void SetText1(string name,string text, color c, int size)
{
ObjectCreate(nombre,OBJ_LABEL,0,0,0;)
ObjectSet(nombre,OBJPROP_XDISTANCE, 1100);
ObjectSet(nombre, OBJPROP_YDISTANCE, 20);
ObjectSetText(nombre,texto,8, "Arial Black",c);

}

aquí hay un homenaje o tributo a los odmins, no sé por qué lo necesita

pero por favor ayúdame a escribir algunas líneas de código

condición cuando se abre una nueva barra para mostrar una alerta nueva barra

No necesito contarlos, ni multiplicarlos, ni dividirlos, ni un código tan complicado

 
sannin:

//--------------------------------------------------------------------
// newbar.mq4  
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------

bool New_Bar=false;                             // Флаг нового бара
//--------------------------------------------------------------------
int start()                                     // Спец. функция start
  {
   
//--------------------------------------------------------------------
   Fun_New_Bar();                               // Обращение к ф-ии
   if (New_Bar)                                 // Новый бар
      {
    //Ваши действия
      }
   return;                                      // Выход из start()
  }
//--------------------------------------------------------------------
void Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }
//--------------------------------------------------------------------
Leemos el libro de texto.
 
r772ra:
Lee el libro de texto.


el mayor agradecimiento al honor de la honra y la gratitud

Sinceramente, he estado buscando todo el día.

 
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());

podríais añadir esta línea para que cierre los pedidos sólo con un determinado mago

 
sannin:
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());

podríais añadir esta línea para que cierre los pedidos sólo con un determinado mago

if (OrderType()==OP_BUYSTOP ) if (OrderMagicNumber()==MagicNumber ) OrderDelete(OrderTicket());
 
PapaYozh:


CIERTAMENTE, YO MISMO PODRÍA HABERLO ADIVINADO...

MUCHAS GRACIAS.

 

Chicos, ayúdenme a cerrar el código, cómo hacerlo por favor

¡¡¡¡¡dime dónde conseguir la información!!!!!

 
laveosa:

Chicos, ayúdenme a cerrar el código, cómo hacerlo por favor

¡¡¡¡¡dime dónde conseguir la información!!!!!


Si has escrito el código, puedes ponerle restricciones tú mismo.
 
Buenas tardes. Cómo puedo calcular un único Stop Loss para una serie de órdenes con números mágicos exactos para que esta serie de órdenes pueda cerrar en el punto de equilibrio. Por ejemplo, hay 3 órdenes: 1 lote de compra 1,3320 con magia 1, 1 lote de compra 1,3345 con magia 2 y 1 lote de compra 1,3360 con magia 3. ¿Cómo puedo calcular el total de Stop Loss para todas las órdenes, de manera que cuando la orden se mueva contra el precio se cierre en el punto de equilibrio?
 

¡Queridos Gurús! He encontrado un problema con el bucle de EA. He añadido la variable"t" al código,

static datetime t;


if (MA_1_t >= 1.00035)
      {
      Opn_B = true; 
      t=Time[0];
      }
if(MA_2_t >= 1.0002)
  {
    if(Time[0]>t)
      {                                      
      Cls_B=true;                 
      }
   }

para salir de una posición después de la barra en la que se abrió la posición. Ahora tengo un problema: quiero salir después de dos barras después de la señal. ¿Puede explicar el problema?

Razón de la queja: