[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 301

 
Alexandr24:
Gracias, voy a rellenar los espacios en blanco :)

Lo siento. No me di cuenta de que los enlaces ya no funcionaban. Todavía tengo una copia de estas conferencias, publicadas en la prehistoria. Aquí está en el sitio de intercambio de archivos: http://depositfiles.com/files/eg4fmn3bp - Descárguelo, descomprímalo, ejecútelo y haga clic en "Inicio" - las conferencias son de abajo hacia arriba.
 
granit77:
1. La forma estándar de obtener los datos del indicador en el Asesor Experto es exactamente iCustom.
2. #include no pertenece en absoluto a esta categoría. Olvídalo por ahora.

¡Muchas gracias! Disculpe el retraso en la respuesta.

Ya lo tengo todo resuelto, sólo me queda averiguar por qué no funciona la señal de la flecha hacia abajo.

 
durol:

Utilizo TFs no estándar en MT-4 - M21 M89 M377
no se actualizan automáticamente

Me he dado cuenta de que si conectas y desconectas la conexión 2 veces, todos los TFs no estándar se actualizarán automáticamente
lo que es más conveniente que hacer clic en la actualización de cada moneda

EASTERNLY gráficos abiertos, el terminal ha estado inactivo durante varias horas - todos los plazos no estándar se actualizan automáticamente

¿qué pulsar, dónde pulsar para que con una última conexión se actualicen todas a la vez?
he intentado abrir: visión general del mercado, inicio de sesión, pulsar en divisas, minimizar - maximizar la ventana

si me conecto - me desconecto - la descarga se interrumpe.

Lo encontré en el foro de MT4

AlexSilver 09.05.2006 16:13
Sí... El script se elimina cuando aparece un nuevo tick. Si quieres usar el copiado será mucho más rápido.

Slawa 04.05.2006 10:29
No habrá cartas no estándar en línea

sólo puestos de 2006

si a veces los gráficos se actualizan solos - debe haber algún tipo de patrón

Por lo que veo, todo el problema es una doble conexión defectuosa

Creo que no es difícil escribir un script o algo similar, para que en el panel, si es necesario, aparezca un icono (o en el menú contextual, que es menos conveniente), que dos veces (a intervalos de 5 segundos - para que no hay conexión, a continuación, 5 segundos) se desconecte - conectar la conexión y por lo tanto actualizar automáticamente todos los TF no estándar

al menos no toques el terminal durante un par de horas - se actualizará solo

Pero esta no es la mejor solución: no siempre funciona y a veces se necesita una actualización cada media hora

gracias a

lo descubrí por mí mismo.

dll no debe ser activado en Herramientas - Configuración, sino en las propiedades de Period Converter Opt - General

Servicio - Configuración ayuda si un gráfico TF no estándar es blanco sin todo

no está claro por qué esta casilla de verificación no está marcada por defecto en este indicador - sin ella el indicador no auto-actualización - esto es un claro menos de los desarrolladores

no se actualiza con cada gar rapata - en algún lugar con uno de los tres
se dibuja auto-actualizado no con cada garrapata - pero lo mismo que manualmente actualizado

 

¡Buenos días a todos!

¿Puedes sugerir un programa práctico para leer y escribir scripts de MT4?

 
Ekburg:

¡Buenos días a todos!

¿Puedes sugerir un programa práctico para leer y escribir scripts de MT4?

MetaEditor
 
Alexandr24:
Gracias, voy a rellenar los espacios en blanco :)
Sobre la transferencia del código del indicador a Expert, artículos básicos.
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463
 
granit77:
Al trasladar el código del indicador al Asesor Experto, artículos básicos.
https://www.mql5.com/ru/articles/1456
https://www.mql5.com/ru/articles/1457
https://www.mql5.com/ru/articles/1463

Pero es mejor no transferir el código del indicador a un experto - será lento
 
Vinin:

Pero es mejor no transferir el código del indicador al espert - habrá frenos
De acuerdo, hubo una vigorosa discusión sobre la velocidad. Vinin e Integer son partidarios de los indicadores separados.
Les creo :))
 
granit77:
Estoy de acuerdo, hubo una vigorosa discusión sobre la velocidad. Vinin e Integer eran para los indicadores individuales.
Les creo :))

Hola. Perdona la insistencia, pero si no te importa, ¿podrías aconsejarme?

Con iCustom obtengo una señal del indicador en el EA, pero el EA sólo abre operaciones en una dirección, dependiendo de la condición de esa parte .

// ----- буферы индикатора

double   ArrowDownBuffer[];
double   ArrowUpBuffer[];

//------ получение сигнала в советнике


double db=iCustom(NULL,0,"GetSignal",0,SignalBar);// Стрелка вниз
double ub=iCustom(NULL,0,"GetSignal",1,SignalBar);// Cтрелка вверх
 
 
 bool BuySignal=false;
 bool SellSignal=false;
 
//-----------------------------------------------------------------------------------+
//Проверка на сигнал
if(db!=1)
 {
  SellSignal=true;
 }
if(ub!=1)
 {
  BuySignal=true;
 }
   

   
 //------------------------------------------------------- check for long position (BUY) possibility
      if( BuySignal ) 
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0,"MA",MN,0,Green);
         


 
skyjet:

Hola. Perdona la insistencia, pero si no te importa, ¿podrías aconsejarme?

Con iCustom obtengo una señal del indicador en el EA, pero el EA sólo abre operaciones en una dirección, dependiendo de la condición de esa parte .

No hay nada más fastidioso que buscar errores en el código de otras personas. Y no soy programador.

Mira cómo se hace el bloque de apertura por el indicador de flecha en el asistente. También hay un límite en el número de pedidos.

         #property copyright "Integer"
         //..............................  
         double bv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,0,1);
         double sv=iCustom(NULL,TimeFrame,IND,PatternLength,PatternID,UsePatternStr,BuyPatternStr,1,1);
         
         bool BuySignal=false;
         bool SellSignal=false;
            if(bv!=0 && bv!=EMPTY_VALUE){
               BuySignal=true;
            }
            if(sv!=0 && sv!=EMPTY_VALUE){
               SellSignal=true;
            }
            
            if(BuySignal || SellSignal){
               if(CloseOnRev)fOrderCloseMarket(SellSignal,BuySignal);
               int BuyCount,SellCount;
               int Total=fMarketOrdersTotal(BuyCount,SellCount);
                  if(Total==-1){
                     return(0);
                  }
                  if(Total<MaxCount || MaxCount==-1){
                     if(BuySignal){
                        if(BuyCount<MaxBuyCount || MaxBuyCount==-1){
                           if(LastBuyTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenBuy();
                           }  
                        }
                     }
                     if(SellSignal){
                        if(SellCount<MaxSellCount || MaxSellCount==-1){
                           if(LastSellTime!=iTime(NULL,TimeFrame,0)){
                              fOrderOpenSell();
                           }
                        }
                     }
                  }
                  
            }
            
Razón de la queja: