[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 64

 
¿por qué el indicador ROC no toma realmente un valor inferior a "0", pero sí lo hace gráficamente?
 
vilard:
¿por qué el indicador ROC no toma realmente un valor inferior a "0", pero sí lo hace gráficamente?

¿Qué ROC? ¿Este?
 
Roman.:

¿Qué ROC? ¿Este ?

https://www.mql5.com/ru/code/9340
 

Hola a todos. Chicos tengo una condición para encontrar el máximo: pero dentro de un corredor.

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] &&& Low[max] > Low[max-1] &&
High[max] > low_level_s && High[max] < high_level_s) break;

no funciona.
si elimino el corredor Todo bien:

for (int max=1; max<1000; max++)
if (High[max+1] < High[max] && High[max] > High[max-1] && Low[max+1] < Low[max] && Low[max] > Low[max-1] ) break;

¿Cuál podría ser el problema?

Entiendo que hay que aumentar el max<1000, lo he probado pero no ha funcionado.

He aquí un ejemplo en números:

1. 4100<1.4150<1.4200 pero 1.4150 debe caer

dentro de nivel_bajo_s(1.4145), nivel_alto_s(1.4155) . En este ejemplo lo hizo.

Pero si no es así, supongamos que es 1,4160, seguiremos buscando. El problema es que ese alta puede ser de hace 3 años, por ejemplo, y el programa no la encuentra.

¿Qué hacer? ¿Tal vez sea posible obtener el archivo de cotizaciones?

 
vilard:

https://www.mql5.com/ru/code/9340

Mira mi enlace - es una variante básica con la descripción del indicador de la tasa de precios + EA basado en él (iCustom() indicador sucumbe). Si tienes otras condiciones comerciales para la entrada en el mercado, edita las existentes y sigue adelante, todo prueba bien, ahora yo mismo, acabo de terminar de probarlo como una variante delchanalysis (filtro de entrada en el mercado), además hay una descripción y todo lo demás... Ajústalo según tus condiciones y ya está. El Asesor Experto está aquí.
 
Roman.:

Mira mi enlace - es una variante básica con la descripción del indicador de la tasa de precios + EA basado en él (el indicador iCustom() se presta). Si tienes otras condiciones comerciales para la entrada en el mercado, edita las existentes y adelante, todo está probado bien, ahora yo mismo, acabo de terminar de probarlo como una variante de tehanalysis (filtro de entrada en el mercado), además, hay una descripción y todo lo demás... Edítalo para adaptarlo a tus condiciones y ya está. El Asesor Experto está aquí.

Gracias
 

¡¡¡Uf!!! ¡¡El ordenador se ha estropeado!! Reacciona con retraso, aparecen ventanas erróneas, no borra, se cuelga... Lo he reiniciado 20 veces, lo he desenchufado.

Gracias.

Tal vez sea un virus.

La carpeta de usuarios que hay es de cuarenta y cinco mil megabytes, ¡Dios mío! Y la suma de las carpetas que contiene, la suma de lo que contiene, comprobando pinchando en las propiedades de la carpeta, no da ni la trigésima parte.

¡¡¡No se ha borrado!!! Es sólo la desaceleración, sin insultos.

Nada subido, nada borrado, me costó borrar fotos y luego una película de Ninja, el espacio añadió un borde como insignificante, un milímetro de rojo.

 
He adjuntado un Trailing Stop a este EA. Compila en 0 y 0, pero en el probador
Trailinstop no funciona. Por favor, indíqueme cómo debería haberlo introducido correctamente

Código de parada de emergencia.

extern double  lots    = 1,

               No_Loss              = 7,     //перевод в безубыток
               TrailingStop         = 12;     //тралл  

extern string P_Performanc0= "-- 1 --";

extern int TP1BUY   = 222,  
           SL1BUY   = 99999;   

extern string P_Performanc1= "-- 2 --";  

extern int TP2SELL  = 222,
           SL2SELL  = 99999;
           
extern string P_Performanc2= "-- 3 --";         
           
extern int TP3BUY   = 222,         
           SL3BUY   = 99999;

extern string P_Performanc3= "-- 4 --";   
           
extern int TP4SELL  = 222,
           SL4SELL  = 99999;          

extern string P_Performanc4= "-- 5 --";        
           
extern int TP5BUY   = 222,
           SL5BUY   = 99999;
           
extern string P_Performanc5= "-- 6 --";              
           
extern int TP6SELL  = 222,        
           SL6SELL  = 99999;
           
extern string P_Performanc6= "-- 7 --";              
           
extern int TP7BUY   = 222,
           SL7BUY   = 99999; 
           
extern string P_Performanc7= "-- 8 --";              
           
extern int TP8SELL  = 222,
           SL8SELL  = 99999;                   

           
int        last_bar = 0;

int start()
{
   if (TrailingStop!=0) TrailingStop(0,TrailingStop);
   if (No_Loss!=0)      TrailingStop(1,No_Loss);
   string Name;
   //-----------------------------------------------------------------------   
double StopLevel =MarketInfo(Symbol(),MODE_STOPLEVEL);  // текущий уровень стопов  
   if (last_bar == Bars) return(0);
   last_bar = Bars;
   if (OrdersTotal() == 0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL1BUY*Point,Ask+TP1BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL3BUY*Point,Ask+TP3BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL5BUY*Point,Ask+TP5BUY*Point);
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-SL7BUY*Point,Ask+TP7BUY*Point);

OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL2SELL*Point,Bid-TP2SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL4SELL*Point,Bid-TP4SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL6SELL*Point,Bid-TP6SELL*Point);
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+SL8SELL*Point,Bid-TP8SELL*Point);
   } 
   return(0);
}
void TrailingStop(int NL, int tral)
{
   int tip,Ticket;
   bool error;
   double StLo,OSL,OOP;
   for (int i=0; i<OrdersTotal(); i++) 
   {  if (OrderSelect(i, SELECT_BY_POS)==true)
      {  tip = OrderType();
         if (tip<8 && OrderSymbol()==Symbol())
         {
            OSL   = OrderStopLoss();
            OOP   = OrderOpenPrice();
            Ticket = OrderTicket();
            if (tip==OP_BUY)             
            {
               if (NL==1 && OSL>OOP) continue;
               StLo = NormalizeDouble(Bid - tral*Point,Digits); 
               if (StLo > OSL && StLo > OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            }                                         
            if (tip==OP_SELL)        
            {
               if (NL==1 && (OSL<OOP&&OSL!=0)) continue;
               StLo = NormalizeDouble(Ask + tral*Point,Digits);
               if ((StLo < OSL||OSL==0) && StLo < OOP)
               {  error=OrderModify(Ticket,OOP,StLo,OrderTakeProfit(),0,White);
                  Comment("TrailingStop ",Ticket," ",TimeToStr(TimeCurrent(),TIME_MINUTES));
                  Sleep(500);
                  if (!error) Print(Symbol(),"   Error order ",Ticket," TrailingStop ",GetLastError());
               }
            } 
         }
      }
   }
}
//--------------------------------------------------------------------
 
Por favor, dígame si es posible mostrar diferentes líneas del mismo indicador en diferentes subventanas del gráfico. Gracias.
 
Abra el indicador en dos ventanas y ponga la línea no deseada en el color de fondo.
Razón de la queja: