10 puntos 3.mq4 - página 92

 

Hola yeoeleven,

Gracias por tu respuesta y tus consejos.

Los seguiré

 
forex4syg:
Parece que hay un error en Jugulator para el cálculo de ActualOrders.

En mi prueba, sólo se abrió una posición para GBPJPYm en algún momento. Se cerró debido a ConfirmedOrders=1 y ActualOrders=2.

No estoy seguro de dónde viene este problema. En el código, ActualOrders parece que siempre aumenta en 1 cuando se envía una orden. Si el SendOrder falla (debido a varias razones), ActualOrders seguiría aumentando en 1. Tal vez, es mejor comprobar el error de SendOrder. Si no hay error, entonces ActualOrders se incrementa en 1.

Gracias.

Esto debería ser arreglado aquí (Página 89, post 890, Jugulator.zip). Hay una nueva variable en el EA que se establece con el número de orden. Si la orden falla no debería haber un número de orden y el código lo comprueba antes de incrementar la variable ActualOrders.

void OrdenNecesitaApertura() {

/Preservar el valor antes de cambiarlo

double TempActualLotSize = ActualLotSize;

//Aumentar el tamaño del lote

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

/¿Intentamos ir en largo?

if (OrderDirection == 1) {

//Establece el Take Profit y abre una orden Larga

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue);

}

/¿Estamos tratando de ir en corto?

else if (OrderDirection == 2) {

//Establece el Take Profit y abre una orden de venta

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//Si el pedido se ha realizado será mayor que 0

if (LastTicket > 0) {

ActualOrders++;

}

//El pedido ha fallado por lo que hay que volver a poner el valor

else {

ActualLotSize = TempActualLotSize;

}

}

El código que estás utilizando refleja este cambio porque esto es lo que estoy ejecutando y no tengo ningún problema en abrir múltiples órdenes y que se cierren cuando deberían TP o SL. Ten en cuenta que este tipo de cambio también está en otras áreas del código por lo que copiar y pegar sólo esta sección no arreglará el problema.

 

Resultados del Jugulator H4

Aquí están los resultados de 0,10 y 0,01 de esta mañana.

 

Resultados del Jugulator H4

Aquí están los resultados de 0.10 y 0.01 para esta mañana a las 10am EST después de varias noticias importantes.

La cuenta 0.01 subió 268,94 dólares

La cuenta de 0,10 subió 1.912,44 dólares

 

10points3 Dynamic Stop

Cerrado para la semana 10points3 Dynamic Stop. Cerrando los pares a medida que se van obteniendo beneficios. Ajustes publicados anteriormente

Una buena semana en general.

Todavía estoy esperando que el USDJPY retroceda antes de cerrar el Jugulator.

John

Archivos adjuntos:
 

Jugulator1.1

Continuando con los ajustes en el post #891 y los resultados anteriores en el post #898. Aquí está la declaración detallada después del cierre de la semana.

Miraré los ajustes antes de la apertura del lunes, probablemente para usarlos más cerca de los de Matt, ya que son claramente mejores que los míos.

John

Archivos adjuntos:
jug4.htm  67 kb
jug4.gif  6 kb
 
mtaboneweb:
Eso debería estar arreglado aquí (Página 89, post 890, Jugulator.zip). Hay una nueva variable en el EA que se establece con el número de orden. Si la orden falla no debería haber un número de orden y el código comprueba eso antes de incrementar la variable ActualOrders.

void OrdenNecesitaApertura() {

/Preservar el valor antes de cambiarlo

double TempActualLotSize = ActualLotSize;

//Aumentar el tamaño del lote

ActualLotSize = NormalizeDouble(ActualLotSize * LotsIncreaseBy, LotPrecision);

/¿Intentamos ir en largo?

if (OrderDirection == 1) {

//Establece el Take Profit y abre una orden Larga

ActualTP = Ask + (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_BUY, ActualLotSize, Ask, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Blue);

}

/¿Estamos tratando de ir en corto?

else if (OrderDirection == 2) {

//Establece el Take Profit y abre una orden de venta

ActualTP = Bid - (TakeProfit * Point);

LastTicket = OrderSend(Symbol(), OP_SELL, ActualLotSize, Bid, OrderSlippage, ActualSL, ActualTP, "Order" + (ActualOrders + 1), Magic, 0, Red);

}

//Si el pedido se ha realizado será mayor que 0

if (LastTicket > 0) {

ActualOrders++;

}

//El pedido ha fallado por lo que hay que volver a poner el valor

else {

ActualLotSize = TempActualLotSize;

}

}

El código que estás usando refleja este cambio porque esto es lo que estoy ejecutando y no tengo ningún problema al abrir múltiples órdenes y que se cierren cuando deberían TP o SL. Tenga en cuenta que este tipo de cambio es también en otras áreas del código para copiar y pegar esta sección por sí sola no va a solucionar el problema.

La versión que estoy probando no contiene el cambio anterior. Utilizaré la versión más reciente. ¡Gracias mtaboneweb!

 
yeoeleven:
Sigo probando el 10points3 Dynamic Stop y sigo obteniendo buenos resultados.

Ayer eliminé el GBPUSD en un esfuerzo por hacer que este EA sea seguro para las cuentas pequeñas, probablemente reduzca la rentabilidad pero espero que aumente la seguridad.

John

¿Sigue utilizando el Stop Dinámico original de 10 puntos3 que está en la página 18?

Gracias

 

10points3 Dynamic Stop

hawkv:
¿Sigues utilizando el 10points3 Dynamic Stop original que está en la página 18?

Sí, esa es la versión que sigo probando junto con Goblin y Jugulator. Todavía se mantiene bien con esos EAs que se desarrollaron a partir de ella.

John

 

tf

1. Esperar en la barra: Ahora mismo, el EA abre nuevas órdenes en un ciclo de niveles de pips consistentes. Un enfoque alternativo sería asegurar que las nuevas órdenes no se abran en la misma barra. Así, si tiene un movimiento muy grande, el EA esperaría hasta el cierre de la barra, reevaluaría la tendencia, y luego colocaría otra orden en el ciclo si el valor del pip es mayor que el especificado en la configuración de pips del EA.

.1 - .2 - .3 - .5 - .8 - 1.3 - 2.1 - 4.4 - 6.5 - etc.

esto fue posteado por stockwet en el hilo de goblin. idea muy interesante pero en vez de retomar donde las ordenes lo dejaron, salta las ordenes que fueron pasadas y va con el siguiente incremento, Asi que si el precio se movió hacia arriba rapidamente, usted solo tiene perdidas en lo que tiene en el tablero.Digamos que despues de 3 incrementos de precio el precio sube 40 pips en la barra de 15 min. Cuando la barra está completa, el EA comprueba para ver qué orden # debe ser implementado y comienza a partir de ahí con el número correcto de lotes. así que la orden # 4 podría terminar siendo en realidad 2,1 lotes en lugar de 0,5 lotes. De esta manera sus 2.1 lotes podrían compensar las pérdidas que la siguiente orden normal (.5), no podría si se iniciara en ese punto particular del precio. su orden de 2.1 lotes ahora se convierte en la orden # 4 y progresa desde allí. Esto no cortaría las pérdidas si la progresión llegara a 10, pero permitiría que la progresión llegara más lejos antes de cerrarse permitiéndole así una mejor oportunidad de recuperar. O las operaciones podrían cerrarse si se determinara que la tendencia ha cambiado por una pérdida menor de la que se habría producido normalmente. ¿Sería esta una idea factible?