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

 
Vitalie Postolache:
¿No es esto lo que escribí arriba?

Bien, escribimos los ajustes necesarios en el archivo, lo cerramos, ¿y qué?

En teoría, ahora debería reabrir el Asesor Experto con los parámetros requeridos, y ¿cómo puede hacer esto un archivo de texto (no veo ninguna otra función en la lista, aunque en este caso, se necesita un exe)?

 
trader781:

Bien, escribimos los ajustes necesarios en el archivo, lo cerramos, ¿y qué?

En teoría, ahora debería reabrir el EA con los parámetros requeridos, y cómo puede hacer esto un archivo de texto (no veo otro archivo en la lista de funciones, aunque en este caso, se necesita un exe)

Cuando se ejecuta el EA en el inite, se carga el archivo y se leen las configuraciones del mismo y listo, aquí hay un pequeño ejemplo.

void LoadParametres()
  {
   Print("*******************************************");
   Print("Start downloading data Magic = ",Magic," ",_Symbol);
   Print("*******************************************");
   int handle=FileOpen("Overturn_"+(string)Magic+"_"+_Symbol+".csv",FILE_CSV|FILE_READ);
   if(handle>0)
     {

      tiket=(int)FileReadNumber(handle);
      flag_series=FileReadBool(handle);
      TP = FileReadNumber(handle);
      SL = FileReadNumber(handle);
      series=(int)FileReadNumber(handle);
      Lots=FileReadNumber(handle);

      FileClose(handle);
      Print("*******************************************");
      Print("Loading data completed Magic = ",Magic," ",_Symbol);
      Print("*******************************************");
     }
  }


Ver

 

¡Buenos días a todos!

Tengo el botón "Auto-Trade" en mi terminal - coloqué un Asesor Experto en mi ventana - mis "alertas" comenzaron (en la pestaña "Expertos") - presioné el botón "Auto-Trade (activado) - creado "alertas" (bien) - pulsado el botón "AutoTrade" (cambiar el comercio a OFF) - todavía recibo "alertas".

La pregunta: ¿es este el caso de todos?

Si es así, ¿es posible configurar/escribir para que las "alertas" sólo vayan después de pulsar este botón?

¡Tal vez la pregunta sin la torre, pero todavía estaría agradecido por una respuesta!

 
Roni Iron:

¡Buenos días a todos!

Tengo el botón "Auto-Trade" en mi terminal - coloqué un Asesor Experto en mi ventana - generó "alertas" (en la pestaña "Expertos") - presioné el botón "Auto-Trade" (lo habilité) - presioné el botón "Auto-Control" (lo habilité) - funciona bien. (activado) - creado "alertas" (bien) - pulsado el botón "AutoTrade" (cambiar el comercio a OFF) - todavía recibo "alertas".

La pregunta: ¿es este el caso de todos?

Si es así, ¿es posible configurar/escribir para que las "alertas" sólo vayan después de pulsar este botón?

Puede que sea una pregunta obvia, pero aún así le agradecería una respuesta.

El botón "Auto-Trading" permite y desactiva las operaciones de comercio,

Si lo desactiva, los Asesores Expertos y los scripts funcionarán

 
Roni Iron:

¡Buenos días a todos!

Tengo el botón "Auto-Trade" en mi terminal - coloqué un Asesor Experto en mi ventana - mis "alertas" comenzaron (en la pestaña "Expertos") - presioné el botón "Auto-Trade (activado) - creado "alertas" (bien) - pulsado el botón "AutoTrade" (cambiar el comercio a OFF) - todavía recibo "alertas".

La pregunta: ¿es este el caso de todos?

Si es así, ¿es posible configurar/escribir para que las "alertas" sólo vayan después de pulsar este botón?

¡Tal vez la pregunta es sin la torre, pero todavía estaría agradecido por una respuesta!

VerTerminalInfoInteger(TERMINAL_TRADE_ALLOWED).
 
Roni Iron:

¡Buenos días a todos!

Tengo el botón "Auto-Trade" en mi terminal - coloqué un Asesor Experto en mi ventana - mis "alertas" comenzaron (en la pestaña "Expertos") - presioné el botón "Auto-Trade (activado) - creado "alertas" (bien) - pulsado el botón "AutoTrade" (cambiar el comercio a OFF) - todavía recibo "alertas".

La pregunta: ¿es este el caso de todos?

Si es así, ¿es posible configurar/escribir para que las "alertas" sólo vayan después de pulsar este botón?

