Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 962

 
Artyom Trishkin:

El compilador no maldice, pero advierte que estás tratando de poner double en int.


Una gran imagen sobre el tema - es divertido, gracias.

 
Alexey Viktorov:

Pruebe también DRAW_COLOR_CANDLES

Gracias, lo probaré.
 
Alexey Viktorov:

Pruebe también DRAW_COLOR_CANDLES

DRAW_COLOR_CANDLES no cambia el ancho, aunque está presente en la documentación del ejemplo (#property indicator_width1 1). Por lo tanto, la superposición de una vela sobre otra no funcionará.

 
Nauris Zukas:

DRAW_COLOR_CANDLES no cambia el ancho, aunque está presente en la documentación del ejemplo (#property indicator_width1 1). Por lo tanto, la superposición de una vela sobre otra no funcionará.

Puede calcular la anchura de las barras en píxeles y utilizar este valor para determinar el grosor de los histogramas. En definitiva, si quieres...

 
Alexey Viktorov:

Puede calcular la anchura de las barras en píxeles y utilizar este valor para determinar el grosor de los histogramas. En definitiva, si quieres...

"...el ancho de las barras en píxeles..." No entiendo muy bien cómo hacerlo.

 
Nauris Zukas:

"...calcular el ancho de la barra en píxeles..." No entiendo muy bien cómo hacerlo.

De todos modos, si quieres, tienes que comprobar lo que consigues. No lo he probado, a falta de una razón...

Escala

Modo de especificar la escala en píxeles por barra


Anchura del gráfico en píxeles /Anchura del gráfico en barras Esto puede no funcionar cuando se establece la sangría desde el borde derecho del gráfico.

 
Alexey Viktorov:

De todos modos, si quieres, tienes que comprobar lo que consigues. No lo he probado, a falta de una razón...

Escala

Modo de escala en pips por barra


Anchura del gráfico enpíxeles /Anchura del gráfico en barras Esto puede no funcionar cuando se configura para sangrar el borde derecho del gráfico.

Gracias.

 
Ayúdenme, gente de buena voluntad...
Me he encontrado con un lío así en el probador.
Al intentar poner un filtro para entrar en el mercado por nivel de spread. El probador lo ignora (se extiende).
Pero sólo lo ignora a partir de los últimos 6 meses. 5 (últimos) meses de pruebas normales, filtros.
He leído en algún sitio que las cuentas de los probadores se extienden a su manera y hacen imposible su filtrado,
Pero lo que confunde es que desde hace 5 meses todavía lo tiene en cuenta y lo maneja de forma amigable...
Se adjunta captura de pantalla.
La cuestión es la siguiente.
¿Es una característica del probador o tiene alguna configuración que desconozco?
¿O tal vez esta condición debe establecerse como un software?

Escribí el filtro para probarlo de esta manera...

void OnTick()
  { 
  double ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK); 
  double bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
  double spread=ask-bid; 
  
  if (PositionsTotal()>=1) 
  return;
  {
  int spread_points=(int)MathRound(spread/SymbolInfoDouble(Symbol(),SYMBOL_POINT)); 
  if (spread_points<=5)
  {
  trade.Buy(0.1,_Symbol,ask,bid-300*_Point,bid+300*_Point);
  }
  }
  }

Bueno... así es como lo escribí).

Archivos adjuntos:
 
vladzeit:
Ayúdenme, gente de buena voluntad...
Me he encontrado con un lío así en el probador.
Al intentar poner un filtro para entrar en el mercado por nivel de spread. El probador lo ignora (se extiende).
Pero sólo lo ignora a partir de los últimos 6 meses. Durante 5 meses el probador prueba normalmente, filtra.
He leído en algún sitio que el probador tiene su propia forma de calcular el diferencial y hace imposible filtrarlo,
Pero lo que confunde es que durante 5 meses todavía lo tiene en cuenta y lo maneja de forma amigable...
Se adjunta captura de pantalla.
La cuestión es la siguiente.
¿Es una característica del probador o tiene alguna configuración que desconozco?
¿O tal vez esta condición debe establecerse como un software?

Escribí el filtro para probarlo de esta manera...

Bueno... así es como lo escribí)

Deberías probarlo en el modo"Cada tick basado en ticks reales":

//+------------------------------------------------------------------+
//| "Tick" event handler function                                    |
//+------------------------------------------------------------------+
void OnTick()
  {
   double ask  = SymbolInfoDouble(Symbol(),SYMBOL_ASK);
   double bid  = SymbolInfoDouble(Symbol(),SYMBOL_BID);
   long spread = SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);

   if(ask==0.0 || bid==0.0 || spread=0)
      return;

   if(PositionsTotal()>0)
      return;

   if(spread_points<=InpSpread)
     {
      trade.Buy(0.1,Symbol(),ask,ask-300*Point(),ask+300*Point());
     }
  }

InpSpread - parámetro largo de entrada.

 
Vladimir Karputov:

Prueba en el modo"Cada tick basado en ticks reales":

InpSpread - parámetro largo de entrada.

Gracias Vladimir, he puesto la entrada larga.

input long  InpSpread =5;
spread=0 //поправил, на == это ведь сравнение?
if(spread_points<=InpSpread) // поправил на spread

Todo funciona, pero sigue filtrando la propagación sólo durante 5 meses. Respeto"Cada gar rapata basada en garrapatas reales".

Tal vez sea porMetaQuotes, ahora probaré otros.