Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1176

 
Alexey Belyakov:

https://www.mql5.com/en/code/23479 Este no funciona.

Lo he intentado, pero tengo una pega en el código, no creo que nadie quiera entrar en mis garabatos, prefiero hacerlo de nuevo.


Así que aquí está:

datetime some_time=TimeCurrent();
extern string Symbol3 = ""; //Инструмент (""текущий по умолчанию)
extern double P=5;       //Таймфрейм


int start()
{
int  raznV;
int percV;
int SD=5; // переменная для поиска разницы объёма
int sig;

double VAL2=MathAbs(iVolume(NULL,P,2));  //Т.Объём
double VAL1=MathAbs(iVolume(NULL,P,1));


raznV =MathAbs(iVolume(NULL,P,2)-iVolume(NULL,P,1));  //Разница объёма
percV =MathRound(raznV/(VAL1*0.01)); // Разница в (%)

//Цикл сканирования последних свечей SD,на которых есть разница равная 50%.
for (int i=SD; i>=0; i--)
{
int  sig=(raznV[i])>50;


//Если  есть нужная разница, значение будет больше нуля.
if (sig>0)
{
Alert ("Сигнал");
}

if (SD>5)
{
ObjectDelete("signal4");
} 


return(0);

int sig=(raznV[i])>50; Aquí está el problema. No sé cómo presentarlo de otra manera. Y es necesario detectar una desviación de al menos el 50% en las velas anteriores.

Tu código es tan bonito como una redacción escrita por un alumno de primer grado no muy estudioso - no te ofendas, al menos sabes escribir comentarios :)

Especialmente me gustóraznV[i], ¿vienes de PineScript? Vamos, que es un lenguaje de programación normal))

en rojo - errores importantes, en amarillo - defectos

 
Buenas tardes. Tengo una pregunta sobre un movimiento negativo en un muving. En consecuencia, no funciona ni la apertura de una operación con este valor ni el cierre de la misma. ¿Cómo se puede resolver este problema?
 

Hola. Por favor, ayuda con la importación de la dll. He intentado importar funciones de trans2quik.dll

#import "trans2quik.dll"
   int _TRANS2QUIK_CONNECT@16(string lpcstrConnectionParamsString, int& pnExtendedErrorCode[], string lpstrErrorMessage, int dwErrorMessageSize);
#import

Funcionó, la dll devolvió el código 0(TRANS2QUIK_SUCCESS). Cuando intenté importar otras funciones el compilador me da un error sobre el nombre largo (sé por el foro que más de 31 caracteres en el nombre de la función no está permitido). ¿Cómo puedo importar funciones? Traté de hacerlo por número de función, como se describe aquí (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019), pero si lo hice mal, o el compilador no puede jurar por el número (escribe el nombre esperado) entiendo que para unirse a una dll necesita una envoltura? ¿O es posible editar los nombres de las funciones en la propia dll? Si es importante, hay archivos .h y .lib en el archivo de la dll.

 
Darirunu:
Buenas tardes. Tengo una pregunta sobre un cambio de mutación negativo. En consecuencia, no funciona ni la apertura de una operación con este valor ni el cierre de la misma. ¿Cómo puedo resolver este problema?

¿Puede adjuntar un trozo de código?

 
¿Es posible cambiar la velocidad de la prueba mediante un programa?
 
Yevhenii Levchenko:
¿Es posible cambiar la velocidad de la prueba mediante un programa?

puedes

 
f1nik:

Hola. Por favor, ayuda con la importación de la dll. He intentado importar funciones de trans2quik.dll

Funcionó, la dll devolvió el código 0(TRANS2QUIK_SUCCESS). Cuando intenté importar otras funciones el compilador me da un error sobre el nombre largo (sé por el foro que más de 31 caracteres en el nombre de la función no está permitido). ¿Cómo puedo importar funciones? Traté de hacerlo por número de función, como se describe aquí (https://docs.microsoft.com/ru-ru/cpp/build/exporting-functions-from-a-dll-by-ordinal-rather-than-by-name?view=vs-2019), pero si lo hice mal, o el compilador no puede jurar por el número (escribe el nombre esperado) entiendo que para unirse a una dll necesita una envoltura? ¿O puedo editar los nombres de las funciones en la propia dll? Si es importante el archivo con la dll tiene archivos .h y .lib.

En MQL por número no es posible.

 
Koldun Zloy:

No se puede hacer en MQL por número.

Gracias. Así que sólo hay adaptador dll entre el terminal ytrans2quik.dll
 
f1nik:
Gracias. Así que sólo hay adaptador dll entre el terminal ytrans2quik.dll

¿Has probado a meter una cadena como #define str " cadena larga larga" o incluso como dos cadenas a través de la función + o string.

Al fin y al cabo, Comment también está limitado en la longitud de la cadena, pero las variables se pueden meter tanto que no caben en el monitor en unas pocas líneas.

 
Hola. Puede sugerir un script o función para calcular el tamaño del lote dependiendo del margen especificado para Forex, porque todos los scripts calculan el margen sobre el tamaño del lote. Sería conveniente abrir por una cierta cantidad fija de fondos libres en el depósito, como en BOO.