Operar con spreads en Meta Trader - página 158

 
hrenfx:
  1. Se están ejecutando dos EAs.
  2. La tabla de órdenes/posiciones de estos símbolos no tiene tiempo de actualizarse inmediatamente después de la apertura. Poner Sleep(PAUSE).


1. Asesor Experto - uno está funcionando.

2. Sí, - Voy a tratar de poner el sueño ahora , - gracias.

 
forex-k:
¡Pasa por un filtro!


Si no es un secreto, ¿puede dar un ejemplo de dicho filtro?

He aquí una pregunta. ¿Es posible establecer la condición de tiempo de caducidad mediante programación?

Gracias.

 

Y otra pregunta.

Indicador de línea de precios para 5 instrumentos.

Hace unos días (tras apagar la luz del piso y reiniciar el ordenador) me encontré con que el comentario de la parte derecha de la ventana del indicador saltaba a la ventana del gráfico de precios (¡!).

Reinstalar el indicador no ayuda. Quitar el gráfico y volver a instalarlo tampoco ayuda.

Código para la ejecución del comentario de renderización:

#property indicator_separate_window
#property indicator_buffers 6

int deinit()  {
  // Удаляем все графические объекты
  DeleteObject(oSymb1);   DeleteObject(oSymb2); 
  DeleteObject(oSymb3);  DeleteObject(oSymb4);
  DeleteObject(oSymb5);  DeleteObject(oSymbS); 
  return(0);  }
//-------------------------------------------------------------------+

int start() {
// ... ... ... ... 

  // Построение графических объектов
  // Пишем комментарий в окне индикатора с правой стороны
  string sVolA1="",sVolA2="",sVolA3="",sVolA4="",sVolA5="",
         sVolP1="",sVolP2="",sVolP3="",sVolP4="",sVolP5="";
  
  DrawLabel(oSymb1, sVolP1+ Symbol1.Name +sVolA1,10, indicator_color1, 5);
  DrawLabel(oSymb2, sVolP2+ Symbol2.Name +sVolA2,10, indicator_color2,18);
  DrawLabel(oSymb3, sVolP3+ Symbol3.Name +sVolA3,10, indicator_color3,31);
  DrawLabel(oSymb4, sVolP4+ Symbol4.Name +sVolA4,10, indicator_color4,44);
  DrawLabel(oSymb5, sVolP5+ Symbol5.Name +sVolA5,10, indicator_color5,57);
  DrawLabel(oSymbS, "AVERAGE", 10, indicator_color6, 70);
 
    return(0);
} // Конец функции Start

//+----------------- Пользовательские функции ------------------------------------------+

// Рисуем коммент
void DrawLabel(string aName, string aText, int aFontSize, color aColor, int aValue) {
  string objName=aName+wndName;
  ObjectDelete(objName);
  ObjectCreate(objName, OBJ_LABEL, wndNum, 0, 0);
  ObjectSetText(objName, aText, aFontSize, "Verdana", aColor);
  ObjectSet(objName, OBJPROP_CORNER, 1);
  ObjectSet(objName, OBJPROP_XDISTANCE, 4);
  ObjectSet(objName, OBJPROP_YDISTANCE, aValue); 
}

// Удаляем графический объект
void DeleteObject(string name) {
  ObjectDelete(name+wndName);
}

¿Pueden decirme, por favor, cómo arreglar el fallo? ¿Cómo devolver al "hijo pródigo" a la ventana del indicador?

 

Y crear un perfil sin la ventana defectuosa y volver a instalar el terminal, por cierto quizás se haya actualizado la versión del terminal?

Todavía tengo la versión 225, un viejo amigo es mejor que los dos nuevos. )

Me refería a crear un perfil para transferir, en caso de que se reinstale el terminal.

 

Gracias. Intentaré crear un nuevo perfil.

Es muy posible que haya actualizado la versión del terminal. No puedo recordar exactamente - sucedió antes del fin de semana.

 
Vitya:


¿Puede darme un ejemplo de un filtro de este tipo?

Como éste:

if (MarketInfo("EURUSD", MODE_ASK) - MarketInfo("EURUSD", MODE_BID) > MaxSpread)

return(0);

 
Vitya:

¿Se puede establecer la condición de tiempo de caducidad mediante programación?

No parece serlo.
 
goldtrader:

Así:

Probablemente sería mejor escribir un indicador que monitoree el spread y no entre si el spread máximo en las últimas n barras ha excedido el spread permitido. Esto es más eficiente, especialmente con la ejecución del mercado.
 

Aquí hay un script que rastrea el diferencial entre oferta y demanda (específicamente para el corretaje).

En algún lugar más arriba, en medio del hilo, está la misma versión, pero como indicador.

Mi script consume una cantidad importante de recursos de la CPU (-schedule), por lo que es mejor ponerlo justo antes de abrir/cerrar, y luego quitarlo de una vez.

6NZ0, M1

Archivos adjuntos:
scr_tiker.mq4  3 kb
 
Vitya:


Si no es un secreto, ¿puede dar un ejemplo de dicho filtro?

He aquí una pregunta. ¿Es posible establecer la condición de tiempo de caducidad mediante programación?

Gracias.

Todo se puede hacer de forma programada.

El spread se toma tanto al abrir una orden como al cerrarla, el spread es flotante.

Esta herramienta no es molesta, sino muy informativa para los corredores.

-Puede establecer cualquier coeficiente para los instrumentos y como resultado, el lote, el depósito y el spread se calculan automáticamente.

-también muestra si el mercado está cerrado o no, si 0, está cerrado, si 1, está abierto.

-Cálculo exacto del valor de los puntos

-Muestra la fecha de caducidad.

Archivos adjuntos: