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

 
Hola a todos. ¿Podría decirme cómo seleccionar la última orden cerrada en el historial de mql4? Estoy utilizando OrderSelect(0,SELECT_BY_POS,MODE_HISTORY), que selecciona la primera orden cerrada.
 
Sergei Maksimenko:
Hola a todos. ¿Podría decirme cómo seleccionar la última orden cerrada en el historial de mql4? Estoy utilizando OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); selecciona la primera orden cerrada, pero ¿cómo puedo seleccionar la última?
En lugar de 0, debe utilizar OrdersHistoryTotal()-1.
 
new-rena:

Es más fácil seguir los cambios de barra por los cambios de tiempo de la barra que por los precios de la barra. Al final del algoritmo, almacenaremos la hora actual del compás, y al principio la compararemos con la hora actual.

Por ejemplo, para la barra M5, la hora actual se modificará sólo al principio de la barra y cada 5 minutos....

Las pruebas de estos programas se realizan " abriendo precios", lo que acelera enormemente el proceso de depuración y optimización del código.

Así, tendré que averiguar qué TF es ahora y hacer un redondeo si no aparece una barra en exactamente 5 minutos... En mi caso, el código es muy fácil y no es pesado. Por supuesto, el precio de apertura puede no cambiar, pero se puede comprobar por la suma de dos barras anteriores. En general, si no hubieras escrito sobre las ventajas de tu solución, lo habría entendido mejor si hubiera adjuntado el código - no soy programador...
 
-Aleks-:
Así que tengo que averiguar qué TF es ahora, hacer el redondeo si la barra no aparece en exactamente 5 minutos... En mi caso el código es muy fácil y nada engorroso. Por supuesto, el precio de apertura puede no cambiar, pero se puede comprobar por la suma de las dos últimas barras. En general, si no hubieras escrito sobre las ventajas de tu solución, lo habría entendido mejor si hubiera adjuntado el código - no soy programador...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Gracias, es más fácil de lo que me imaginaba después de leer el comentario.

 

¡Buenas tardes!

¿Quién puede decirme cómo hacer un menú desplegable en la configuración de expertos?

Como el de la foto. Gracias.


 
Sergei Konoplev:

¡Buenas tardes!

¿Quién puede decirme cómo hacer un menú desplegable en la configuración de expertos?

Como el de la foto. Gracias.


Tengo que añadir mi lista al código.
 
-Aleks-:
Así que tengo que averiguar qué TF es ahora, hacer el redondeo si la barra no aparece en exactamente 5 minutos... En mi caso el código es muy fácil y nada engorroso. Por supuesto, el precio de apertura puede no cambiar, pero se puede comprobar por la suma de las dos últimas barras. En general, si no hubieras escrito sobre las ventajas de tu solución, lo habría entendido mejor si hubiera adjuntado el código - no soy programador...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

¿Dónde está el error?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

¿Dónde está el error?

¿Código de error?
Razón de la queja: