[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 95

 
dixi:

MetaEditor dejó de funcionar después de reinstalar el terminal. Sólo funciona si no se cambia nada en el código del indicador. Si se cambia algo, incluso el color de la línea, se genera un error:

El sistema operativo es Windows 7. Quizá alguien se haya enfrentado a un fallo similar. ¿Puede decirme qué hacer?


En primer lugar, vaya a las propiedades del terminal y en la pestaña "Compatibilidad" marque "Ejecutar como administrador". En segundo lugar, haz lo mismo con el archivo que lanza el editor de código. El archivo es MetaEditor.exe. En tercer lugar, personaliza tu sistema operativo. El último punto es bastante rápido si sabes exactamente lo que necesitas.
 
demlin:

¡Saludos a todos!

Por favor, ayúdenme con este problema: no consigo que el indicador se redibuje con la aparición de una nueva barra (intervalo D). П

Tengo que reiniciarlo manualmente.


La línea 44 es absolutamente innecesaria. La llamada a la función de recálculo de velas no calculadas devolverá todas ellas. Además, en el código de la función de inicio, la llamada a la misma función (línea 64) debería, en teoría, devolver cero. Presta atención a esto. Ha llegado un nuevo día (una nueva vela). no está claro lo que está pasando - el indicador se cortó ayer y se reinició hoy, o está probando en el probador? El reinicio activará la función de inicialización y, a continuación, se iniciará el arranque. El inicio no redibujará nada, pues ya hemos llamado a las barras no calculadas al inicio. Si en el probador, puede ser redibujado.

 
FxPro2:
Hola a todos. Me he encontrado con un viejo experto que trabaja con el indicador asctrend. Me gustaría comprobar cómo se comporta este indicador en tiempo real, pero no siempre puedo seguir los puntos y mi trading no es completo. He comprobado el probador, hay una señal en cada punto, pero lo puso en una demo y se dio cuenta de que la demo se salta las señales, mientras que el registro no escribió nada al experto, la excavación en el código y no entendía lo que el problema :( tal vez alguien meter la nariz en lo que puede ser el problema?

El problema es que no entiendes el código que estás usando. El problema es que tienes una ametralladora en la mano y por alguna razón no siempre dispara. ¿No sería mejor hacerse con un dispositivo del que se entiende todo? А?
 
drknn:

En primer lugar, vaya a las propiedades del terminal y en la pestaña Compatibilidad marque la casilla "Ejecutar como administrador". En segundo lugar, haz lo mismo con el archivo que lanza el editor de código. El archivo es MetaEditor.exe. En tercer lugar, personaliza tu sistema operativo. El último punto es bastante fácil de resolver, si sabes lo que quieres.
Gracias. ¡¡¡Lo tengo!!! :)))
 
Dimka-novitsek:

if (NormalizeDouble(OrderClosePrice()-OrderTakeProfit(), Digits)<0.5*Point)

Es que la variante sin NormalizeDouble no es tan fiable cuando se compara con el cero. Aquí funciona.


No se trata de ND. Punto es el tamaño de un punto; multipliquémoslo por cero cinco, será 0.00005 por ejemplo; no veo ninguna razón para comparar este número con OrderClosePrice()-OrderTakeProfit(). El TP no garantiza exactamente el mismo precio de cierre. Además, las condiciones de control serán diferentes para Bais y Selves.

