[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 118
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
Por la tarde.
Escribí un código para abrir dos órdenes pendientes (BuyStop y SellStop) en las condiciones a=true y b=true y después de un tiempo el EA cierra ambas órdenes, hasta que aparece una nueva señal, pero a veces el EA abre 2 órdenes pendientes en la misma dirección. ¿Por qué ocurre esto y cómo evitar este "error"?
if (a=true && b=true)
{
int CuentaPedidos = TotalPedidos();
si (OrderCount>1) return(0);
ticket1=OrderSend(Symbol(), OP_BUYSTOP, getLot(), PriceOpen_Buy, slippage, PriceOpen_Sell,0,0,Green);
Sleep(1000);
ticket2=OrderSend(Symbol(), OP_SELLSTOP, getLot(), PriceOpen_Sell, slippage, PriceOpen_Buy,0,0,Green);
Sleep(1000*59*TimeFrame);
for (int i=TotalPedidos()-1; i>=0; i--)
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUYSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
if (OrderType()==OP_SELL ) OrderClose(OrderTicket(),OrderLots(),Ask, slippage);
if (OrderType()==OP_BUY ) OrderClose(OrderTicket(),OrderLots(),Bid,slippage);
}
return(0);
}
¿Puedes darme una pista?
Gracias de antemano
Hola,
¿Es posible introducir un horario con un peso fijo 1:1 en los ajustes?
Si es posible, por favor, dígame cómo.
Gracias de antemano.
Esta biblioteca puede.
Sección "3.3 Función para establecer las propiedades del gráfico" función ServiceSetScaleFix1To1().
La biblioteca sólo funciona con las localizaciones en ruso e inglés. También puede funcionar en el tuyo.
Aquí está la función de apertura de pedidos:
Aquí está la impresión de los parámetros:
Aquí se puede ver claramente que el precio TP y SL están por debajo y por encima del Ask y Bid respectivamente, es decir, todo es correcto. Pero por alguna razón me da un error de modificación porque la parada es incorrecta. ¿Cómo es eso?
Aquí está la función de apertura de pedidos:
Aquí está la impresión de los parámetros:
Aquí se puede ver claramente que el precio TP y SL están por debajo y por encima del Ask y Bid respectivamente, es decir, todo es correcto. Pero por alguna razón me da un error de modificación porque la parada es incorrecta. ¿Cómo es eso?
¿Acaso lees lo que se regaña?
Si no entiendes nada, lo solucionaremos con el resto del mundo...
ZZY. Cuando se coloca una orden pendiente, la cadena
if (price < Bid)
Cuando se coloca una orden pendiente, la cadena no debería ser muy relevante. Debe comprobarse la correspondencia con la distancia mínima permitida establecida en MarketInfo(Symbol(), MODE_STOPLEVEL). Lo primero que me llamó la atención de inmediato.
La segunda es imprimir el precio al que se fija la orden. El Stop y el Take no deben establecerse en relación con el Ask y el Bid, sino en relación con el precio de establecimiento de la orden
Esta biblioteca puede.
Sección "3.3 Funciones de ajuste de las propiedades del gráfico" función ServiceSetScaleFix1To1().
La biblioteca sólo funciona con localizaciones en ruso e inglés. También puede funcionar en el tuyo.
¿Acaso lees lo que se regaña?
Mira los parámetros pasados a la función llamada. Cuando no se aclare nada, lo resolveremos en paz...
Claro que lo estoy leyendo, por eso tengo curiosidad. He desvinculado todos los parámetros de entrada.
Esto es lo que tengo:
Esto es lo que hay en el registro:
Algunas de las órdenes se modifican y otras no. Los valores de ND(TP), ND(SL) al principio fueron devueltos al azar. ¿Por qué?
La función de normalización, por cierto, es mía:
¿Acaso lees lo que se regaña?
Ver los parámetros que se pasan a la función que se va a llamar.Cuando no hay nada claro...
ZS. Cuando se coloca una orden pendiente la línea
if (price < Bid)
Esto no es muy apropiado. Debe comprobar si la distancia mínima permitida corresponde a la especificada en MarketInfo(Symbol(), MODE_STOPLEVEL). Lo primero que me llamó la atención de inmediato.
Suelo encontrarme con comprobaciones similares para la modificación del pedido, pero no para la apertura. Ya lo he visto. Si pongo el precio pendiente en bystop, será un error. Y si pongo un stop de 10 pips seguramente será mayor que el valor de StopLoss. No comercio con ticks :)
En segundo lugar, imprime el precio al que se fija la orden. Los Stop y Take no deben colocarse en relación con el Ask y el Bid, sino en relación con el precio al que se establece la orden
¿Supongo que esto es para modificar? Al fin y al cabo, lo que nos importa al abrir la orden es la oferta y la demanda. He aclarado todo con el post anterior.
Buenas tardes,
Quiero hacer que un EA funcione en varias ventanas al mismo tiempo. Pero sólo se puede abrir una orden para cada instrumento. Por lo tanto, ahora hay una condición:
int total = OrdersTotal();
si (total<1) { análisis y bloqueo de posición de apertura} si no { análisis y bloqueo de posición de cierre }
Ahora, si se abre en dos símbolos al mismo tiempo, la apertura en uno se bloqueará en el otro. Por eso me he inventado algo parecido:
int total = OrdersTotal();
int cnt;
if(total>0)
{
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol()==Symbol())
{
Symbol_FLAG = true;
}
}
}
if(total<1 || total>0 && Symbol_FLAG == false) { análisis y apertura del bloque ptposition}
pero no funciona en el probador...
Tal vez puedas decírmelo, ¿quizás estoy tramando algo irrealizable?