Gogetter EA - página 3

 

¿has probado este EA?

 

Hola,

En mi prisa por darte algo en lo que trabajar, se me pasó algo obvio. Por favor, modifica tu línea de código que se ve así

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

a

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

Lo siento, ha sido un descuido. Se habría estropeado cuando se empezó a operar con varias divisas con el mismo EA y el mismo Magicnumber.

De todos modos, me alegro de que te vaya bien. Buen trabajo y te mereces todo el crédito.

 
Maji:
Hola,

En mi prisa por darte algo en lo que trabajar, se me pasó algo obvio. Por favor, modifique su línea de código que se parece a esto

if(OrderSymbol()==Symbol()||OrderMagicNumber()==MagicNumber)

a

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

Lo siento, ha sido un descuido. Se habría estropeado cuando se empezó a operar con varias monedas con el mismo EA y el mismo Magicnumber.

De todos modos, me alegro de que te vaya bien. Buen trabajo y te mereces todo el crédito.

eso me dio curiosidad pero me puse a ello...bien está lo que bien acaba...correcciones completadas. ahora me toca ver si puedo actualizar los GGs

 

GGlongs Build 1.05

Así está mejor.

Gracias a Maji una vez más por guiarme a través de la mejora de los métodos de conteo de órdenes múltiples y los problemas de manejo de órdenes múltiples / modificación, etc.

Esto utiliza una nueva función de trailing stop, así como la nueva función de conteo thruout.

También trabajé sobre Signal_2 que es lo que hizo la miniatura de gráfico adjunta abajo. Esa es la principal señal de tendencia. Todavía no he trabajado sobre la señal de contra-tendencia_1 todavía. Pero la señal_2 es aceptable con estos ajustes para la redistribución en el gráfico GBP/USD 5m.

En las pruebas de futuro, la versión anterior de GGlongs no pudo introducir una señal de compra clara esta mañana. Encontré al revisar la lógica de la señal en la v1.01 que realmente lo tenía todo mezclado peor de lo que pensaba. de todos modos el problema está resuelto... la v1.05 debería probar mucho mejor ahora que la v1.01. Pondré la v1.05 en el forward tester ahora junto a la v2.11 GGs que no ha recibido ninguna de estas nuevas características todavía.

Archivos adjuntos:
 

Me he dado cuenta de que en el gráfico sin modificar no está modificando nada... no está entrando en una nueva serie tras la última serie como siempre ha hecho antes... me pregunto por qué... ¿Cómo es posible que los cambios que he hecho hagan eso?

He descubierto que esto se debe a que he estropeado la lógica de la señal...misterio resuelto.

Archivos adjuntos:
 

Estoy confundido....

Esto es lo que funciona perfectamente en el GGl.....

int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop || OrderOpenPrice() - Bid >= 0) {

if(OrderStopLoss() < Bid - Point * TrailingStop || OrderStopLoss() == 0) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

} [/PHP]

so....

why doesn't this work in the GGs???

[PHP]int ModifyTrades()

{

int trade;

for(trade=OrdersTotal()-1;trade>=0;trade--)

{

OrderSelect(trade,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()!=Symbol()&&OrderMagicNumber()!=MagicNumber)

continue;

if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)

if(TrailingStopMode && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop || Ask - OrderOpenPrice() >= 0)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen); //etc.

}//for

}

}

}

}

como se puede ver en el informe adjunto no hay ningún 'modificar' sucediendo ... ... ahora que lo pienso ... Nunca he visto ninguna actividad de modificación de trailing stop en cualquiera de los informes de la versión GGs!! ¿Qué pasa con eso?

Archivos adjuntos:
ggs2.21.htm  149 kb
ggs2.21.gif  7 kb
 

Mi próximo reto de codificación...

Quiero añadir soporte y resistencia a la lógica de mi EA....

Esto funciona bien para devolver un valor para el más alto de un número especificado de barras...

//support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

