Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Tuve compras y ventas.
Este backtesting, ¿daba compras y ventas o sólo una de ellas? En mi caso solo he obtenido compras (o solo ventas cuando he cambiado el código). Realmente no he visto nada que muestre un error.
este RSIFilter_v1... No sé si eso...
el código que muestra aquí tiene que hacerlo...
Esto es lo que hice... ver archivos adjuntos.
¿Así que esto está bien?
double Sg=iCustom(NULL,0, "RSIFilter_v1",5,5,0,1);
if ( Sg>0) Order = SIGNAL_BUY;
if (Sg<0 ) Orden = SEÑAL_VENTA;Tiene que ser un 90% de calidad de modelado, no sé por qué no se ve.
Creo que se debe a los errores de desajuste. Backtester desde hace algunas versiones tiene este problema. He oído que es debido a los malos datos.
FerruFx
error de coincidencia booleana
Hola a todos, tengo este error y no entiendo como resolverlo, creo que es un problema de coincidencia de diferentes tipos de variables
aquí está el fragmento de código
doble
BuyCondition,
SellCondition,
StopLong,
StopSell;
los indicadores son
doble indicador1,
indicador2
indicador 3; (pero es int)
así que quiero esas condiciones
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));¿por qué a veces no tengo 0 cuando necesito 1 y a veces tengo ambos1 cuando uno de ellos debería ser 1?
p.d. sellvalue y buyvalue son dobles
necesito más código para arreglar esto...
si quieres, publica tu mq4
Hola a todos, tengo este error y no entiendo como solucionarlo, creo que es un problema de emparejamiento de diferentes tipos de variables
aquí está el fragmento de código
doble
BuyCondition,
SellCondition,
StopLong,
StopSell;
los indicadores son
doble indicador1,
indicador2
indicador 3; (pero es int)
así que quiero esas condiciones
StopLong = ((SellValueCurrent !=0 && SellValueCurrent2 !=0) || (TrendEnvDown != EMPTY_VALUE));
StopSell = ((BuyValueCurrent !=0 && BuyValueCurrent2 !=0) || (TrendEnvUp != EMPTY_VALUE));¡¡¡entonces por que a veces no tengo 0 cuando necesito 1 y a veces tengo ambos1 cuando o uno de ellos deberia ser el 1? esto ahora para mi no tiene ningun sentido por que esta mal? por favor ayudenme!!!
p.d. sellvalue y buyvalue son doblesAlgo va mal. La cuenta demo fue borrada por completo.
Aquí hay una pequeña parte del registro de expertos, con cientos de esos "precios no válidos para la función OrderClose" :
GBPJPY en 209.23 sl: 212.23 tp: 208.23 ok
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: precio no válido 2.02750000
para la función OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: precio no válido 1.55750000
para la función OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: cerrar #11685361 vender
0,10 GBPCHF a 2,0270 sl: 2,0570 tp: 2,0170 al precio 2,0275
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: precio inválido 1.03350000
para la función OrderClose
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: precio no válido 1.55740000
para la función OrderClose
esta es la parte en el ea para el OrderClose,
No veo lo que está mal en él, tal vez alguien puede ayudar?
//---------------------
int l_ord_total_72 = OrdersTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
if (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
if (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
if (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------Tal vez tengas nuevos precios del broker, intenta usar la función RefreshRates antes de OrderClose si te da error.
Error de OrderClose
Algo va mal. La cuenta demo se ha borrado por completo.
Aquí hay una pequeña parte del registro de expertos, con cientos de esos "precios inválidos para la función OrderClose" :
GBPJPY a 209.23 sl: 212.23 tp: 208.23 ok
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: precio no válido 2.02750000
para la función OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 EURUSD,H1: precio no válido 1.55750000
para la función OrderClose
10:00:04 2730_BasketVentilatorVoorProg_2 GBPCHF,H1: cerrar #11685361 vender
0,10 GBPCHF a 2,0270 sl: 2,0570 tp: 2,0170 al precio 2,0275
10:00:05 2730_BasketVentilatorVoorProg_2 USDCHF,H1: precio inválido 1.03350000
para la función OrderClose
10:00:05 2730_BasketVentilatorVoorProg_2 EURUSD,H1: precio no válido 1.55740000
para la función OrderClose
esta es la parte en el ea para el OrderClose,
No veo lo que está mal en él, tal vez alguien puede ayudar?
//---------------------
int l_ord_total_72 = OrdersTotal();
for (int l_pos_76 = 0; l_pos_76 < l_ord_total_72; l_pos_76++) {
if (OrderSelect(l_pos_76, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol()) {
l_cmd_80 = OrderType();
if (l_cmd_80 == OP_BUY) {
l_count_56++;
if (l_isar_48 > Close[0]) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Violet);
}
if (l_cmd_80 == OP_SELL) {
l_count_60++;
if (l_isar_48 < Close[0]) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Violet);
}
}
}
}
//--------------------
La compilación no da error.
necesito más código para arreglar esto... si quieres, publica tu mq4
no quiero publicar todo pero creo que es un problema con la coincidencia de tipos de variables voy a tratar de explicar más
indicator1 e 2 son dobles bien
así que tengo buyvaluecurrent = icustom(indicator1 etc etc);
buyvaluecurrent2 = icustom(indicator2 etc etc);
sellvaluecurrent = icustom(indicator1 etc etc); //doubles right?
trenendvup =icustom(indicador3 etc etc) ; //int
y así sucesivamente
entonces buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value);
esta declaración funciona sólo a veces y también podría ser un problema, así que mi pregunta es ¿por qué? quiero que buycondition devuelva 1 o 0 no importa de qué tipo es bool o doble
Tal vez usted tiene nuevos precios del corredor, trate de usar la función RefreshRates antes de OrderClose si usted consigue el error.
Sí, gracias.
dependiendo de lo que envíen los indicadores iCustom...
double buyvaluecurrent = iCustom(indicador1);
double buyvaluecurrent2 = iCustom(indicador2);
double sellvaluecurrent = iCustom(indicador1);
int trenendvup = iCustom(indicador3);
entonces...
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trenendvup !=0)) {buycondition=0;}
if((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup !=1)) {buycondition=1;}
no puedes meter un bool en tu buycondition solo usando "&&" y algunas condiciones, usa la función if()...
espero que esto ayude, de lo contrario es un pequeño paso más cerca
no quiero publicar todo, pero creo que es un problema con la coincidencia de tipos de variables voy a tratar de explicar más
indicador1 e 2 son dobles derecho
así que tengo buyvaluecurrent = icustom(indicator1 etc etc);
buyvaluecurrent2 = icustom(indicator2 etc etc);
sellvaluecurrent = icustom(indicator1 etc etc); //doubles right?
trenendvup =icustom(indicador3 etc etc) ; //int
y así sucesivamente
entonces buycondition= ((buyvaluecurrent !=0 && buyvaluecurrent2 !=0) && (trendenvup != Empty_Value);
esta declaración funciona sólo a veces y también podría ser un problema, así que mi pregunta es ¿por qué? quiero que buycondition devuelve 1 o 0 no importa de qué tipo es bool o doble