[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 591
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
Ayúdame a resolver un problema
Muestro todos los artículos cerrados
for (int i=0; i<OrdersHistoryTotal(); i++)// Para todos los pedidos
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
luego filtrar por número mágico
if (OrderMagicNumber()==12)
El filtro satisface 3 posiciones, pero sólo necesito la última cerrada
no se sabe cómo dejar sólo el último?
Gracias
De nuevo, muy necesario.
Ayúdame a resolver el problema.
Estoy seleccionando por todas las posiciones cerradas
for (int i=0; i<OrdersHistoryTotal(); i++)// en todos los pedidos del terminal
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
filtro posterior por número mágico
if (OrderMagicNumber()==12)
el filtro coincide con 3 posiciones pero sólo necesito la última cerrada
¿No puedes averiguar cómo dejar sólo el último?
Gracias
¡Por favor, ayuda! Necesito que abra la orden inmediatamente después de cerrar la anterior, al precio Tp o SL.
#property copyright "Copyright © 2010, MetaQuotes Software Corp.
#enlace de propiedad "http://www.metaquotes.net"
#property show_confirm
extern int MaxRisk=3;
extern bool Buy=false; //para abrir una orden de compra
extern bool Sell=true; //para abrir una orden de venta.
extern inttern MagicNumber=7749;
extern TP=210;
extern inttern SL=420;
{
double point=MarketInfo(Symbol(),MODE_POINT);//solicitar Punto
double Free=AccountFreeMargin();
double One_Lot =MarketInfo(Symbol(),MODE_MARGINREQUIRED);
double Step =MarketInfo(Symbol(),MODE_LOTSTEP);
double Lote =MathFloor(Libre*Riesgo Máximo/100/Un_Lote/Paso)*Paso;
int pos,total=Total de pedidos();
//----
if(Buy==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_BUY,Lot,Ask,3,Ask-SL*Point,Ask+TP*Point, "777"+ Symbol(), MagicNumber, 0, DarkGreen);
Comprar=falso;
}
if(Sell==true && OrdersTotal()<=1)
{
OrderSend(Symbol(),OP_SELL,Lot,Bid,3,Bid+SL*Point,Bid-TP*Point, "4949"+ Symbol(), MagicNumber, 0, DarkGreen);
Vender=falso;
}
for (pos=0; pos<total; pos++)
if(OrderSelect(pos,SELECT_BY_POS )==true)
if(OrdersTotal()==OP_BUY)
if(PRICE_CLOSE==OrderTakeProfit()) Buy=true;
if(PRICE_CLOSE==OrderStopLoss()) Vender=verdadero;
}
}
if(OrderSelect(pos,SELECT_BY_POS )==true)
if (OrdersTotal()==OP_SELL)
{
if(PRICE_CLOSE==OrderStopLoss()) Buy=true;
if(PRICE_CLOSE==OrderTakeProfit()) Vender=verdadero;
}
} }
//----
return(0);
}
//+------------------------------------------------------------------+
Chicos, una pregunta, un EA intenta abrir una orden, pero el precio cambia y muestra un error de precio erróneo, ¿cómo puedo evitarlo, para que intente comprar hasta que compre?
Solía serlo.
Añadí 30 porque tengo un signo de 5 pero es inútil.
De nuevo, muy necesario.
Ayúdame a resolver el problema.
Estoy probando todos los artículos cerrados.
Empieza por el final, entonces el primero que coincida es el elegido.
for (int i=OrdersHistoryTotal()-1;i>=0; i--)//
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)
Todavía hay una molestia más, hay secciones en las que sólo hay un cierre de una posición y no una inversión, aunque las condiciones para un stop y la apertura de una nueva posición son las mismas.
Estas situaciones pueden ocurrir porque las condiciones de compra y venta en el Asesor Experto no son mutuamente excluyentes. Intente trazar los valores de las variables requeridas en el probador según
Chicos, una pregunta, un EA intenta abrir una orden, pero el precio cambia y muestra un error de precio erróneo, ¿cómo puedo evitarlo, para que intente comprar hasta que compre?
Solía serlo.
Añadí 30 porque tengo un signo de 5 pero es inútil.
esto debe ser investigado en detalle, tales situaciones pueden surgir porque las condiciones de apertura de compra y venta en el EA no son mutuamente excluyentes. Trate de trazar los valores de las variables requeridas en el probador a lo largo de las líneas de
Lo que es relevante para su pregunta está subrayado.