Al centrarme en los GGs. Me doy cuenta de que en cada 145 barras en el gráfico de 30m. hay un alto más alto seguido de tres señales de venta contra tendencia. Defino una señal de venta en contra de la tendencia como cada vez que la 5ema cruza de arriba a abajo de la 18ema que ocurre por encima de la 150ema. Así que el patrón que veo es que hay un nuevo máximo seguido de señales de venta.

Además observo que la primera señal de venta después de un nuevo máximo no es muy productiva. La segunda suele ser más gratificante y la tercera, etc., es donde se producen los mayores movimientos.

Así que...

Dado que ahora puedo generar señales a medida para cada situación, quiero personalizar las señales para que se ejecuten en estos diferentes momentos, todo ello en relación con el nuevo máximo o el máximo del período actual de 145 barras.

Las señales que puedo manejar personalizar...

El reto va a ser localizar la señal de venta en contra de la tendencia en relación con el máximo del período actual de 145 bares, y contar cuántas veces esta señal ya ha ocurrido desde el máximo de ese período.

No estoy seguro de cómo contar las ocurrencias de la señal. Es decir, puedo contar en el gráfico, pero ¿cómo puedo hacer que el código haga el recuento?

 

¿Cómo puedo determinar cuántas barras atrás en la matriz desde el momento en que obtengo la señal de cruce de media móvil se produjo el máximo?

 

ok veo como obtener el arraymáximo y el arraymínimo...esto me da el número de barra en la que se produce el valor pero me lo da en términos de un número de barra en el gráfico...

si pudiera obtener el número de la barra en la que se produce el cruce de la media móvil podría restar los dos para ver cuántas barras atrás está el soporte o la resistencia desde la aparición de la señal...

¿Cómo puedo obtener el número de barra del gráfico cuando se produce la señal de cruce de medias móviles?

 
/support and resistance

double HIGH = High;

double LOW = Low[Lowest (NULL, 0, MODE_LOW, SupportBarsBack, LStartBack)];

//support and resistance location

int Hloc = ArrayMaximum(High);

int Lloc = ArrayMinimum(Low);

.

.

.

Print("Order Number: ",OrderTicket() ," ",ResistanceBarsBack," bars back resistance : ",HIGH," @bar",Hloc," & ",SupportBarsBack," bars back support : ",LOW," @bar",Lloc);

[/PHP]

this is what this code is giving me...

[PHP]2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 6 20 bars back resistance : 1.9284 @bar109 & 20 bars back support : 1.9204 @bar205

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9223

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #6 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.10 21:30 GoGetShorts-2.21x GBPUSD,M30: open #5 sell 0.05 GBPUSD at 1.9223 sl: 1.9270 tp: 1.9118 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 4 20 bars back resistance : 1.9224 @bar44 & 20 bars back support : 1.9114 @bar49

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9146

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #4 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.07 15:30 GoGetShorts-2.21x GBPUSD,M30: open #3 sell 0.05 GBPUSD at 1.9146 sl: 1.9193 tp: 1.9041 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: Order Number: 2 20 bars back resistance : 1.9186 @bar100 & 20 bars back support : 1.908 @bar15

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: SELL order opened : 1.9121

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #2 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

2006.07.19 15:27:54 2005.03.02 16:30 GoGetShorts-2.21x GBPUSD,M30: open #1 sell 0.05 GBPUSD at 1.9121 sl: 1.9168 tp: 1.9016 ok

¿Cómo puedo entender estos números de barra?

al menos las barras de soporte parecen algo secuenciales 15,49,205

¿Qué pasa con las barras de resistencia? 100,44,109?? por lo que vale la pena mirar en el gráfico de la primera barra de resistencia es en realidad el primero en la matriz de 20 valores no 100. ¿Como 1=100?

Así que de hecho las dos primeras órdenes se corresponden con el número de barra de soporte de 15 barras antes de la orden y si el 100 significaba 1 entonces la resistencia se produjo en la primera barra de la matriz de 20 barras.