if(OrderType() == OP_SELL)
       {
        if( NormalizeDouble(OrderTakeProfit()-OrderClosePrice(),Digits) >= 0
          && OrderTakeProfit() != 0)    

Este diseño es más fiable.

 
drknn:

La pega es que no entiendes el código que estás utilizando. El problema es que has cogido una ametralladora y por alguna razón no siempre dispara. ¿No sería mejor hacerse con un aparato del que se entiende todo? А?
Tal vez. Pero tus dos últimos posts no hacen más que moralizar, y harías mejor en apuntar a la idea correcta. Si no tienes ese deseo, ¿por qué escribir cosas innecesarias? No he obligado a nadie a ayudarme, si no hay ganas, no me ofenderé, el trabajo es difícil, lo entiendo perfectamente.
 
drknn:
¡Ustedes con los códigos largos! Quiero reiterar que el código de otra persona es, en primer lugar, un criptograma, ¡que aún está por descifrar! ¿Y eso es mucho trabajo? ¿Crees que algún programador quiere rebuscar en kilómetros de listados? Permítanme dar mi código a uno de ustedes sólo para tres mil líneas y pedir para eliminar un pequeño malentendido de este código. ¿Crees que sólo quieres meterte en mi cabeza? Lo vuelvo a dudar. Así que tengo una petición para usted: cuando formule una pregunta clave, describa el problema lo más brevemente posible y, al mismo tiempo, haga que la descripción sea suficiente para comprender su esencia. Si no, tu grito es un grito en el vacío. El código se puede adjuntar al correo. Todo esto es necesario y suficiente.

Estoy completamente de acuerdo con usted.


FxPro2:

drknn:

La pega es que no entiendes el código que estás usando. La pega es que has cogido una ametralladora y por alguna razón no siempre dispara. ¿No sería mejor hacerse con un aparato del que se entiende todo? А?
Tal vez. Sólo tus dos últimos posts no han ido a ninguna parte, sólo a moralizar, o mejor aún, a señalar la idea correcta. Si no tienes ese deseo, ¿por qué escribir cosas innecesarias? No he obligado a nadie a ayudarme, si no hay ganas, no me ofenderé, el trabajo es difícil, lo entiendo perfectamente.

Pero realmente no entiendes el código que diste antes, ¿verdad?

 

¡¡¡Hola a todos!!! Ayuda plz, sólo aprender a escribir, peredomnoy tiene este problema, no puedo escribir el código para aumentar el tamaño del lote por un determinado paso dado en el prametrov, revisó un montón de asesores y fue capaz de resolver, tengo que aumentar el lote, sólo en función del margen. Por favor, aconsejen dónde buscar, y ya tengo la cabeza rota. Ya tengo la cabeza hecha un lío. ¡Gracias!

 
SeALALex:

¡¡¡Hola a todos!!! Ayuda plz, sólo aprender a escribir, peredomnoy tiene este problema, no puedo escribir el código para aumentar el tamaño del lote por un determinado paso dado en el prametrov, revisó un montón de asesores y fue capaz de resolver, tengo que aumentar el lote, sólo en función del margen. Por favor, aconsejen dónde buscar, y ya tengo la cabeza rota. Ya tengo la cabeza hecha un lío. ¡Gracias!

Muestre su código con la condición, después de la cual necesita aumentar el lote en un determinado paso, establecido en los parámetros, y cómo trató de implementar esto.
 
Болк открытия на бай
if(Buy==true) 
  {Buy=false;

   ticket=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask, Digits),5,SL,TP,Order,070177,0,Orange);
   if(ticket>0)
    { 
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) 
      {Print("BUY order opened : ",OrderOpenPrice());
       Alert("Buy Order for ",Symbol());
       SendMail("Buy Order "+Symbol()+" "+Ask,SL);     
       }
     }
     else Print("Error opening BUY order : ",GetLastError()); 
     return(0); 
   }

Умножение лота в зависимости от маржи нашел в советнике, 
код вставил работает вот только в советнике он увеличивает на определенный шаг, у меня просто в %-ом соотношении

double LotSize() 
  
   {
   double lots_0;
   if (MicroLots == FALSE) {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 1);
      if (lots_0 < 0.1) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 1);
      if (lots_0 >= 100.0) lots_0 = 100;
   } else {
      lots_0 = NormalizeDouble(AccountFreeMargin() * RiskPercent / 1000.0, 2);
      if (lots_0 < 0.01) lots_0 = Lots;
      if (lots_0 >= 1.0) lots_0 = NormalizeDouble(lots_0, 2);
      if (lots_0 >= 100.0) lots_0 = 100;
   }
   return (lots_0);
}
Es así