[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 50

 

En el propio EA, se expone todo el código.

Muchas gracias a todos por su ayuda.

 
Sergstuddek:

Hola. Por favor, ayude a una persona que sufre.

Acabo de empezar a aprender MQL y he decidido escribir mi primer Asesor Experto.

Quiero explicar por qué no abre las órdenes pendientes y cuál es el problema.

int ParadasAbiertas()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol(),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // comprobar si hay una orden de compra abierta
int ticket;
double LotSize=OrderLots(); // tamaño del lote de la orden abierta
double OpenPrice=OrderOpenPrice(); // Precio de apertura de la orden
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Abrir una posición de venta en dirección opuesta a la orden de apertura
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // abrir una posición de compra para la continuación a la orden abierta

if(OrderSelect(CalculateCurrentOrders1(Symbol())SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Comprueba si hay una orden de venta abierta
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // abrir una orden pendiente de compra
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Abrir una orden pendiente de compra/venta antes de la orden abierta
}


Primero, aprende a insertar el código correctamente - a través de Counter+Alt+M - y luego todo lo demás...
 
Roman.:
Primero, aprende a insertar el código correctamente - a través de Counter+Alt+M - y luego todo lo demás...
Вот в этом окошке будет код, если воспользоваться кнопкой SRC на верхней панели
 

¿Puede sugerir un script o un EA para mostrar información en la pantalla (spread, nivel de stop, operaciones abiertas, beneficio en las operaciones, beneficio del día, etc.)? Gracias.

 
granit77:



Gracias por su ayuda, me ayudó mucho
 
Hola. Por favor, ayude a una persona que sufre.

Acabo de empezar a aprender MQL y decidí escribir mi primer Asesor Experto, pero tengo un problema

en el código, las órdenes pendientes no se abren, por favor dígame por qué y cuál es el problema.
int OpenStops()
{
if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;
double LotSize=OrderLots(); // Размер лота открытого ордера
double OpenPrice=OrderOpenPrice(); // Цена открытия открытого ордера
ticket=OrderSend(Symbol(),OP_SELLSTOP,LotSize*2,OpenPrice-DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на продажу в противополжну сторону до открытого ордера 
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lot,OpenPrice+TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в сторону продолжения до открытого ордера

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL) // Проверка на то что открытый ордер на продажу
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lot,OpenPrice-TP*Point,0,SL*Point,TP*Point,"",MAGIC,0,Red); // Открытие отложки на покупку в сторону продолжения до открытого ордера
ticket=OrderSend(Symbol(),OP_BUYSTOP,LotSize*2,OpenPrice+DS*Point,0,SL*Point,TP*Point,"",MAGIC,0,Blue); // Открытие отложки на покупку в противополжну сторону до открытого ордера
}
Esto es mejor.
Archivos adjuntos:
 
Sergstuddek:

No veo el problema de las órdenes pendientes en el código, sólo tengo que preguntar por qué.

En orden:

if(OrderSelect(CalculateCurrentOrders1(Symbol()),SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY) // Проверка на то что открытый ордер на покупку
int ticket;

OrderSelect tiene CalculateCurrentOrders1 fuera de rango, el máximo "POS" sería CalculateCurrentOrders1(Symbol())-1. La construcción if en sí misma: si se cumple la condición, ¿se declara una variable "ticket"? Es evidente que se necesita una llave en algún lugar. Ni siquiera puedo entender lo que estás tratando de hacer. Evidentemente estás al principio de un largo camino, podría haberlo escrito por ti, pero no tiene sentido este código, por lo que es una "curva de aprendizaje", por lo que quieres hacerlo tú mismo. Y con razón. Si tiene preguntas más específicas, estaremos encantados de ayudarle.

Yo también me confundí con tus paréntesis, así que arreglé el post.

 
prom18:

¿Puede sugerir un script o un EA para mostrar información en la pantalla (spread, nivel de stops, operaciones abiertas, beneficio en las operaciones, beneficio para hoy, etc.)? Gracias.

Todo, excepto la pantalla de propagación, está en las pestañas del terminal. Dudo que el guión lo muestre más claramente.

Y el spread en pips puede ser mostrado en un gráfico a través de una línea adicional en el EA:

Comentario((Oferta - Demanda) / Punto);

 
Sorento:

Estoy orgulloso de conocerte.

no es una pena tomarse el tiempo para masticar todo.

¡Así se hace!

Gracias.



Yo también.

sergeev - respeto y respeto)))

P.D. Perdón si me salgo un poco del tema))

 
Figar0:

En orden:

OrderSelect tiene CalculateCurrentOrders1 fuera de rango, el máximo "POS" sería CalculateCurrentOrders1(Symbol())-1. La construcción if en sí misma: si se cumple la condición, ¿se declara una variable "ticket"? Obviamente necesito llaves en algún lugar. Ni siquiera puedo entender lo que estás tratando de hacer. Evidentemente estás al principio de un largo camino, podría haberlo escrito por ti, pero no tiene sentido este código, por lo que es una "curva de aprendizaje", por lo que quieres hacerlo tú mismo. Y con razón. Si tiene preguntas más específicas, estaremos encantados de ayudarle.

Z.I. Yo mismo me confundí con tus paréntesis, he corregido el post.

Muchas gracias por señalar mi mensaje.

La idea es probablemente mucho más simple que mi código)))) La idea de este código es establecer las órdenes pendientes en relación con la última orden abierta, respectivamente en relación con el precio de apertura y el volumen de la última orden abierta.