if(lot_m <= minlot) lot_m = minlot; // a partir de esta línea, mi yo
else if(lot_m >= maxlot) lot_m = maxlot;
else if(lot_m > minlot && lot_m < maxlot)
{
int k = int((lote - minlote)/lote de paso);
lot_m = NormalizeDouble(minlot+k*steplot,2);
}
return(lote_m);
if(OrderProfit()>0) lote--;
if(OrderProfit()<0) lot_m++;
}
if(_m_risk == Max_Risk) lot_m = lot; // aquí no se entiende nada
return(0);
}
Llevo dos días luchando con esto. No puedo escribir la función que recalcula el riesgo.
Si una operación se cierra por TP, el riesgo seguirá siendo el mismo.
Si el riesgo se cierra por SL, el riesgo se incrementa en 2 veces y así sucesivamente, hasta el valor prescrito en las variables de entrada del Asesor Experto, digamos Max_Risk = 8;
y luego se restablece el riesgo inicial Riesgo = 1;
Pues bien, si después de doblar la operación se cierra en TR, volvemos de nuevo al Riesgo inicial = 1;
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. и снова dll и маркет День добрый! Правило №1 dll на...
Comentario("Períodos utilizados: ",k,"\Nde la misma manera que los períodos anteriores,
"ATR anterior: "+VAL0+"\N-\N-\N-,
"Corriente ATR: ",VAL1,"\n",
"Diferencia ATR: ",razn,"\n",
"Diferencia ATR:",summ,"\n");
}
return(0);
}
La idea es la siguiente: el Asesor Experto cuenta la diferencia entre el valor actual del ATR y el anterior. Pero sólo con el aumento de ATR.
Esta diferencia se muestra en la variable "razn". Necesito que el valor de la variable "razn" se sume/acumule a la variable "summ" con cada llegada de una nueva barra.
En la versión actual la acumulación de "summ" no funciona correctamente.
Все предопределенные периоды графиков имеют уникальные идентификаторы. Идентификатор PERIOD_CURRENT означает текущий период графика, на котором запущена mql5-программа.
Buenas tardes a los miembros del foro. No puedo encontrar ninguna información. ¿Existe alguna herramienta que dibuje automáticamente líneas (no horizontales) de mínimos y máximos hasta un determinado nivel de pips? En otras palabras, ¿se define el mínimo o el máximo y se traza la línea hasta la vela que fija la distancia en pips desde el máximo o el mínimo? Encontré que el indicador Fractal hace la determinación de baja y alta. Pero no he podido encontrar un complemento de este tipo que me permita trazar una línea hasta el punto de cambio de precio por un número determinado de puntos.
Dudo que pueda explicar, si eso es lo que estás preguntando
el objeto es ... digamos que una variable de tipo de clase
en su sección de código es la clase CPrograma
en algún lugar de su código debe decir
y tendrá que ser llamado
¿Puede decirme qué significa?
el valor de retorno de'OrderSend' debe ser comprobado TestLibrary.mq4 64 6
¿Puede decirme qué significa?
el valor de retorno de 'OrderSend' debe ser comprobado TestLibrary.mq4 64 6
Hay que comprobarel resultado de OrderSend. :-)
El resultado de OrderSend debe ser verificado. :-)
Sé inglés)))
¿cómo comprobarlo?
Sé inglés)))
¿Cómo se comprueba?
result=SomeOperation(....)
if (result!=ok) {
Print("Error");
}
result=SomeOperation(....)
if (result!=ok) {
Print("Error");
}
}
Llevo dos días luchando con esto. No puedo escribir la función que recalcula el riesgo.
Si una operación se cierra por TP, el riesgo seguirá siendo el mismo.
Si el riesgo se cierra por SL, el riesgo se incrementa en 2 veces y así sucesivamente, hasta el valor prescrito en las variables de entrada del Asesor Experto, digamos Max_Risk = 8;
y luego se restablece el riesgo inicial Riesgo = 1;
Pues bien, si después de doblar la operación se cierra en TR, volvemos de nuevo al Riesgo inicial = 1;
¿Puede ayudar?
Gracias de antemano.
¡Buenas tardes!
Los profesionales, por favor, ayuden. No puedo resolver un problema. Aquí está el código:
datetime some_time=TimeCurrent();
int inicio()
{
doble suma;
doble razn;
int k=iBarShift(",PERIOD_M5,some_time);
double VAL0=MathAbs(iATR(NULL,0,1,1))/Punto;
double VAL1=MathAbs(iATR(NULL,0,1,0))/Punto;
si (VAL1>VAL0)
{
razn =MathAbs((iATR(NULL,0,1,0))-(iATR(NULL,0,1,1))/Punto;
for(int i = k; i >= 1; i--)
{
summ=summ+razn;
}
Comentario("Períodos utilizados: ",k,"\Nde la misma manera que los períodos anteriores,
"ATR anterior: "+VAL0+"\N-\N-\N-,
"Corriente ATR: ",VAL1,"\n",
"Diferencia ATR: ",razn,"\n",
"Diferencia ATR:",summ,"\n");
}
return(0);
}
La idea es la siguiente: el Asesor Experto cuenta la diferencia entre el valor actual del ATR y el anterior. Pero sólo con el aumento de ATR.
Esta diferencia se muestra en la variable "razn". Necesito que el valor de la variable "razn" se sume/acumule a la variable "summ" con cada llegada de una nueva barra.
En la versión actual la acumulación de "summ" no funciona correctamente.
Sospecho que se trata de bucles.