Errores, fallos, preguntas - página 769

 
sergeev:

Lo instalé en casa, lo traje en un pendrive.

¡Probado! El administrador está contento. No se han pedido cervezas.


No se actualiza...
 
Alex5757000:
No habrá actualizaciones...
se puede actualizar desde casa, trayendo sólo construcciones verificadas.
 
Alex5757000:
No se actualiza...

repetir el algoritmo.

Actualizado en casa - lo trajo en una unidad flash.

¡Comprobado! El administrador está doblemente contento.
 
sergeev:

repetir el algoritmo

Actualizado en casa - lo trajo en una unidad flash.

¡Lo he comprobado! El administrador está doblemente contento.

Sí, lo hicimos. Funciona bien. Gracias.
 

Parece que el cuarto pulmón en 503 otra vez... :-(

Ahora - está funcionando...

 
R0MAN:

Parece que el cuarto pulmón en 503 otra vez... :-(

Ahora - está funcionando...

Nosotros fuimos los que lo actualizamos, se paró durante medio minuto.
 

Me estoy devanando los sesos... el tope no cuaja... y un montón de errores. esto es lo que queda del experimento, y ya no funciona

void OnTick(){ if(PositionsTotal()<1){OPEN();}}

bool OPEN(){
             MqlTradeRequest request;
             MqlTradeResult result;
             

             request.symbol       = _Symbol;
             request.action       = TRADE_ACTION_DEAL;
             request.type_filling = ORDER_FILLING_FOK;
             request.deviation    = 100;
             request.volume       = NormalizeDouble(2,2);
             request.type         = ORDER_TYPE_BUY;
             request.price        = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
             request.tp           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits);
             request.sl           = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits);

             OrderSend(request,result);     
                        
             if(result.retcode==10009 || result.retcode==10008)  Print("Succsesful open");
             else                                               Print("Error open: ",DoubleToString(GetLastError(),0),"  response code: ",result.retcode);
    
   return(true);}

Si hace esto, no hay errores, pero el stop-loss sigue sin estar fijado

MqlTradeRequest request={0};MqlTradeResult result={0};
 
maryan.dirtyn:

Me estoy devanando los sesos... el tope no cuaja... y un montón de errores. esto es lo que queda del experimento, y ya no funciona

Si se hace esto, no hay errores, pero el stop-loss sigue sin estar fijado

Hay una función mágica ZeroMemory(). Aplícalo para inicializar o reutilizar.

Y sobre los stops, mira a ver si tu broker no admite la fijación de stops a la vez (por ejemplo, en la ejecución de la bolsa), entonces se pueden añadir por separado.

 

no funciona en una demo estándar de metaquotes... si la demo no admite el establecimiento de paradas de inmediato... ¿está mt5 hecho específicamente para vaciar el depósito?)

una simple función y no funciona... ¿de qué otra cosa podría tratarse?

El mt5 no soporta stop loss en una dirección.

así que prefiero no molestar a los que me dicen que use las bibliotecas estándar. me gusta saber lo que hace mi EA que esperar que no se aplaste más tarde.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
maryan.dirtyn:

No funciona en una demo estándar de metaquotes... si la demo no admite la configuración de paradas de inmediato... ¿está mt5 hecho específicamente para vaciar el depósito?)

Utiliza las clases comerciales estándar, ocultarán toda la complejidad de llenar las órdenes y simplificarán el código. Por ejemplo, CTrade ofrece métodos de negociación muy sencillos.

Dado que tiene preguntas incluso sobre el simple llenado de los campos de las órdenes comerciales, lo mejor es buscar en el código fuente de las clases comerciales correspondientes y encontrar una solución allí. Utilícelos específicamente: simplifican la programación y permiten un control total de los errores.