Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 471 1...464465466467468469470471472473474475476477478...1180 Nuevo comentario Алексей Тарабанов 2014.02.09 21:44 #4701 beginner: puede, la pregunta es ¿por qué no puede rates[0].close? Sólo puedo adivinar: porque el objeto aún no está formado. Oleg 2014.02.09 21:49 #4702 tara: 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? Алексей Тарабанов 2014.02.09 22:00 #4703 beginner: 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. Oleg 2014.02.09 22:03 #4704 Close[0] - El precio de cierre de la vela en el momento actual, así como todos los demás parámetros alto, bajo... Vitalie Postolache 2014.02.09 22:06 #4705 tara: 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... Алексей Тарабанов 2014.02.09 22:09 #4706 evillive: no hagas esto... no existe... "No hay ninguna cuchara" ))) Close[0]=Bid, aquí... Deberías preguntar a los Metakwots, no a mí:) Алексей Тарабанов 2014.02.09 22:21 #4707 Yo no utilizaría ninguna referencia a una cita que aún no se ha hecho para desbaratar un recurso. Pr0t0ip 2014.02.10 18:31 #4708 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); } Any rookie question, so Cualquier pregunta de los Escribiré un asesor gratuito Alexander 2014.02.10 18:40 #4709 Corríjalo aquí SL = NormalizeDouble(Ask-StopLoss*Point, Digits); SL = NormalizeDouble(Ask+TakeProfit*Point, Digits); En el segundo caso debería ser TP Pr0t0ip 2014.02.10 18:43 #4710 Oh, hombre... ¡Gracias, Roger! 1...464465466467468469470471472473474475476477478...1180 Nuevo comentario
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!