Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 452

 
Artyom Trishkin:

Oh, ingenuo, ¿dónde escribí sobre un error?

Y esta es la forma de resolver el asunto: mal, estúpida y con un presupuesto reducido. Y no saltes también, por favor, y mejor dedícate a la autoeducación en la creación de algoritmos, para que la gente no atiborre de mierda en lugar de un algoritmo normal. De lo contrario, florecerán las mismas chapuzas. Sin embargo, lo que usted mismo debe ser - es su negocio, y no me importa, pero ¿por qué llevar a otros a la estupidez? Sobre todo porque el hombre pidió ayuda y tú le diste una mierda.

La pregunta era ¿qué? Resuélvelo. Considero que seguir discutiendo es una pérdida de tiempo.

¿Tengo que escribir el código de búsqueda de la ventana del indicador, y luego cómo calcular el RSI?

Escríbalo usted mismo de forma gratuita.

Este es un recurso lo suficientemente genial como para hacer frente a tal tarea, sobre todo porque he mostrado el camino.

 
Karputov Vladimir:
Ahora puedes hacer preguntas sobre el código: GlobalVariable

Todavía no estoy preparado para precipitarme en las preguntas, tengo que darme cuenta. Encontré otra solución por ahora.

La pregunta es si el objeto Etiqueta o Texto tiene un límite de caracteres. Porque sólo tengo unos 50, que no son suficientes.

 
Hola. No consigo que el robot envíe órdenes. Quiero entender lo que está mal, pero cuando presiono el botón de depuración - el panel en la parte inferior del monitor, donde se supone que debo comprobar los valores de las estructuras de las variables y las matrices - está bloqueado. No puedo comprobar nada. Sólo he depurado scripts antes. ¿Cuál es el problema? Sugerencia)
 

Quiero hacer un indicador. No dibuja nada, toma otro indicador como el MACD o el estocástico o uno personalizado del mismo tipo, y da un pitido y una ventana emergente cuando la línea del indicador cruza cualquier nivel significativo.

No soy capaz de escribir un indicador desde cero (sólo puedo modificar los existentes), si alguien piensa qué añadir o quitar, se lo agradecería. El código es muy corto :) Esto es lo que tengo hasta ahora:

string Name = "НазваниеИндикатора";

double Porog = 0;              //уровень, по пересечении которого подается сигнал

int NomerBufera = 0;           //номер буфера, который пересекает искомый уровень

double Znacheniye[];


int init()                  // это ваще надо? :)

  {

   return(0);   

  }


int start()

  {

   int limit;

   int counted_bars=IndicatorCounted();

   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++)

 

Znacheniye[i] = iCustom(NULL,0,"Name",NomerBufera,0) ; //"Name" или просто Name?

 

if (  (Znacheniye[i] > Porog &&  Znacheniye[i+1]< Porog) || (Znacheniye[i] < Porog &&  Znacheniye[i+1]> Porog)   )

 {

Alert("Что-то наклевывается!", Symbol());

PlaySound ("Alert.wav "); 

}

}


¡Gracias de antemano si alguien responde!

 
Hola. No consigo que el robot envíe órdenes. Quiero entender lo que está mal, pero cuando presiono el botón de depuración - el panel en la parte inferior del monitor, donde se supone que debo comprobar los valores de las estructuras de las variables y las matrices - está bloqueado. No puedo comprobar nada. Sólo he depurado scripts antes. ¿Cuál es el problema? (Por favor, avise)
Ponga al menos un punto de interrupción en su código. Después de eso empieza a depurar.
 
Hola. He escrito un Asesor Experto, que abre operaciones en tres pares. Estoy mostrando información sobre: el depósito, la equidad, % drawdown, cuántas operaciones se abrieron para cada par de compra y venta (ver archivo adjunto). ¿Cómo puedo mostrar el % de beneficio de cada par a partir del depósito total? Supongamos un % de beneficio = -10% a cuenta, para un par -3%, para el segundo -9%, para el tercero +2% ???? Respetados gurús, por favor, indicadme la dirección correcta. Estoy aprendiendo.
Archivos adjuntos:
 
Alexey Solomin:
Hola. Escribí un EA, que abre operaciones en tres pares. Estoy mostrando la información en la pantalla: la equidad, % drawdown, cuántas operaciones abiertas para cada par de compra y venta (ver archivo adjunto). ¿Cómo puedo mostrar el % de beneficio de cada par a partir del depósito total? Supongamos un % de beneficio = -10% a cuenta, para un par -3%, para el segundo -9%, para el tercero +2% ???? Respetados gurús, por favor, indicadme la dirección correcta. Estoy aprendiendo.

Por favor, inserte una imagen como esta: foro: cómo insertar una imagen.

A través de POSITION_PROFIT obtendrá un beneficio por cada posición (y por tanto por cada par).

 

Lo siento, no he especificado la plataforma, tengo mql4,"POSITION_PROFIT" no está en la ayuda, tal vez sea " OrderProfit" ?

(Por favor, inserte una imagen de esta manera:foro: cómo insertar una imagen. - ok)
 
Alexey Solomin:

Lo siento, no he especificado la plataforma, tengo mql4,"POSITION_PROFIT" no está en la ayuda, tal vez es " OrderProfit" ?

(Por favor, inserte la imagen así:foro: cómo insertar una imagen. - ok)

Míralo de esta manera:

StringConcatenate( DoubleToStr( значение * 10.0, 0 ), "%" )



 
Nilog:

Quiero hacer un indicador. No dibuja nada, toma otro indicador como el MACD o el estocástico o uno personalizado del mismo tipo, y da un pitido y una ventana emergente cuando la línea del indicador cruza cualquier nivel significativo.

No soy capaz de escribir un indicador desde cero (sólo puedo modificar los existentes), si alguien piensa qué añadir o quitar, se lo agradecería. El código es muy corto :) Esto es lo que tengo hasta ahora:

string Name = "НазваниеИндикатора";

double Porog = 0;              //уровень, по пересечении которого подается сигнал

int NomerBufera = 0;           //номер буфера, который пересекает искомый уровень

double Znacheniye[];


int init()                  // это ваще надо? :)

  {

   return(0);   

  }


int start()

  {

   int limit;

   int counted_bars=IndicatorCounted();

   if(counted_bars>0) counted_bars--;

   limit=Bars-counted_bars;

   for(int i=0; i<limit; i++)

 

Znacheniye[i] = iCustom(NULL,0,"Name",NomerBufera,0) ; //"Name" или просто Name?

 

if (  (Znacheniye[i] > Porog &&  Znacheniye[i+1]< Porog) || (Znacheniye[i] < Porog &&  Znacheniye[i+1]> Porog)   )

 {

Alert("Что-то наклевывается!", Symbol());

PlaySound ("Alert.wav "); 

}

}


¡Gracias de antemano si alguien responde!

Comprueba el código con Print - tienes un array sin tamaño - necesitas forzar el tamaño.