Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 471
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
puede, la pregunta es ¿por qué no puede rates[0].close?
Sólo puedo adivinar: porque el objeto aún no está formado.
Sólo puedo suponerlo: porque el objeto aún no se ha formado.
No, debe haber un error, debería ser como en el 5, ¿o estoy confundido?
No, debe haber un error, debería ser como el 5, ¿o estoy confundido?
No olvides que Close[0] no existe, sólo que estamos acostumbrados a que sea diferente.
no hagas esto... no existe...
"No hay ninguna cuchara" (c) ))
Close[0]=Bid, así que...
no hagas esto... no existe...
"No hay ninguna cuchara" )))
Close[0]=Bid, aquí...
Deberías preguntar a los Metakwots, no a mí:)
Hola, tengo el siguiente problema. El registro da un OrderModify de 130 cuando se prueba, ayúdame a encontrar una salida. Aquí está el código del consejero:
//+------------------------------------------------------------------+
//| Prueba3.mq4
//| Popov Vladimir...
//| http://vk.com/id143715412 |
//+------------------------------------------------------------------+
#property copyright "Popov Vladimir"
#enlace de propiedad "http://vk.com/id143715412"
extern double Lots = 0.1;
extern int TomaDeBeneficio = 250;
extern int StopLoss = 100;
extern int Deslizamiento = 10;
extern string comment = "Tma bot";
extern int Magia = 123;
cadena externa Indi = "Datos del indicador";
cadena externa TimeFrame = "marco temporal actual";
extern int MediaLongitud = 20;
extern int Precio = PRICE_CLOSE;
extern double ATRMultiplier = 2.0;
extern inttern ATRPeriod = 100;
extern bool Interpolar = true;
doble PriceHigh, PriceLow, SL, TP;
int ticket;
//+------------------------------------------------------------------+
//| función de inicialización de expertos |
//+------------------------------------------------------------------+
int init()
{
si (Dígitos == 3 || Dígitos = 5)
{
TakeProfit *= 10;
StopLoss *= 10;
Deslizamiento *= 10;
}
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio experto |
//+------------------------------------------------------------------+
int inicio()
{
PriceHigh = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 1, 0);
PriceLow = iCustom (Symbol (), 0, "Time", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPeriod, Interpolate, 2, 0);
if (Bid >= PriceHigh && CountSell() == 0)
{
SL = NormalizeDouble(Bid+StopLoss*Point, Digits);
SL = NormalizeDouble(Bid-TakeProfit*Point, Digits);
ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Red);
si (billete > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
if(Ask <= PriceLow && CountBuy() == 0)
{
SL = NormalizeDouble(Ask-StopLoss*Point, Digits);
SL = NormalizeDouble(Ask+TakeProfit*Point, Digits);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Bid, Slippage, 0, 0, comment, Magic, 0, Blue);
si (billete > 0)
{
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES) == true)
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0);
}
}
if (Ask <= PriceLow && CountSell() > 0)
{
for(int i=Total de Pedidos()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == Magic && OrderType() == OP_SELL)
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Black);
}
}
}
if (Bid >= PriceLow && CountBuy() > 0)
{
for(i=Total de pedidos()-1; i >=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
{
if(OrderMagicNumber() == Magic && OrderType() == OP_BUY)
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Green)
}
}
}
return(0);
}
//+------------------------------------------------------------------+
int CuentaCompra()
{
int cuenta = 0;
for (int tr = OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() = OP_BUY)
cuenta++;
}
}
devolver (contar);
}
//+------------------------------------------------------------------+
int CuentaVenta()
{
int cuenta = 0;
for (int tr= OrdersTotal()-1; tr >= 0; tr --)
{
OrderSelect(tr, SELECT_BY_POS);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
{
if (OrderType() = OP_SELL)
cuenta++;
}
}
devolver (contar);
}
Corríjalo aquí
En el segundo caso debería ser TPOh, hombre...
¡Gracias, Roger!