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

 

Lester:
Se trata de una plantilla con funciones incorporadas para abrir, cerrar y modificar.
La apertura y el cierre están escritos por Nikolay Kositsin.

Los cambié fácilmente y añadí modificaciones.

Creo que está claro cómo llamarlos, así que para su comodidad.

Lo siento, he confundidoel archivo.

Документация по MQL5: Файловые операции / FileMove
Документация по MQL5: Файловые операции / FileMove
  • www.mql5.com
Файловые операции / FileMove - Документация по MQL5
Archivos adjuntos:
schablon_1.mq5  13 kb
 
papaklass:

Inténtalo de esta manera:

Desgraciadamente, los pedidos no se cierran del todo. Creo que debería pensar en ello durante un tiempo)
 
mario065:

Lester:
Esta plantilla tiene funciones incorporadas para abrir, cerrar y modificar.
La apertura y el cierre están escritos por Nikolay Kositsin.

Los cambié fácilmente y añadí modificaciones.

Creo que está claro cómo impugnarlas, así que para su comodidad.

¿Cómo puedo abrir estos archivos con un editor?
 
Lester:
¿Cómo se abren estos archivos con un editor?

No puedes abrirlos. ))

Intenta leer algunos artículos. Hay mucho donde elegir, desde los más pequeños hasta los más maduros. ))

 
Lester:
Desgraciadamente, los pedidos no se cierran del todo. Creo que debería pensar en ello durante un tiempo)

He cambiado el archivo, lo siento.

Me he confundido de archivo, lo siento.

 
papaklass:

Vaya. ¿Qué tiene que ver esto con las órdenes de detención? Hemos estado hablando de una posición todo el tiempo. Una posición y las órdenes pendientes son cosas diferentes. Deben cerrarse de otra manera.

Las órdenes pendientes no se cierran, sino que se eliminan. Las posiciones se cierran abriendo una orden de mercado de igual volumen y dirección opuesta a la posición abierta.

El código que citó no fue diseñado para eliminar órdenes pendientes.

Puede utilizar esta función para eliminar pedidos:


Lo tengo. No hay nada sobre órdenes, sólo posiciones.

Me receté PositionSelect por la noche - parece que me ha recuperado el aliento. Envía (cierra) posiciones de vez en cuando, pero creo que aquí ya se dan las condiciones.

No entiendo otra cosa. No forma stop ni pérdidas de beneficios, cuyos valores se prescriben en los parámetros de entrada. Si prescribo estos valores en el envío, ocurre lo mismo, es decir, nada.

input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit
int OnInit()
 ...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...
 mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = StopLoss; // Stop Loss
         mrequest.tp = TakeProfit; // Take Profit
         mrequest.symbol = _Symbol;                                            // символ
         mrequest.volume = Lot;                                                // количество лотов для торговли
         mrequest.magic = EA_Magic;                                            // Magic Number
         mrequest.type = ORDER_TYPE_BUY;                                       // ордер на покупку
         mrequest.type_filling = ORDER_FILLING_FOK;                            // тип исполнения ордера - все или ничего
         mrequest.deviation=10;                                               // проскальзывание от текущей цены
         //--- отсылаем ордер
         OrderSend(mrequest,mresult);
         // анализируем код возврата торгового сервера
         if(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
           {
            Alert("Ордер Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
           }
         else
           {
            Alert("Запрос на установку ордера Buy не выполнен - код ошибки:",GetLastError());
            return;

 

Hola. ¿Podría decirme qué debo hacer en MT4 después de suscribirme a las señales, para que se produzca la sincronización? He encontrado en las instrucciones lo que hay que hacer con MT5, no he encontrado instrucciones para MT4. Me he suscrito a la señal de MT4.

Me he apuntado a la señal de MT4. Gracias.

Торговые сигналы
Торговые сигналы
  • www.mql5.com
Торговые Сигналы для MetaTrader: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
 
Lester:

Entendido. No se habla de órdenes, sólo de posiciones.

He recetado PositionSelect por la noche - parece que respira. Envía (cierra) posiciones de vez en cuando, pero creo que aquí ya se dan las condiciones.

No entiendo otra cosa. No forma stop ni pérdidas de beneficios, cuyos valores se prescriben en los parámetros de entrada. Si prescribo estos valores en el envío, ocurre lo mismo, es decir, nada.

Las paradas y los beneficios no se especifican correctamente.
Здес указали целое число
input int StopLoss=60;      // Stop Loss
input int TakeProfit=170;   // Take Profit

...
   STP = StopLoss;
   TKP = TakeProfit;
   if(_Digits==5 || _Digits==3)
     {
      STP = STP*10;
      TKP = TKP*10;
     }
   return(0);
  }
...

mrequest.action = TRADE_ACTION_DEAL;                                  // немедленное исполнение
         mrequest.price = NormalizeDouble(Ask,_Digits);    // последняя цена ask
         mrequest.sl = NormalizeDouble(Ask - StopLoss*_Points,_Digits); // Stop Loss
         mrequest.tp = NormalizeDouble(Ask + TakeProfit*_Points,_Digits);  // Take Profit

На места для стоп и профит нужна цена!
 
papaklass:

La razón por la que no se fijan los stops cuando se abre una posición puede depender del modo de negociación. Hay tres modos: Ejecución de solicitud, Ejecución instantánea y Ejecución de mercado.

Si su corredor utiliza el modo de Ejecución de Mercado, primero debe abrir una posición y luego modificarla (establecer los stops) en el siguiente tick. Al mismo tiempo, es decir, en una sola orden, con este modo de negociación no es posible abrir una posición con stops.

En general, tratar la estructura de una solicitud de comercio :MQL5 Reference / Standard constants, enumerations and structures / Data structures / Structure of a trade request. Creo que esto le ayudará a seguir estudiando el idioma.

En efecto, en Alpari existe la ejecución del mercado. ¿Existe una estructura de modificación de órdenes en sí misma? Ya que no hay ninguna modificación en el foro mientras haya una orden de venta o de compra abierta.

Si no me equivoco, el "pez" de la modificación tiene este aspecto.

if(PositionSelect(_Symbol)==true) // есть открытая позиция
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        { ModifyPosition(стоплосс на покупку)
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         { ModifyPosition(стоплосс на продажу)
        }
return


 
Lester:
De hecho, en Alpari Market Execution . ¿Existe una estructura de modificación de órdenes en sí misma? Ya que no hay ninguna modificación en el foro mientras haya una orden de venta o de compra abierta.

Si no me equivoco, el "pez" de la modificación tiene este aspecto.

Utilice la solución lista de la biblioteca estándar(clase CTrade- método PositionModify). Es una buena solución para empezar. En cualquier momento puedes hacer tu propia clase similar y hacer los cambios necesarios.
Razón de la queja: