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

 
pako:

para la compra de

 
PokrovMT5: Lo he escrito, el resultado es el mismo, 10013, he quitado el stop y el TP, no sirve de nada. Retorno eliminado, el compilador frunce el ceño ante el valor(res.retcode)
MqlTradeRequest Req={0};
MqlTradeCheckResult Check={0}; 
MqlTradeResult Res={0};
ZeroMemory(Req);
ZeroMemory (Check);
ZeroMemory(Res);
   string TradeSmb;
   if(TradeSmb=="") TradeSmb=_Symbol;
   Req.action=TRADE_ACTION_DEAL;
   Req.symbol=TradeSmb;
   Req.volume=0.1;
   Req.type=ORDER_TYPE_BUY;
   Req.type_filling=ORDER_FILLING_RETURN;
   Req.price = sym_ask;
   Req.sl= NormalizeDouble(sym_bid - (StopLoss*sym_point),sym_digits);
   Req.tp= NormalizeDouble(sym_ask + (TakeProfit*sym_point),sym_digits);
   Req.deviation=3;
   Req.comment="777";
if(!OrderSend(Req,Res)|| Res.retcode !=TRADE_RETCODE_DONE) 
     {
      Print("Не удалось открыть BAY позицию по ",Symbol());
     } 

 
PokrovMT5:

poner este script en la carpeta de scripts, abrir este script en unitor, compilarlo

Cuando se abra la bolsa, arrastre este script al gráfico

Archivos adjuntos:
test_buy.mq5  2 kb
 
pako:
eso es lo que dice, el último extremo
¿entiendo que es imposible encontrar el penúltimo extremo del zigzag mediante las funciones estándar de mql5?
 
<br / translate="no">

¿Cómo se hace la escala en el gráfico algunos múltiplos y enteros? No puedo prescindir de una calculadora cuando intento calcular un patrón o colocar paradas.

¿Y cómo se calculan las diferencias de celdas, se tiene una calculadora cerca o hay un ajuste secreto en MT5?

¡La escala es específica para que no se relajen!

 
mavar:

¿Cómo hacer la escala en un gráfico con algunos múltiplos y enteros? Mi cerebro hierve cuando intento calcular visualmente algún tipo de patrón o colocar paradas, no puedo prescindir de una calculadora.

¿Y cómo se calculan las diferencias de celdas, se tiene una calculadora cerca o hay un ajuste secreto en MT5?

No hay ningún ajuste secreto. Sólo hay cinco soluciones posibles:

1. Hazlo tú mismo.

2.Busca en la kodobase lo que hay disponible.

3. pedirlo a uno de los comerciantes.

Cómpralo en el mercado.

5.Esperar y esperar a que se haga la μl en el terminal.

 
¿Existe alguna forma de leer el número de versión a partir de la versión de #property?
 

¡Salud! ¡Hoy he lanzado mi primer EA en MT5!

¡¡¡Llegó la situación adecuada en el mercado y el Asesor Experto empezó a comprar y comprar!!! Al menos he conseguido reaccionar a tiempo. ¿Puede decirme qué es lo que falla en el código? Pensé que debería comprar sólo un lote y establecer inmediatamente un Stop Loss y Take Profit. Tan pronto como compró algo, la variable Bye_opened debería hacerse verdadera y no debería permitirle realizar una operación posterior hasta que se activen los stops. Además, ¿cómo puedo saber el precio de la última operación para poner stops?


Pero parece que he hecho algo mal. Por favor, señale mi error.


 //--- Do we have positions opened already?
   bool Buy_opened=false;  // variable to hold the result of Buy opened position
   bool Sell_opened=false; // variables to hold the result of Sell opened position

   if(PositionSelect(_Symbol)==true) // we have an opened position
     {
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        {
         Buy_opened=true;  //It is a Buy
        }
      else if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         Sell_opened=true; // It is a Sell
        }
     }

//+------------------------------------------------------------------+
//|   СОВЕРШАЕМ СДЕЛКУ                                               |
//+------------------------------------------------------------------+
                  
     if(last_tick.last < BBLow[2] && Buy_opened == false)
        {
        int znak = last_tick.last - BBLow[2];

      //--- 1. Создать запрос
         
         MqlTradeRequest Trade_reqst={0};            // Инициализация структуры торгового запроса
         Trade_reqst.action=TRADE_ACTION_DEAL;       // Тип: немедленное совершение сделки
         Trade_reqst.symbol=_Symbol;                 // Инструмент: текущий
         Trade_reqst.volume=Lot;                     // Объём: 1 лот
         Trade_reqst.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK)-TakeProfit*_Point; // Цена исполнения
         Trade_reqst.type=ORDER_TYPE_BUY;            // Тип ордера: на продажу
         Trade_reqst.type_filling=ORDER_FILLING_RETURN; // Политика исполнения 
         Trade_reqst.sl=last_tick.last - StopLoss * _Point;  // Stop Loss
         Trade_reqst.tp=SymbolInfoDouble(_Symbol,SYMBOL_ASK) + TakeProfit * _Point; // Take Profit
      // Trade_reqst.tp=Trade_reqst.price + TakeProfit * 2 * _Point; // Take Profit
      //--- 2. Отправить торговый приказ
         MqlTradeResult Trade_reslt={0};             // Инициализация структуры результата торгового запроса
         OrderSend(Trade_reqst,Trade_reslt);         // Отправка торгового запроса на сервер
   //--- выведем в лог ответ сервера  
   //Print(__FUNCTION__," - : - ",Trade_reslt.comment);
   if(Trade_reslt.retcode==10016) Print("Ответ: ",Trade_reslt.bid,Trade_reslt.ask,Trade_reslt.price);
 
En el probador de estrategias el comando MarketInfo(Symbol(),MODE_TICKVALUE) = 0 ( !) Esto ocurre en situaciones en las que, por ejemplo, el instrumento es EURUSD y la moneda de balance es RUR .... y en otras combinaciones. Tengo entendido que la moneda de equilibrio debe ser la misma que el nombre de la segunda moneda del par de divisas. En caso contrario, devuelve el valor cero (en el probador de estrategias), lo que hace imposible realizar pruebas con las combinaciones deseadas. ¿Cómo resolver este problema?
 

MT4 737 está en revisión.

¿Cuál es la historia de MetaQuotes-Demo y desde cuándo?

El D1 es casi como en los buenos tiempos, desde mayo del 72, pero las semanas desde el 95, los meses desde el 93, las horas en general desde el 12.

Razón de la queja: