[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 586

 
Craft:

Buenas tardes, tratando de averiguar cómo escribir un EA. Tomé la plantilla del EA del artículo en el sitio web de mql4, añadí mis propias condiciones para entender la depuración y la funcionalidad, e introduje las condiciones para abrir posiciones:

He añadido mis propias condiciones (o cambiado las existentes) para asegurarme de que las órdenes fueran ejecutadas por fakut.

ver los tres posts anteriores - analizar sólo las barras formadas, a partir de la 1
 

o utilizar la condición - si no hay órdenes abiertas en la barra cero, está bien abrir:

if((OrdersTotal()>0&&iBarShift(OrderOpenTime())>0)||OrdersTotal()==0)
{
   //открываемся
}
 
alsu:
ver los tres posts anteriores - analizar sólo las barras formadas a partir del 1
Pero para ello iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1) y prescribe 1 al final, y Open[0] no se modifica durante la barra y lo necesitaré.
 
Craft:
Pero para ello iMAOnArray(MyATR,0,PerB,0,MODE_SMA,1 ) y prescribe 1 al final y Open[0] no se modifica durante la barra y lo necesitaré.
pero el Ask y el Bid se cambian en cada tick - por eso la condición puede activarse muchas veces durante una barra
 
alsu:
pero Asc y Bid cambian en cada tick - por lo que la condición puede ser activada muchas veces durante una sola barra
¿Qué debemos hacer para que la ejecución se produzca una sola vez, tal vez sustituirlas por High[0] y Low[0]? ¿O hay otros comandos, tal vez la condición para ejecutar dentro de una barra una vez?
 
Craft:
¿Qué tal si se ejecuta una vez, tal vez reemplazarlos con High[0] y Low[0]? ¿O hay otros comandos, tal vez la condición de ejecutar dentro de la barra una vez?
Ya lo escribí arriba, ¿no?
 
alsu:
Ya lo escribí arriba.

He estado leyendo, me divertí en el fondo antes, ahora quiero probar forex. En WelsLab en el fondo esto es fácil de hacer a través de la parada:

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

if (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

¿No se puede hacer en MetaTrader?

 
Craft:

He estado leyendo, me divertí en el fondo antes, ahora quiero probar forex. En WelsLab en el fondo esto es fácil de hacer a través de la parada:

MyATR = SMA.Series((((High-Low)/Low), PerB)[i-1] ;

if (BuyAtStop(i, (Open[i] + Open[i]*MyATR), "") ;

¿No se puede hacer esto en MetaTrader?

No, eso no funcionará. sólo mediante el análisis del historial de pedidos. así es nuestro MQL - no es muy bueno, pero tiene sus propias características :))) por eso la mayoría de las funciones útiles están escritas a mano.
 
alsu:
No, eso no funcionará. sólo mediante el análisis del historial de pedidos. así es nuestro MQL - no es muy bueno, pero tiene sus propias características :))) por eso la mayoría de las funciones útiles están escritas a mano.
¿Puedo obtener un ejemplo o un enlace que funcione?
 
Craft:
No me importa, ¿puedo tener un ejemplo de funcionamiento o un enlace?
Voy a salir esta noche, o tal vez alguien me dé uno antes.
Razón de la queja: