Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
//| Cempionat2010.mq5 |
//| Victor Pavlyuk |
//| |
//+------------------------------------------------------------------+
#property copyright "Victor Pavljuk"
#property version "1.00"
input int StartHour = 10;
input int EndHour = 20;
input double Lots = 5;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnInit()
{
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
MqlTradeRequest request;
MqlTradeResult result;
MqlDateTime dt;
bool bord=false, sord=false;
bool bords=false, sords=false;
int i;
ulong ticket;
datetime t[];
double h[], l[], ma[], atr_h[], atr_l[],
lev_h, lev_l,
Spread =NormalizeDouble(SymbolInfoDouble(Symbol(),SYMBOL_ASK) - SymbolInfoDouble(Symbol(),SYMBOL_BID),_Digits);
request.symbol =Symbol();
request.volume =Lots;
request.tp =0;
request.deviation =0;
request.type_filling=ORDER_FILLING_RETURN;
TimeCurrent(dt);
i=(dt.hour+1)*60;
if(CopyTime(Symbol(),0,0,i,t)<i || CopyHigh(Symbol(),0,0,i,h)<i || CopyLow(Symbol(),0,0,i,l)<i)
{
Print("Не удалось скопировать таймсерию!");
return;
}
ArraySetAsSeries(t,true);
ArraySetAsSeries(h,true);
ArraySetAsSeries(l,true);
lev_h=h[0];
lev_l=l[0];
for(i=1;i<ArraySize(t) && MathFloor(t[i]/86400)==MathFloor(t[0]/86400);i++)
{
if(h[i]>lev_h) lev_h=h[i];
if(l[i]<lev_l) lev_l=l[i];
}
lev_h+=Spread+_Point;
lev_l-=_Point;
for(i=0;i<OrdersTotal();i++)
{
ticket=OrderGetTicket(i);
if(OrderGetString(ORDER_SYMBOL)==Symbol())
{
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер byu2!");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
bords=true;
}
if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_SELL_STOP)
{
if(dt.hour>=StartHour && dt.hour<EndHour )
{
Print("Есть ордер Sel2");
return;
}
else
{
request.action=TRADE_ACTION_REMOVE;
request.order=ticket;
OrderSend(request,result);
return;
}
sords=true;
}
}
}
request.action=TRADE_ACTION_PENDING;
if(dt.hour>=StartHour && dt.hour<EndHour)
{
if(bords==false )
{
request.price=NormalizeDouble(lev_h,_Digits);
request.sl=NormalizeDouble(lev_h-1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_h+138*_Point,_Digits);
request.type=ORDER_TYPE_BUY_STOP;
OrderSend(request,result);
}
if(sords==false )
{
request.price=NormalizeDouble(lev_l,_Digits);
request.sl=NormalizeDouble(lev_l+1000*_Point,_Digits);
request.tp=NormalizeDouble(lev_l-138*_Point,_Digits);
request.type=ORDER_TYPE_SELL_STOP;
OrderSend(request,result);
}
}
}
//+------------------------------------------------------------------+
не проходит тест даже советник 2010 года
тогда работал
Aquí tienes la razón escrita:
¿Y qué dice? Y luego con eso a la referencia.
10013
TRADE_RETCODE_INVALID
Solicitud incorrecta
ERR_TRADE_SEND_FAILED
4756
Fallo en el envío de la solicitud de comercio
Cortocircuito en las ofertas, no ascas + paradas por encima del precio de entrada y tomas por debajo.
Era:
Se convirtió:
Los pros y los contras también han cambiado (aunque resaltados en negrita, pero no se nota en la pantalla).
Buena suerte
además
mql 5 ha sido escrito para usted. Orientado a objetos. Hereda Ctrade y serás feliz. No reinventes la rueda.
mql 5 ha sido escrito para usted. Orientado a objetos. Hereda Ctrade y serás feliz. No reinventes la rueda.
Un consejo estúpido a dos horas del final: es más difícil averiguar la biblioteca estándar que OrderSend.
Ya se ha corregido el error. Todo lo que queda por enviar (si no hay otros errores) es
mql 5 ha sido escrito para usted. Orientado a objetos. Hereda Ctrade y serás feliz. No reinventes la rueda.
Es aburrido escribir sin errores :)
Hay que pisar un par de veces y luego recogerlo.
Gracias a todos por su ayuda.
¿Cómo puedo deshacerme de
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 no hay suficiente dinero [compra instantánea 5.00 EURUSD a 1.30227 sl: 1.29227 tp: 1.30765]
no sacar el examen del año
Gracias a todos por su ayuda.
Además, ¿cómo se elimina
2012.09.21 22:42:08 Core 1 2012.05.08 13:00:00 no hay suficiente dinero [compra instantánea 5.00 EURUSD a 1.30227 sl: 1.29227 tp: 1.30765]
no sustituye a la prueba del año
Es aburrido escribir sin errores de inmediato :)
Hay que pisar un rastrillo o dos y luego recogerlo.
Así es como se aprende de los errores