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

 
Igor Makanu:

debemos hablar de este ejemplo:

No, en absoluto, antes de eso, en Ordersend() el valor se establecía desde la misma variable. Incluso en la impresión, era exactamente igual.

 
Andrey Sokolov:

No, no sólo eso, sino que antes, en Ordersend() el valor se establecía desde la misma variable. Incluso el resultado de la impresión era exactamente el mismo.

En mi opinión, Print() no siempre muestra todos los dobles con precisión, no sé cuál es la razón

Pero a nuestro punto - normalizar StopLosses y TakeProfits antes de enviarlos al servidor, está escrito en la ayuda, y creo que esto es correcto.

 
Igor Makanu:

Creo que Print() no siempre muestra todos los dobles con precisión, no sé cuál es la razón

pero a nuestro punto - normalizar los stoplosses y takeprofits antes de enviarlos al servidor, está escrito en la ayuda, y creo que esto es correcto.

Esa variable era de una expresión normalizada
 
Andrey Sokolov:
La variable era de la expresión normalizada

No lo veo desde aquí)), normalizar el valor en OrderSend () al enviarlo al servidor - no hay opciones allí, el valor normalizado será definitivamente enviado al servidor

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


Este es el MACD estándar (como ya se ha dado cuenta)

Por favor, dígame qué significa esta líneaMathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?

¿Qué sonMathAbs y(MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

girar el texto 30-40 grados. Así, las etiquetas seguirán siendo legibles, pero se solaparán con menos frecuencia

añadir "multiplicación" - cuando el puntero del ratón está dentro de la sesión, resaltar el precio en tamaño y color

Antes el código es muy lejano aunque encontré un pequeño giro de grados, sí ahora quería hacer un desplazamiento horizontal y vertical del precio y el código resaltado no funciona, ¿por qué no lo sé?

objname = sesión + " Etiqueta baja de la sesión";

ObjectCreate(objname, OBJ_TEXT, 0, time2 - 1800, price1);

ObjectSet(objname, OBJPROP_BACK, false);

ObjectSet(objname, OBJPROP_XDISTANCE, 477);

ObjectSet(objname, OBJPROP_YDISTANCE, 91);

ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime);

ObjectSet(objname, OBJPROP_ANGLE,-41);

Y qué es la "multiplicación".
 
Háblenos brevemente de los algoritmos de alisado de cotizaciones, ¿qué son?
 

hay una pregunta, probablemente no hay respuesta: así que, mira, hay una cierta ideología de escribir expresiones, que se repite todo el tiempo, por ejemplo:

if(Tdk>Odk) flag=true; existe la expresión de signo exactamente opuesto pero con la misma ideología if(Tdk<Odk) flag=true; en ambos casos se trata del mismo código if(Tdk Odk) flag=true; cambia el signo > por este <, sería genial si pudiéramos guardar el signo en la variable por condición lógica por ejemplo:

if(p==2) guarda el signo >, if(p==1) guarda el signo < y lo sustituye entre los valores if(Tdk signo Odk) y finalmente no es necesario usar esta entrada 2 veces, sería muy conveniente en expresiones largas con la misma ideología, podríamos poner esto en una función y reducir la cantidad de código. ¿Es posible algo así?

 
Seric29:

hay una pregunta, probablemente no hay respuesta: así que, mira, hay una cierta ideología de escribir expresiones, que se repite todo el tiempo, por ejemplo:

if(Tdk>Odk) flag=true; existe la expresión de signo exactamente opuesto pero con la misma ideología if(Tdk<Odk) flag=true; en ambos casos se trata del mismo código if(Tdk Odk) flag=true; cambia el signo > por este <, sería genial si pudiéramos guardar el signo en una variable por condición lógica por ejemplo:

if(p==2) guarda el signo >, if(p==1) guarda el signo < y lo sustituye entre los valores if(Tdk signo Odk) y finalmente no es necesario usar esta entrada 2 veces, sería muy conveniente en expresiones largas con la misma ideología, podríamos poner esto en una función y reducir la cantidad de código. ¿Es posible algo así?

Sí.

Leer código de @fxsaber.

Lea más aquí

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

hay una pregunta, probablemente no hay respuesta: así que, mira, hay una cierta ideología de escribir expresiones, que se repite todo el tiempo, por ejemplo:

if(Tdk>Odk) flag=true; existe la expresión de signo exactamente opuesto pero con la misma ideología if(Tdk<Odk) flag=true; en ambos casos se trata del mismo código if(Tdk Odk) flag=true; cambia el signo > por este <, sería genial si pudiéramos guardar el signo en una variable por condición lógica por ejemplo:

if(p==2) guarda el signo >, if(p==1) guarda el signo < y lo sustituye entre los valores if(Tdk signo Odk) y finalmente no es necesario usar esta entrada 2 veces, sería muy conveniente en expresiones largas con la misma ideología, podríamos poner esto en una función y reducir la cantidad de código. ¿Es posible algo así?

Bien, entonces escriba usted mismo una función/plantilla de comparación

if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }