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

 
PapaYozh:


¿Por qué eres tan pequeño?

¿Entran las garrapatas?

En caso afirmativo, ¿intenta el EA abrir una orden?

En caso afirmativo, ¿cuál es el número de ticket devuelto por OrderSend()?

Si es "-1", ¿qué código de error devuelve GetLastError()?

1. Ya viene;

2. Vienen, como siempre, y de forma persistente;

3., 4. - Ahora comprobando el registro.

Me acordé, y en el probador no hace pedidos durante este período.

Gracias.

 

Buenos días queridos amigos. Solía programar en C++ (instituto hace unos 10 años).

Necesito ayuda con esta pregunta:

El algoritmo abre 2 órdenes pendientes por condición. Un BUYSTOP siempre se abre primero, un SELLSTOP después.

Este es un nuevo TIC:

¿Cómo se puede saber si ya hay órdenes de trabajo (COMPRA ? VENTA ? BUYSTOP? SELLSTOP? ) ?

¿Cómo puedo saber con un nuevo tick si una orden TakeProfit activada está cerrada + en este caso cerrar la orden contraria (si todavía hay una)?

 

Hola, podrías darme el código de un indicador para dibujar una línea como esta, o mejor aún un rayo basado en estos dos puntos.

 
silhouette: (с. 259)

Un consejo, por favor:

Quiero hacer una MA multitemporal, que cambie su color cuando la tendencia cambie. He hecho la visualización del precio medio de otros plazos, pero no sé cómo resolver el problema del cambio de color.


Entonces, ¿alguien puede sugerir una idea o incluso una forma directa de proceder?
 
Buenas tardes! El indicador no dibuja en absoluto. No consigo averiguar cuál es el error, todo parece correctamente escrito. No sé qué pensar. Y más o menos el mismo código, sin la función y sin un gran añadido al final, ¡¡¡sorteos!!! Por favor, díganme si hay algo que no sé, que no entiendo, o simplemente que no veo el error que podría haber entendido.
//+------------------------------------------------------------------+
//|                                            ИндюкДимонакомпил.mq4 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"
#import "user32.dll"
   int   PostMessageA(int  hWnd,int  Msg,int  wParam,string lParam);
#import
#define WM_COMMAND                     0x0111
int delimiter = 0;

#property indicator_chart_window
double ВерхняячертаBuffer1[];
double НижняячертаBuffer2[];
double СинняячертаBuffer3[];
 double вершина; 
 double основание_первого_снижения;
 double начало;
 double вершина_волны_3;
 extern int T=4,K=200;
 int timeframe, start ;
 int бар_вершина ;
 int бар_основание_первого_снижения;
 int бар_начало;
int pereklutsatel;
double naklon,linija2; int P;extern int RO=1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   int limit=Bars-counted_bars-1;

   for (int i=limit;i>=0;i--) {
//----
 for ( int J=0;J<=RO;J++){
//----

  // for(int i=Bars; i>=0;i--)
   i=Bars;
      бар_вершина=iHighest( NULL,  timeframe, MODE_HIGH, K, start ) ;
       вершина =High[ бар_вершина ];
       бар_основание_первого_снижения=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble ( бар_вершина/2,0), start ) ;
       основание_первого_снижения=Low[ бар_основание_первого_снижения ];
       бар_начало=iLowest( NULL,  timeframe, MODE_LOW,NormalizeDouble (бар_вершина*1.5,0), бар_вершина ) ;
       начало=Low[ бар_начало ];
       
         
  if(начало>основание_первого_снижения){naklon=(начало-основание_первого_снижения)/(бар_начало-бар_основание_первого_снижения);
 
    НижняячертаBuffer2[бар_начало]=начало;linija2=начало;for(i=бар_начало-1;i>=0;i--){linija2=linija2-naklon;
   
    НижняячертаBuffer2[i]=linija2;
     
   }
    НижняячертаBuffer2[бар_основание_первого_снижения]=основание_первого_снижения;}
    
    
         for (i=0;i<100;i++){  СинняячертаBuffer3[i]= Open[i];}
          for (i=330;i<500;i++){  СинняячертаBuffer3[i]= Open[i];}

     ВерхняячертаBuffer1[бар_начало]=начало;
     
 double точка4; int бар_точка4;   бар_точка4=iHighest( NULL,  timeframe, MODE_HIGH, бар_основание_первого_снижения, 3 ) ; 
  точка4 =High[ бар_точка4 ];  
   
   if(вершина>точка4){naklon=(начало-точка4)/(бар_начало-бар_точка4);  
   double linija1=начало;for(i=бар_начало-1;i>=0;i--){linija1=linija1-naklon;ВерхняячертаBuffer1[i]=linija1; }}
   
double vulf=НижняячертаBuffer2[0];
  if ( vulf==Ask&&vulf==Bid)vulf=1;
  else{ for (vulf=vulf+Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf-Point){
           if ( vulf==Ask&&vulf==Bid){vulf=1;}} 
      for (vulf=vulf-Point*10; vulf==НижняячертаBuffer2[0];vulf=vulf+Point){
           if ( vulf==Ask&&vulf==Bid)vulf=1;} 
              
           
           
           }
           
           
   if (vulf==1){Comment ("  Есть вульв!!! "  , "  timeframe " , timeframe);return(0);  }
    if (vulf!=1&&pereklutsatel==1) {    
   
     if(delimiter<3){delimiter++;Comment(delimiter);return(0);}
   delimiter=0;
    fChangePeriod();P++;
                                 
                   }  } }
//----
   return(0);
  }
//+------------------------------------------------------------------+

void fChangePeriod(){int ii,hwd = WindowHandle(Symbol(),Period());
   switch(Period()){
      case PERIOD_W1    : ii = 33134; break; //PERIOD_D1;
      case PERIOD_D1    : ii = 33136; break; //PERIOD_H4;
      case PERIOD_H4    : ii = 33135; break; //PERIOD_H1;
      case PERIOD_H1    : ii = 33140; break; //PERIOD_M30;
      case PERIOD_M30   : ii = 33139; break; //PERIOD_M15;
      case PERIOD_M15   : ii = 33138; break; //PERIOD_M5;
      case PERIOD_M5    : ii = 33137; break; //PERIOD_M1;
      case PERIOD_M1    : ii = 33141; break; //PERIOD_W1;
   }     
   PostMessageA(hwd, WM_COMMAND, ii, 0);
   return;
}
 
Dimka-novitsek:
Buenas tardes! El indicador no dibuja en absoluto. No consigo averiguar cuál es el error, todo parece correctamente escrito. No sé qué pensar. Y más o menos el mismo código, sin la función y sin un gran añadido al final, ¡¡¡sorteos!!! Por favor, díganme si hay algo que no sé, que no entiendo, o simplemente que no veo el error que podría haber entendido.

Por supuesto que no, no tiene topes indicadores.
 
¿Cómo no?
 
Dimka-novitsek:
¿Cómo no iba a hacerlo?


¿Dónde están?

Nombra uno.

 
Ahora, creo que tengo algo... ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Gracias!!!!!!!!!!!!!!!!!!!!
 
¡¡¡Está dibujando!!! ¡¡¡Sí!!! ¡¡¡Gracias!!! De alguna manera había olvidado por completo muchos de los detalles de la construcción del indicador. Sin su ayuda, me habría pasado otra semana buscando errores en los propios cálculos.
Razón de la queja: