¡Pide! - página 147

 
AceFX:
Ben,

No puedo agradecer lo suficiente la rápida y útil respuesta. Tenías toda la razón y estoy un paso más cerca gracias a ella.

Tengo una pregunta más, sin embargo, tratando de añadir un punto de equilibrio en un nivel menor que el trailing stop, pero no he conseguido más allá:

extern bool UseBreak_Even = True;

extern int Break_Even = 20;

...

¿Alguna posibilidad de algún consejo aquí también?

¡Gracias de nuevo y cuídate!

-Ace

Hola, Breakeven es una función fácil, sólo tienes que entender lo que necesitas y luego podrás pensar en lo que escribes para que se cumpla.

1. Breakeven = mover el stoploss al precio de apertura de la orden cuando el stoploss está por debajo de la apertura (para comprar, por encima de la apertura para vender).

Para comprobar si está por debajo solemos usar esto: OrderStopLoss()<OrderOpenPrice()

2. Antes de pasar al breakeven hay que comprobar si las condiciones se cumplen. Yo uso algo como esto

if(bid>orderopenprice()+breakeven*point) move

3. Mover. Yo uso algo como esto

ordermodify(symbol(),bla-bla-bla,,,stoploss,takeprofit,0);

bla-bla-bla = conjunto de parámetros que no cambian para las órdenes abiertas como el precio de apertura de la orden (se puede cambiar para las órdenes pendientes)

stoploss = Yo suelo poner orderopenprice() aquí para que la orden se cierre a 0 pip de beneficio.

takeprofit = si no quieres que el TP cambie, simplemente pon OrderTakeProfit() (¡sensible a las mayúsculas y minúsculas!)

Espero que esto ayude y sí te deja hacer el trabajo a ti mismo.

Ah, y como encontrar la orden que desea modificar:

for(int i=0;i<=OrdersTotal();i++) {

if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) continue;

if(OrderSymbol()!=Symbol()) continue;

if(OrderMagicNumber!=MagicNumber) continue;

if(your-condition-here) your-action-here;

}

Esto debería hacer el trabajo muy bien este ciclo simplemente hace un ciclo a través de las órdenes y encuentra todas y cada una de las órdenes actualmente abiertas. Luego filtra las órdenes con diferente número mágico (tendrás que definir el número mágico primero) y aquellas con diferente símbolo(par de divisas).

Espero que esto ayude

nck

gracias pero el código es inútil sin los indicadores goldminer1 y goldminer2

Se adjunta el nuevo EA. No pude probarlo por razones obvias así que por favor no me culpen si no funciona como debería. Debería cerrar la orden existente cuando se recibe una nueva señal, pero podría haber un conflicto de señales porque se utilizan diferentes indicadores para la compra y la venta.

¡Que te diviertas con el nuevo EA!

Archivos adjuntos:
 

Tamaño de la operación por tick o barra en MT4

Hola,

Espero que alguien con un buen conocimiento del funcionamiento interno de MT4 pueda responder a mi pregunta y esta respuesta pueda beneficiar a todos: No encuentro en ningún sitio cómo obtener el tamaño de la operación por ticks entrantes o por barra. Esto parece ser una característica básica del mercado pero la función MarketInfo no la proporciona. ¿Es posible en MT4?

Gracias

 
atkfam:
Hola,

Espero que alguien con un buen conocimiento de los internos de MT4 pueda responder a mi pregunta y esta respuesta pueda beneficiar a todos: No puedo encontrar en ningún sitio cómo obtener el tamaño de la operación para los ticks entrantes o para una barra. Esto parece ser una característica básica del mercado pero la función MarketInfo no la proporciona. ¿Es posible en MT4?

Gracias

doble Volumen[]

Matriz de series que contiene los volúmenes de los ticks de cada barra del gráfico actual.

double iVolume( string symbol, int timeframe, int shift)

Devuelve el valor de Tick Volume para la barra del símbolo indicado con timeframe y shift. Si el historial local está vacío (no cargado), la función devuelve 0.

Para el gráfico actual, la información sobre los volúmenes de ticks de las barras está en el array predefinido llamado Volume[].

¿Es esto lo que está buscando? Los volúmenes se basan en el número de ticks recibidos durante la barra, pueden ser generados durante el back-test, difieren para cada broker. Me temo que no tienen mucho valor.

 

Tamaño de la operación por tick o barra en MT4

Shinigami,

Gracias por tu respuesta, pero estoy buscando el tamaño real de la operación asociada a cada tick. Cada tick parece ser una transacción de compra/venta y realmente me gustaría saber el tamaño real de dicha transacción. ¿Son 100 lotes estándar o 1 lote o microlote? Esto hace la diferencia.

 

Hola codificadores y compañeros comerciantes, tengo una pregunta pero más sobre la lógica .

Estoy (sin éxito) tratando de hacer un simple EA y espero que me ayude a hacer un siguiente paso.

Tengo un indicador personalizado ( 2MA CrossoverWithPrice ) y me gustaría hacer una compra cuando aparecen las flechas azules y vender cuando aparece la flecha roja.

Llamé al indicador con la función iCustom así:

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE);

y he compilado el EA y parece que todo está bien ya que me sale una alerta en el gráfico cuando lo adjunto (dice que el indicador personalizado está adjunto)

Lo que me molesta es que no sé qué hacer después, cómo decirle al EA que compre y venda porque el indicador crea 2 tipos de flechas.

¿Alguien me puede ayudar de alguna manera? ¿consejo o algo por favor?

 

Contexto comercial ocupado

Hola, ¿alguien conoce una forma de seguir enviando un cierre o una apertura a su corredor si sigue recibiendo la señal de contexto de comercio ocupado?

 

añadir niveles de MA a un indicador

Me temo que no puedo ayudar con las preguntas anteriores, ya que apuesto a que soy el más reciente programador wanabe aquí

¡He hecho con éxito (¡por fin!) mi primer indicador simple que simplemente coloca 4 EMAs en un gráfico - y se pueden ajustar WOW! Estoy muy contento.

Lo que me gustaría hacer ahora es tener la opción de añadir niveles a una o más de las EMAs. ¿Alguien sabe cómo hacer esto en el código? También es posible tenerlos como una variable externa - para poder variar los niveles - o para hacer esto tendría que ser otro parámetro?

Una vez que pueda descifrar esto, añadiré cosas booleanas para poder desactivar cada EMA - pequeños pasos a la vez. La teoría es, encontrar la EMA que mejor se ajuste y añadir niveles que muestren el rango (tal vez 2 niveles hacia arriba y dos hacia abajo).

Gracias de antemano,

Dave

 
willmalou:
Hola, ¿alguien sabe cómo seguir enviando una orden de cierre o de apertura a su broker si sigue recibiendo la señal de contexto comercial ocupado?

Tendrías que poner el ordersend en un bucle y comprobar la respuesta de tu broker. Si la respuesta es -1 envía la orden de nuevo. Tal vez quieras poner un ligero retraso antes de enviarla de nuevo usando la función Sleep.

Buena suerte

Lux

 
atomi50:
Hola coders y compañeros, tengo una pregunta pero más bien de lógica .

Estoy intentando (sin éxito) hacer un EA sencillo desde hace tiempo y espero que me ayudéis a dar un paso más.

Tengo un indicador personalizado ( 2MA CrossoverWithPrice ) y me gustaría hacer una compra cuando aparecen las flechas azules y vender cuando aparece la flecha roja.

Llamé al indicador con la función iCustom así:

iCustom(NULL,0, "2MA CrossoverWithPrice",0,0,CLR_NONE);

y he compilado el EA y parece que todo está bien ya que me sale una alerta en el gráfico cuando lo adjunto (dice que el indicador personalizado está adjunto)

Lo que me molesta es que no sé qué hacer después, cómo decirle al EA que compre y venda porque el indicador crea 2 tipos de flechas.

¿Alguien puede ayudarme de alguna manera? ¿consejo o algo por favor?

Pues para empezar estás utilizando el icustom de forma incorrecta. La última variable debería ser la barra que quieres comprobar, normalmente 0 o 1, o podría ser una variable. ¿No estás seguro de por qué estás enviando un color?

La penúltima variable es el buffer que estás tratando de devolver. Si sólo tiene las dos flechas yo supondría que los buffers 0 y 1. Así que lo que harías es comprobar si cualquiera de ellos está puesto a algo distinto de 0 o NULL, dependiendo del indicador. Tendrías que mirar el código del indicador para averiguar qué búfer está relacionado con qué flecha y luego usarlos en consecuencia.

Vuelve a leer sobre la función icustom.

Buena suerte

Lux

 

¿Realizar un cruce de MA de TF inferior en un gráfico de TF superior?

Hola,

Quiero saber cómo puedo trazar un cruce de MA en un gráfico de tiempo superior.

Por ejemplo, quiero trazar una flecha en el gráfico H1 cuando la MA5 y la MA10 de M15 se cruzan.

Por favor, hágamelo saber.

Gracias,

JForex.