[¡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 470

 
hoz:

La documentación dice que la función SetIndexEmptyValue se utiliza para especificar un valor "vacío". Es decir, especificamos en qué valor no necesitamos dibujar nada en absoluto. Es muy conveniente en nuestro caso ya que las señales no se producen en cada barra. Funciona de la siguiente manera. Cuando no se necesita dibujar la flecha en la barra actual, se asigna un valor "vacío" a la entrada correspondiente del buffer de datos, en nuestro caso 0.

Hay algo que no entiendo. Si algo se dibuja con la señal, no se dibujará sin la señal. Entonces, ¿cuál es el objetivo de esta función en general?


Es habitual que el ordenador indique explícitamente que no hay ningún valor. Entonces no parece ser cero en absoluto. Imagina que dibujas un buffer - aquí tiene el valor 1.2903, 1.2905, 1.2904... Y de repente es 0. ¡¡¡En estas nieblas las líneas indicadoras tendrán que sumergirse de repente por debajo de la ventana!!!
 
hoz:

La documentación dice que la función SetIndexEmptyValue se utiliza para especificar un valor "vacío". Es decir, especificamos en qué valor no necesitamos dibujar nada en absoluto. Es muy conveniente en nuestro caso ya que las señales no se producen en cada barra. Funciona de la siguiente manera. Cuando no se necesita dibujar la flecha en la barra actual, se asigna un valor "vacío" a la entrada correspondiente del buffer de datos, en nuestro caso 0.

Hay algo que no entiendo. Si algo se dibuja con la señal, no se dibujará sin la señal. Entonces, ¿cuál es el objetivo de esta función en general?

Esta función rellena el array (en este caso, el buffer de indicadores) con un valor vacío EMPTY_VALUE = 0x7FFFFFF.
 
drknn:


En realidad, hay un tipo especial de variable en el lenguaje - el color se llama. Por ejemplo:

doble Velichina;

MyLine;

Velichina=2,569;

MyLine=Rojo;


Lo tenía así.
  OrderSend( NULL, OP_BUY, lot, Ask, 3, NormalizeDouble( Bid- (stoplos*Point),Digits),   NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, 00 FF33);  }
           
¿Qué se supone que debe hacer, escribir el color ahí?
 
Dimka-novitsek:

Lo tenía así ¿Qué debe escribir ahí, un color especial, o qué?

No, puedes escribir simplemente Rojo en lugar de 00FF33, o cualquier color de la tabla de colores de la web - abre este enlace - hay suficientes colores para no usar el código hexadecimal.
 
Robot
//+------------------------------------------------------------------+
//|                                                     советник.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"


  extern double  lot=1;                          
  extern int taymfreym=0 ;                           
  extern double  stoplos=20 ;                          
  extern double  takeprofit=50 ; 
  extern double  magicnumber=350//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
            double strela1 = iCustom(NULL, taymfreym, "индикатор", 0, 1);
            double strela2 = iCustom(NULL, taymfreym, "индикатор", 1, 1);
            int BUY=0,SELL=0;int ticket; 
            Print (  " strela1 " , strela1 , "   strela2  " , strela2  );
            
    
            
            for(int i=1; i<=OrdersTotal(); i++) {  
            if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
        {                                       // Анализ ордеров:
         if (OrderSymbol()!=Symbol( ) )continue;      // Не наш фин. инструм
         if (OrderMagicNumber( ) !=magicnumber)continue;
         if (OrderType()==0){ BUY++; ticket=OrderTicket( );}
         if (OrderType()==1) {SELL++;ticket=OrderTicket( );}    } }
         
   if (strela1>strela2&&BUY==0&&SELL==0){               
            
           OrderSend( NULL, OP_BUY, lot, Ask, 3, NormalizeDouble( Bid- (stoplos*Point),Digits), 
  NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE);  }
           
           
   if (strela1<strela2&&BUY==0&&SELL==0){  
   
            OrderSend( NULL, OP_SELL, lot, Bid, 3, NormalizeDouble( Ask- (stoplos*Point),Digits), 
  NormalizeDouble( Bid+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE) ; }
            
            
  if (strela1>strela2&&BUY==0&&SELL!=0){ 
   OrderSelect(ticket, SELECT_BY_TICKET);
   OrderClose(  ticket , OrderLots( ) , OrderOpenPrice( ) , 3, CLR_NONE);                 
   OrderSend( NULL, OP_BUY, lot, Ask, 3, NormalizeDouble( Bid- (stoplos*Point),Digits),  
 NormalizeDouble( Ask+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE);  }         
      
  if (strela1<strela2&&SELL==0&&BUY!=0){ 
   OrderSelect(ticket, SELECT_BY_TICKET);
   OrderClose(  ticket , OrderLots( ) , OrderOpenPrice( ) , 3, CLR_NONE);                 
   OrderSend( NULL, OP_SELL, lot, Bid, 3, NormalizeDouble( Ask- (stoplos*Point),Digits),  
 NormalizeDouble( Bid+( takeprofit*Point),Digits), NULL, magicnumber, 0, CLR_NONE) ; }
      
            
            
//----
   return(0);
  }
//+------------------------------------------------------------------+
Es un lugar
 double strela1 = iCustom(NULL, taymfreym, "индикатор", 0, 1);
 double strela2 = iCustom(NULL, taymfreym, "индикатор", 1, 1);

El strela2 no funciona, su valor es -1. Tarea si la flecha es hacia arriba, orden de compra y viceversa. ¡¡¡O quizás no lo estoy escribiendo bien del todo!!!

Estoyutilizando esteiCustom por primera vez. ¿Escorrecto comparar strela1 y strela2 deesta manera? ¿Qué tipo de valores obtengo - es decir, entiendo que es

el primer y segundo búfer, pero no más que eso.

¿Con qué dibuja las flechas?

 

Indicador

/*ДЕКОМПИЛ УДАЛЕН, ВАМ ПРЕДУПРЕЖДЕНИЕ*/

De todos modos, ¿con qué dibuja las flechas?

 

¿Qué significa la palabra "tralit"?

La cita dice así en su totalidad:

<Asesor utiliza las señales del indicador"Alligator" para las entradas, mueve la posición al Breakeven y arrastra con un paso establecido.

 
¡No lo entiendo! Un tipo me envió un indicador por correo. ¿De dónde lo ha descompuesto? Sí, he visto indicadores bastante similares más de una vez. Por favor, devuélvelos a su sitio.
 
Sí, vi una línea en ella.
 
Dimka-novitsek:
¡No lo entiendo! Un tipo me envió un indicador por correo. ¿De dónde lo ha descompuesto? Sí, he visto indicadores bastante similares más de una vez. Por favor, devuélvalos a su sitio.

Descompilar es el resultado de un robo de código de programa. Te han enviado un artículo robado. No lo recuperarás. Las flechas en tu captura de pantalla son dibujadas por el indicador, no por el Asesor Experto, cuyo código mostraste.
Razón de la queja: