[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 609

 
lottamer:
por favor, avise... qué demonios... en su forma original (sinPlaySound("alert.wav");) - funciona. Pero si además de la asignación de la bandera se añade alguna acción (reproducir música por ejemplo) ... entonces las banderas se imprimen a 0000 y la música se reproduce a toda velocidad! por favor, dígame dónde está el error?

Por suerte para el ordenador, es férreo. La gente se vuelve loca si tiene que cumplir condiciones contradictorias. Con sus condiciones, la música siempre sonará.
 
rigonich:

Por suerte para el ordenador, es férreo. La gente, si tiene que cumplir condiciones contradictorias, se vuelve loca. Con sus condiciones, la música siempre sonará.

Por favor, muéstrame el error! Puedo escuchar que siempre está sonando... pero no sé dónde me equivoqué?
 

¡Buenas tardes! Por favor, ayúdenme con la modificación de la orden, es decir, el ciclo de selección de la orden para su condición. Primero encuentro una orden activada en TakeProfit, es una orden específica con el ticket tacket. Así, el bucle falla aproximadamente una de cada diez veces, lo que se indica por la diferencia de líneas verdes y azules en el probador. Y la visualización - el stop loss a veces no se mueve.

En general, ¡ayuda, por favor!

//***************************************   
 
 bool nahodka=false;
 
 for (i=0; i<=OrdersHistoryTotal(); i++) {
 if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
 if (OrderSymbol()!=Symbol())continue; 
 if (OrderMagicNumber() != 450) continue; 
 if (tacket==OrderTicket()) {
 if (OrderTakeProfit( )-3*Point<profit&&OrderTakeProfit( )+3*Point>profit) nahodka=true;}}     // Находим ордер, сработавший именно по тейкпрофиту 
 
 
  
 if(nahodka){if (OrderSelect(tucket,SELECT_BY_TICKET)){
 if(OrderStopLoss( )<Bid-treylingstop*Point ){ Print ("втораямодифи    " );
 OrderModify(  tucket, OrderOpenPrice(), Bid-treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}}
 if (BUY == 0) {perenos=false;srabotka=false;nahodka=false;} 
 
 
 //*************************************** 
 
 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
 
 
rigonich:

Por suerte para el ordenador, es férreo. La gente, si tiene que cumplir condiciones contradictorias, se vuelve loca. Con sus condiciones, la música siempre sonará.
Mosk ha "fluido" en los dedos que sólo están golpeando "¡Ayuda!"...
 
Selecciono las órdenes, por supuesto, en la historia. ¿Podría ser que la forma esté de alguna manera equivocada aquí también?
 
TarasBY:
Mosk ha "fluido" en los dedos que sólo están golpeando "¡Ayuda!"...

post muy útil....muchas gracias...voy a lavarme los dedos...
 
lottamer:
Por favor, avise... qué demonios... en su forma original (sinPlaySound("alert.wav");) - funciona. Pero si además de la asignación de la bandera se añade alguna acción (reproducir música por ejemplo) ... entonces las banderas se imprimen a 0000 y la música se reproduce a toda velocidad! Por favor, dígame dónde está el error?


¿Qué es este código? ??????? !!!!!?? Poner un paréntesis grande justo después de los paréntesis pequeños de las condiciones del operador if. Si no es así, es posible que .... . O escriba otra condición if que involucre a sus banderas, de lo contrario qué están ahí también. ¿Qué hacen?

En definitiva, ¡necesitas un descanso!

 

TarasBY,

Var1 y otros nombrados como yo, insertado el bloque fGet_MineGV() dentro de init y el bloque fSave_MineGV() dentro de staft.

Al compilar, el EA daba un montón de errores.

Lo probé uno por uno. Primero lo inserté dentro de init y luego lo compilé. Hay 0 errores, una observación: no está referenciada y será eliminada de exp-file. Bueno, para mí tiene sentido, no puede encontrar el archivo, porque todavía no existe. Tiene que estar escrito dentro del pentagrama.

Así, cuando intento escribir el segundo bloque dentro del staft, da muchos errores.

 
lottamer:

por favor, avise... qué demonios... en su forma original (sinPlaySound("alert.wav");) - funciona. Pero si además de la bandera de destino se añade alguna acción (reproducir música, por ejemplo) ... entonces las banderas se imprimen a 0000 y la música se reproduce a toda velocidad! Por favor, dígame dónde está el error?

if(Stoch_1>Stoch_2) flag1=1 ;  
      {Print (flag1,flag2,flag3,flag4);
      
if(Stoch_1<Stoch_2 && flag1==1) flag2=1;
      {Print (flag1,flag2,flag3,flag4);

if ((Stoch_1>Stoch_2) && flag1==1 && flag2==1) flag3=1; 
      {Print (flag1,flag2,flag3,flag4)

¿Por qué comparas lo mismo tantas veces seguidas?
 

if(Stoch_1>Stoch_2) { flag1=1 ; Print (flag1,flag2,flag3,flag4); }


if(Stoch_1<Stoch_2 && flag1==1) flag2=1 ; Print (flag1,flag2,flag3,flag4); }

if ((Stoch_1>Stoch_2) && flag1==1 && flag2==1) {flag3=1; Print (flag1,flag2,flag3,flag4);PlaySound("alert.wav");}


if(Stoch_1<Stoch_2 && flag1==1 && flag2==1 && flag3==1) flag4=1;
{Imprimir (flag1,flag2,flag3,flag4);}
if(Stoch_1>Stoch_2 && flag1==1 && flag2==1 && flag3==1 && flag4==1)
{OrderSend (Symbol( ), OP_SELL, 0.01 ,Bid, 0, 0, 0, NULL, 450, 0, CLR_NONE);
Print ("OUT");}



flag1=0;
flag2=0;
flag3=0;
flag4=0;

Entendiendo que vas a aprender y por aprender escribes algo... Por lo menos, he dispuesto sus paréntesis de tal manera que juegan un papel, en mi opinión.

Razón de la queja: