Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1072

 
jarikn:
Gracias. Lo investigaré.

Y gracias, me has recordado un viejo sistema que solía funcionar en los beneficios. Tengo que tomar nota en mi tiempo libre y probarlo en el mercado actual.

 
jarikn:
Hola a todos. Soy nuevo en la programación.
Escribí un simple Asesor Experto y ahora necesito agregarle la siguiente condición.
Si una orden de compra activa un stop loss, entonces abrimos una orden de venta.
Por favor, ayuda con este código

Más opciones:

1. Al abrir la compra, coloque la orden SellStop al nivel del stop loss de la orden de compra. Entonces su deseo será cumplido por el servidor. Pero en situaciones excepcionalmente raras pero precisas y no :-)

2. No poner Stop Loss en absoluto, y poner SellStop de doble volumen. Esto también será procesado por el servidor rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).

Sin embargo, hay otro matiz: las órdenes de stop (y los stop loss, también) pueden no funcionar. Y esto es bastante frecuente.
Es decir, en un robot de "combate", todavía tenemos que comprobarlo dos veces.
Общие принципы - Торговые операции - Справка по MetaTrader 5
Общие принципы - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Перед тем как приступить к изучению торговых функций платформы, необходимо создать четкое представление об основных терминах: ордер, сделка и позиция. — это распоряжение брокерской компании купить или продать финансовый инструмент. Различают два основных типа ордеров: рыночный и отложенный. Помимо них существуют специальные ордера Тейк Профит...
 
Vladimir Simakov:

Escribe que no se puede inicializar una entidad wchar_t con un valor const char*

Si no lo entiendes, desgraciadamente, no tienes los conocimientos básicos del idioma. Es demasiado pronto para escribir una dll, especialmente para un lenguaje tan específico como mql. Empieza por lo básico.

No sé qué le aconsejan hacer. Nunca habrá un buen momento para este momento de aprendizaje de las bibliotecas, ya sea ahora o nunca.

 
Maxim Kuznetsov:

2. no poner un stop loss en absoluto, sino poner un SellStop de doble volumen. Esto también será manejado por el servidor y rápidamente. Al final del día o cuando se agota el margen, es necesario ejecutar algún UnLock, que cierra mutuamente las órdenes opuestas (CloseBy).

Deberíamos tener más cuidado con CloseBy ya que no todas las compañías de corretaje soportan esta característica.

 
No soy programador, así que no puedo resolver la pregunta más sencilla: cómo vincular la barra de cero a la hora, minutos :00, horas 00:,01:,02: etc. ¿Puede alguien darme una pista?
 
Creativ:
No soy programador, así que no puedo resolver la pregunta más sencilla: cómo vincular la barra de cero a la hora, minutos :00, horas 00:,01:,02: etc. ¿Puede alguien sugerirlo?

Hay una función para esto.

iTime(символ,таймфрейм, номер бара)

Devuelve la hora del bar.

 

Hola a todos. Chicos, por favor, ayuda. Soy nuevo en la programación.
Cómo lograr esto en el código MQL4.
Por ejemplo, pulsaré el botón A y aparecerá un cursor <Screenshot_2> en un gráfico como este.
En el Dibujar Rectángulo <Captura de pantalla_1> no hay tecla de acceso directo.Cómo conseguir esta función.

Captura de pantalla_1

Captura de pantalla_1

Captura de pantalla_2.

Captura de pantalla_2

Gracias.

 
chicos, ayudadme con el Asesor Experto, por favor. estoy harto de.... Parece que no puedo arreglarlo, sólo tiene errores.
Esta es la conclusión.
Funciona en el indicador de feria Tma.
1) Tan pronto como el precio esté por encima de la línea superior - se abre la orden de venta, el precio está por debajo de la línea inferior - se abre la orden de compra.
Lo hice todo, pero el punto es,
2) Tan pronto como he activado un stop loss se abre la misma orden ¿Cómo puedo solucionar este error?
3) ¡La orden no se cierra cuando el precio cruza la línea opuesta! Parece que funciona, pero no lo hace. Se cierra en el stop loss o en el take profit.

También me gustaría añadir una condición: si un Stop Loss se ha disparado para comprar, abrir una orden de venta. Creo que puedo manejarlo yo mismo. Sólo ayúdame a arreglar estos errores.
No sé qué hacer con él. Creo que debería hacerlo yo mismo).
Archivos adjuntos:
777.mq4  10 kb
TMA_Fair.mq4  9 kb
 

Por favor, ayuda con el cambio de compra a venta, ¡sólo estoy aprendiendo!

void OnTick()

{

MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1);

if(CountBuy() + CountSell() == 0 && Ask > MAprice)

{

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Print("¡Fallo al abrir una orden de compra!");

if(CountBuy()>=1)

{

precio = FindLastBuyPrice();

if((precio - Ask) >= paso*Punto)

{

if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)

Print("¡Fallo en la apertura de una orden de compra!)

}

}

if(CountBuy() + CountSell() == 0 && Bid < MAprice)

{

if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Print("¡Fallo en la apertura de la orden de venta!)

}

}

if(CountSell()>=1)

{

precio = FindLastSellPrice();

si((precio -Oferta) >= paso*Punto)

{

if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)

Print("¡Fallo en la apertura de la orden de venta!");

}

}

double op = CalculateProfit();

si(op>=beneficio)

{

CloseAll();

}

}


//+------------------------------------------------------------------+

void CloseAll()


o ¿dónde aprender?

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
 
Esta función no vincula la barra a la hora. Quiero Bar[0]=:00(minutos) o 01:00, 02:00 ...de cada día. Así, sólo cuando llegue un momento determinado, se calculará el algoritmo. El resto del tiempo el indicador descansa en mí.
Seric29:

Hay una función para esto.

Devuelve la hora del bar.