¡Tal vez la pregunta es sin la torre, pero todavía estaría agradecido por una respuesta!

Es posible si usted tiene un Asesor Experto (o script) a su disposición en términos de tomar y fijar el código fuente. Hay que poner una condición en todas las alertas para comprobar si se pulsa el botón. Si no se pulsa el botón, no se llama a las descripciones.
 

Hombres, aposté EURUSD por ejemplo 0.10, Take Profit después de 100 pips, cerré con 10.00 de ganancia, ahora USDJPY tiene 7.80 de ganancia después de 100 pips.

He intentado calcular el valor de un pip MarketInfo(Symbol(), MODE_POINT); me sale 0,001, ¿dónde estoy siendo obtuso?

Intenté calcular mi lote mínimo a 100 pips para obtener 10,00 en lugar de 7,8.
 
Evgeniy Oshurkevich:

Hice una apuesta en EURUSD por ejemplo 0.10, Take Profit después de 100 pips, cerrado con 10.00 de ganancia, ahora USDJPY tiene 7.80 de ganancia después de 100 pips.

Intenté calcular el valor de un pip MarketInfo(Symbol(), MODE_POINT); obtengo 0.001, ¿en qué me equivoco?

Intenté calcular mi lote mínimo a 100 puntos para obtener 10,00, no 7,8.
MODE_TICKVALUE - precio en la moneda del depósito de un pip (que es a través de MODE_POINT) por 1 lote
 
Maxim Kuznetsov:
MODE_TICKVALUE - precio en la moneda del depósito de un pip (que es a través de MODE_POINT) por 1 lote
Ok, gracias )
 

Necesito escribir los datos en un archivo hst, de modo que pueda utilizar los datos para construir un gráfico autónomo.

Llevo dos días luchando pero nada funciona.

Código:

#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
ulong    last_fpos=0;         //
int      HandleHistory=-1;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   string symbol=Symbol();
   int per=Period()*9;

   ResetLastError();
   if(CreateHeader()==true)//если создали заголовок
     {
      HandleHistory=FileOpenHistory(symbol+(string)per+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
      if(HandleHistory!=INVALID_HANDLE)
        {

         for(int i=199;i>0;i--)//заполняем данными
           {
            MqlRates r;
            r.time=Time[i];//просто пытаюсь записать, это так для примера
            r.open=Open[i];//просто пытаюсь записать, это так для примера
            r.low=Low[i];
            r.high=High[i];
            r.close=Close[i];
            r.tick_volume=(long)10;
            r.spread=0;
            r.real_volume=(long)10;
            uint byteswritten=FileWriteStruct(HandleHistory,r);
            Print("FileOpen OK ",byteswritten," ",Time[i]);
           }
       FileClose(HandleHistory);
       // FileFlush(HandleHistory);
        }
      else Print("Операция FileOpen неудачна, ошибка ",GetLastError());
     }
// long id=ChartOpen(symbol,per);
//Alert(id);
  }
//+------------------------------------------------------------------+
bool CreateHeader()//создаем файл с историей hst(заголовок)
  {

   int      file_version=401;
   string   c_copyright;
   string   c_symbol=Symbol();
   int i_period=Period()*9;
   int      i_digits=Digits;
   int      i_unused[13];
//---  
   ResetLastError();
   HandleHistory=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
   if(HandleHistory<0)
     {
      Print("Error open ",c_symbol+(string)i_period,".hst file ",GetLastError());
      return(false);
     }
   c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
   ArrayInitialize(i_unused,0);
//--- write history file header
   FileWriteInteger(HandleHistory,file_version,LONG_VALUE);
   FileWriteString(HandleHistory,c_copyright,64);
   FileWriteString(HandleHistory,c_symbol,12);
   FileWriteInteger(HandleHistory,i_period,LONG_VALUE);
   FileWriteInteger(HandleHistory,i_digits,LONG_VALUE);
   FileWriteInteger(HandleHistory,0,LONG_VALUE);
   FileWriteInteger(HandleHistory,0,LONG_VALUE);
   FileWriteArray(HandleHistory,i_unused,0,13);
   return(true);
  }

Como resultado de la ejecución se crea un archivo con el historial, pero no se crea el gráfico autónomo.

Aquí está la información sobre el gráfico

Poralguna razón, los datos son de 2003.

Como resultado, obtengo un error al lanzar el gráfico HistoryBase: 196 errores en 'NZDCHF45'.

Entiendo que he escrito algo mal. No sé cómo escribirlo correctamente, tengo muy poca información. Quién sabe... por favor, aconséjeme.