ayuda fineturn EA - página 2

 
delcor wrote >>

dígame si hay un sistema de prueba en la programación del EA que le muestre paso a paso lo que sucede cuando este EA se ejecuta

no, no hay ftn de paso para las pruebas ; utiliza Print para mostrar los valores de comprobación y varias partes de sus programas

 

Me gusta su código para la optimización de los lotes; lo he modificado para aumentar el volumen de los lotes a medida que aumentan las pérdidas

 
ronaldosim:

Me gusta su código para la optimización de los lotes; lo he modificado para aumentar el volumen de los lotes a medida que aumentan las pérdidas

muéstrame por favor

o envíame tu EA

 
delcor:

muéstrame por favor

o envíame tu EA

me da un error

La función "CalculateCurrentOrders" no está referenciada y será eliminada del archivo exp.
 
delcor wrote >>

me da un error

La función "CalculateCurrentOrders" no está referenciada y será eliminada del archivo exp.

ignora este error; todo lo que dice es que tienes una función llamada CalculateCurrentOrders que no estás usando; así que o la eliminas o la dejas; no causará ningún daño; el sistema dice que eliminará esta función de tu archivo compilado ex4

 
delcor wrote >>

muéstrame por favor

o envíeme su EA

en la función LotOptimization cambie su código a algo como esto

lote=lote*FactorDeMultiplicación*pérdidas

donde MulitplyFactor = 2 o 3 o 4 etc, similar a su DecreaseFactor que es para disminuir su tamaño de lote como kosses montan

Dicho esto, aumentar el tamaño de su lote a medida que aumentan las pérdidas es peligroso para su EA, así que úselo con cuidado

 
ronaldosim:

en la función LotOptimization cambie su código a algo como esto

lote=lote*FactorDeMultiplicación*pérdidas

donde MulitplyFactor = 2 o 3 o 4, etc., similar a su DecreaseFactor que es para disminuir el tamaño de sus lotes a medida que aumentan las pérdidas

Dicho esto, aumentar el tamaño de su lote a medida que aumentan las pérdidas es peligroso para su EA, así que úselo con cuidado

¿se refiere a algo como esto?

//+------------------------------------------------------------------+
//| Calcular el tamaño óptimo del lote
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lote=Lotes*Multiplicación*Pérdidas;
int orders=HistoryTotal(); // historial total de órdenes
int losses=0; // número de órdenes con pérdidas sin pausa
//---- seleccione el tamaño del lote
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- calcule el número de órdenes de pérdidas sin interrupción
if(FactorDeDisminución>0)
{
for(int i=órdenes-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("¡Error en el historial!"); break; }
if(OrderSymbol()!=Symbol() | OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
//---- devolver el tamaño del lote
if(lote<0.1) lot=0.1;
return(lote);
}
 
delcor wrote >>

¿te refieres a algo como esto?

//+------------------------------------------------------------------+
//| Calcular el tamaño de lote óptimo ||.
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lote=Lotes*Multiplicación*Pérdidas;
int orders=HistoryTotal(); // historial total de órdenes
int losses=0; // número de órdenes con pérdidas sin pausa
//---- seleccione el tamaño del lote
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- calcule el número de órdenes de pérdidas sin interrupción
if(FactorDeDisminución>0)
{
for(int i=órdenes-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("¡Error en el historial!"); break; }
if(OrderSymbol()!=Symbol() | OrderType()>OP_SELL) continue;
//----
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(Lots*Multiplying*losses;,1); }
//---- devolver el tamaño del lote
if(lote<0.1) lot=0.1;
return(lote);
}

no, ponlo después del if(losses>1)

 
ronaldosim:

no, ponlo después del if(losses>1)

me da un error

Multiplicando' - variable no definida C:\NArchivos de programa\NInterbank FX Trader 4\Nexperts\jbtest4.mq4 (57, 44)

¿dónde lo defino?

 
delcor:

me da un error

Multiplying' - variable no definida C:\NArchivos de programa\NInterbank FX Trader 4\Nexperts\jbtest4.mq4 (57, 44)

¿dónde lo he definido?



ok tengo int multiplicando=2;

Razón de la queja: