//----- Martingaleif(Martingale == true)
{
//----- Calcuulate number of losses orders without a breakHistorySelect(0,TimeCurrent());
int Total = HistoryDealsTotal();
int Losses = 0; // Number of losses orders without a breakfor(i = 0;i < Total;i++)
{
ulong Ticket=HistoryDealGetTicket(i);
if(HistoryDealGetInteger(Ticket,DEAL_TYPE) < 2)
{
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)>0) break;
if(HistoryDealGetDouble(Ticket,DEAL_PROFIT)<0) Losses++;
}
if(Losses<=MaxLossTrade) TradeLot=(TradeLot*MathPow(LotMultiply,Losses));
else TradeLot=TradeLot;
}
}
//-----
En primer lugar, hay que calcular la correlación LR. Esto se hace en esta biblioteca https://www.mql5.com/ru/code/1081
Y luego devolver este valor a través de OnTester, como aquí https://www.mql5.com/ru/articles/286
bug - MathRound devuelve el tipo double en lugar de un entero lógico.
de hecho, sigue siendo un bug - si redondeamos un número, debería ser un int. xD
Ver mi pregunta similar en el siguiente hilo.
Véase la sección sobre la conversión explícita de tipos.
error - MathRound ...
Una conversión de tipo explícita ayuda a evitar la emisión de advertencias:
Ayuda, no funciona, traducido del 4.
Gracias.
¿De qué línea parten los problemas y cuáles son exactamente?
G001:
¿De qué línea parten los problemas y cuáles son exactamente?
En el probador de estrategias, no aumenta el tamaño del lote después de una operación perdedora.
Una vez más, ¿dónde empiezan los problemas y cuáles son exactamente?
Lo siento, no sé qué decir, no sé dónde está el problema, sé que no hace lo que necesito.
Lo siento, no sé qué decir, no sé dónde está el problema, sé que no hace lo que necesito.