Una pregunta para los conocedores de MQL - página 9

 

Lo diré de nuevo. Tal vez no me expresé correctamente. Todavía no he conseguido que los indicadores multidivisa funcionen correctamente. Siempre tengo que reiniciarlas. Aunque he probado diferentes variantes. Para eliminar el error de división por cero suele bastar con comprobar el error 4066. Si hay uno, salimos de la función

 
Gracias, Víctor. Lo investigaré más a fondo.
 

Buenas noches.

Tengo un problema.

El Asesor Experto abre una posición en cada barra. Luego los cierra cuando se ha alcanzado el beneficio total.

Necesito eliminar los bloqueos que aparecen por pares. Yo lo he hecho así (función de I.Kim):

 //Закрытие встречных позиций 
if ( NumberOfPositions(NULL, -1,Magic)>=2 ) {//если есть открытые позиции  
if (NumberOfPositions(NULL, OP_BUY,Magic)>=1 && NumberOfPositions(NULL,OP_SELL,Magic)>=1) { 
//если они разнонаправленные
if (NumberOfPositions(NULL,OP_BUY,Magic) == NumberOfPositions(NULL,OP_SELL,Magic)) {
//если имеет место лок, то закрываем :
                    ClosePosFirstProfit(NULL,OP_BUY, Magic);
                    ClosePosFirstProfit(NULL,OP_SELL, Magic);
                                         }}} 
                                         

Funciona. ¡Pero no es así como lo necesito!

Necesito eliminar las posiciones bloqueadas sólo si hay dos de ellas.

Y sólo estos dos bloqueos deben ser eliminados (es decir, cuatro posiciones abiertas - dos de compra y dos de venta).

¡Y todos los demás (si los hay) deben permanecer! (¡así es como debe ser!)

No sé cómo hacerlo. Por favor, ¡dime cómo hacerlo!

 
Rita:

¿Se puede escribir en un macive y comparar allí? O en global...

Aquí, podría ayudar.

https://www.mql5.com/ru/articles/1404/page2#4494

https://www.mql5.com/ru/articles/1390

además

https://www.mql5.com/ru/forum/118082

 

Ayúdame a entender por qué aparecen estos resultados...

SímboloEURUSD (Euro vs. Dólar)
Periodo1 Hora (H1) 2010.01.15 00:00 - 2011.01.14 22:00 (2010.01.15 - 2011.01.15)
ModeloPuntos de control (un método muy burdo, los resultados no deben ser considerados)
ParámetrosMagic=212121; Slippage=5; StopLoss=5; MoneyMangement=true; Lots=0.01; MaximumRisk=0.5; Trailing=true; TrailingStop=5; TrailingStep=1; OrderComent="GT2";
Barras en prueba7201Garrapatas modeladas147186Calidad de los modelosn/a
Errores en los gráficos1
Depósito inicial100.00
Beneficio neto total200349932.50Beneficio bruto512930503.80Pérdida bruta-312580571.30
Factor de beneficio1.64Remuneración esperada10561.97
Reducción absoluta0.30Reducción máxima5134616.80 (2.83%)Reducción relativa9.63% (90.27)
Total de operaciones18969Posiciones cortas (% de ganancias)9692 (35.21%)Posiciones largas (% de ganancias)9277 (36.26%)
Operaciones con beneficios (% del total)6777 (35.73%)Operaciones con pérdidas (% del total)12192 (64.27%)
El más grandecomercio de beneficios2473457.50comercio de pérdidas-495931.50
Mediacomercio de beneficios75686.96comercio de pérdidas-25638.17
Máximovictorias consecutivas (beneficio en dinero)8 (2665.30)pérdidas consecutivas (pérdida de dinero)13 (-7661.02)
Máximabeneficio consecutivo (recuento de victorias)6483225.00 (5)pérdida consecutiva (recuento de pérdidas)-3760440.00 (8)
Mediavictorias consecutivas1pérdidas consecutivas3

Archivos adjuntos:
gt2_2.mq4  5 kb
 
rustein:

Ayúdame a entender por qué aparecen estos resultados...

¿Qué es exactamente lo que no está claro?
 
rustein:

Ayúdame a entender por qué aparecen estos resultados...

1. su historial no está cargado

2. Para esta TF se necesita una prueba al menos en todas las garrapatas

Aquí está el gráfico correcto.


Y, de hecho, está utilizando el principio de modelado de garrapatas del probador. Así que no hay ninguna sorpresa.

 
MetaDriver:
¿Qué no está claro?
Pensé que la pregunta era clara... ¿Por qué es posible que el probador tenga ese grial, o hay un error en el EA?
 
rustein:
Pensé que la pregunta era clara... ¿Por qué es posible hacer tal grial en el probador, o hay un error en el Asesor Experto?

Porque el probador simula esta forma.

esa es su especialidad.

y lo usas. Se cierra y se abre en cada tick. pero el stoploop es menor que el movimiento mínimo del tick en los puntos de control.

Por eso se extrae el beneficio.

No tiene nada en común con la realidad.

 
sergeev:

porque así es como simula el probador.

Esa es su peculiaridad.

Gracias, sé que se filtra en los ticks, qué simula exactamente el probador y cómo, no hay indicadores... ¿Por qué necesita garrapatas?

Puedes poner un stop a 50 pips (4 dígitos), también será un grial por los puntos de control....

Razón de la queja: