Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 204

 
Vinin:

Deberíamos arreglar la lógica por completo.

Lo siento, pero no estoy seguro de a qué te refieres con mi lógica cuando dices que hay que arreglarla.

Lo que es ilógico en mi idea

- si la orden se cierra en el stop

-El siguiente después de esta orden para abrir una orden con un volumen igual al volumen de la última orden que cerró en el stop multiplicado por 2(3,4...)

- si la orden se cierra por un motivo distinto a un stop.

la siguiente orden para abrir un volumen regular, por ejemplo 0,1 lote.

 
solnce600:

Lo que es ilógico en mi idea

Bueno, aquí tiene sentido, sólo que no es su idea.
 
tara:


Definitivamente con una lógica equivocada. En primer lugar, traduzca el fragmento resaltado de su mensaje al ruso.

A continuación, elimine las secuencias de operadores condicionales de su código. Y entonces llegarás al mago y la vida mejorará.

Estoy de acuerdo en que el fragmento asignado no está del todo claro ni siquiera para mí.Sólo entiendo que los compañeros mayores quieren decir que mi error de alguna manera

relacionado con los números mágicos de los pedidos..... cómo exactamente no lo he entendido todavía.

P. ¿La lógica incorrecta está relacionada con los números mágicos de las órdenes?

PREGUNTA: ¿De qué parte del código se eliminan las secuencias de operadores condicionales? Desde starta, o desde el cuerpo de la función personalizada isCloseLastPosByStop

P. Si las elimino, ¿qué información obtendré después?

Gracias.

 
tara:
Bueno, aquí tiene sentido, excepto que no es tuyo (la idea).

No estoy discutiendo eso.....-mi idea en el sentido de que también me vino a la cabeza....y por supuesto al Sr. Martingale se le ocurrió originalmente
 
solnce600:

Estoy de acuerdo en que el fragmento resaltado no está del todo claro ni siquiera para mí.Sólo entiendo que los compañeros mayores quieren decir que mi error de alguna manera

está relacionado de alguna manera con los números mágicos de los pedidos..... cómo exactamente no lo he entendido todavía.

P. ¿La lógica incorrecta está relacionada con los números mágicos de las órdenes?

PREGUNTA Elimine las secuencias de sentencias condicionales ¿de qué parte del código? Desde starta, o desde el cuerpo de la función personalizada isCloseLastPosByStop

PREGUNTA Si los quito - qué información obtendré después.

Gracias.


Andrey, el término "lógica" significa aquí lo que se describe en el código. Personalmente no quiero entender todos los detalles de tu código, pero viendo la secuencia if(A) if(B) if(C) D; entiendo que no eres muy bueno en álgebra lógica. Por cierto, el intérprete bien puede fallar ante tales construcciones.
 
tara:


Definitivamente con una lógica defectuosa. Para empezar, traduce el fragmento destacado de tu post al ruso.

A continuación, elimine las secuencias de operadores condicionales de su código. Y entonces llegarás al mago y la vida mejorará.

En este post dices que mi lógica es errónea, y en varios posts más abajo estás de acuerdo con esta lógica....

 
solnce600:

En este post dices que mi lógica es errónea, y unos pocos posts después estás de acuerdo con esa lógica....




Un buen hombre dijo una vez: el orden libera la mente.

Tu código es un desastre, por lo que tu mente no es libre.

 
tara:

Andrew, por "lógica" aquí nos referimos a lo que se describe en el código. Personalmente no quiero entrar en detalles de todo tu código, pero viendo la secuencia if(A) if(B) if(C) D; entiendo que no eres muy bueno en álgebra lógica. Por cierto, el intérprete bien puede fallar ante tales construcciones.

Entonces, ¿no es bueno que haya tantas sentencias if seguidas?

if (ot==0)
if (Bid==Price)
//===============================================================
if(((Open[1]-Close[1])>100*Point)&&((Open[1]-Close[1])<120*Point))
if(((High[1]-Open[1])>40*Point)&&((High[1]-Open[1])<60*Point))

if(((Close[1]-Low[1])>40*Point)&&((Close[1]-Low[1])<60*Point))

o

for (i=k; i>=0; i--) {
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) {
if (OrderMagicNumber()!=mn) continue; // si el mago se equivoca, pasa al siguiente
if (OrderSymbol()!=sy) continue; // si el símbolo es incorrecto, pasa al siguiente
if (OrderType()!=op) continue; // si el tipo es incorrecto, pasa al siguiente
if (t<OrderCloseTime()) {
t=OrderCloseTime();
j=i;
}
}
}

 
tara:


Un buen hombre dijo una vez: el orden libera la mente.

Tu código es un desastre, por eso la mente no es libre.

¿Y cuáles son los criterios de orden aplicados al código?
 

solnce600:

Por supuesto, la primera construcción es defectuosa y puede perturbar al intérprete.

Además, el magik es un número entero, no un doble.

Además, una comparación estricta de los doblajes es un rastrillo.

... ... ...

Poner las cosas en orden, no ser perezoso para escribir comentarios, sobre todo porque todavía no tienes experiencia.

Pruebe el código leyendo y ejecutándolo usted mismo, en lugar del intérprete, por fin.