[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 964
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
¿Por qué baja la velocidad del probador hacia el final del tercer año?
existe este problema - yo también tuve este problema, si el Asesor Experto hace muchas operaciones por año - tal vez se almacenan muchos datos para mostrar el resultado final o tal vez los búferes de los indicadores comen memoria
como una sierra completa - no sé, tened paciencia conmigo - para el panorama general, la prueba durante 10 años, y es mejor optimizar un año a la vez y luego hacer una selección de los parámetros óptimos
Quiero analizar diferentes cruces seguidos de la colocación de órdenes en otro par:
int magic = 428;/número de magia del Asesor Experto
extern double volumen = 0.1;//volumen del pedido que se realiza
extern int deslizamiento = 3;//deslizamiento
int OPB;//la marca de la orden de compra
int OPS;//la marca de la orden de venta
int Profit=1;//nivel de beneficio de la orden abierta
string comB = "Entrada en la tendencia en la compra; // comentario sobre la orden
string comS = "Entrada por tendencia a vender";// comentario de la orden
double StochasticCAD;//posición de la línea principal del estocástico en la barra actual del USDCAD
double StochasticAUD;//posición de la línea principal del estocástico en la barra actual para el AUDUSD
double SARCAD;//la posición actual del indicador en USDCAD
doble SARCAD;//posición de la barra del indicador de vuelta en USDCAD
double SARAUD;//posición actual del indicador en el AUDUSD
doble SARСAUD;//posición de la barra del indicador de vuelta en AUDUSD
int inicio()
{
//______________________________определение значений переменных_______________________
StochasticCAD = iStochastic("USDCAD",30,5,3,3,1,1,0,0);
StochasticAUD = iStochastic("AUDUSD",30,5,3,3,1,1,0);
SARCAD=iSAR("USDCAD",30,0.02,0.2,0);
SARСCAD=iSAR("USDCAD",30,0.02,0.2,1);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,0);
SARСAUD=iSAR("AUDUSD",30,0.02,0.2,1);
double bidCAD =MarketInfo("USDCAD",MODE_BID);
double askCAD =MarketInfo("USDCAD",MODE_ASK);
double bidAUD =MarketInfo("AUDUSD",MODE_BID);
double askAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________поиск и закрытие ордеров_______________________________________
int i;
for(i=0; i<=TotalPedidos(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;// si el número de pedido i no existe, detener la búsqueda
if (OrderSymbol() != "GBPUSD" || OrderMagicNumber() != magic) // si la orden no es del par donde se encuentra nuestro EA
continue; // saltar la orden y mirar la siguiente orden que le sigue
//_______close Comprar_______
if (OrderType() == OP_BUY && OrderProfit()>=Profit)
// si la orden es de compra
{
OPB=1;
if(StochasticCAD==0 || StochasticAUD==100 || SARCAD<bidCAD || SARAUD>askAUD)//y el mercado está a punto de invertirse
{
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Wheat); // cerrarla si está en beneficio
OPB=0;
}
}
si no
{
//_______close Vender_______
if(OrderType() == OP_SELL && OrderProfit()>=Profit)// si la orden es de venta
{OPS=1;
if(StochasticCAD==100 || StochasticAUD==0 || SARCAD>askCAD || SARAUD<bidAUD)//y el mercado está cerca de la inversión
{
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,PaleTurquoise); // cerrarla si está en beneficio
OPS=0;
}
}
}
}
//______________выставление ордеров______________________________________________________________________
if (SARCAD>askCAD && SARCAD<bidCAD && SARAUD<bidAUD && SARCAUD>askAUD && OPB<1)//definir condiciones
{ //_______Comprar_______
if(!IsTradeAllowed())
{
Alert("El hilo comercial está ocupado, intente de nuevo comprar...");
return(-1);
}
OPB =OrderSend("GBPUSD",OP_BUY,volume,Ask,slippage,0,0,comB,magic,0,Red); //poner una orden
if(OPB == -1)
{
Alert("GBPUSD", "Error: comprar", GetLastError());
return(-1);
}
if(OPB > 1)
Alert("GBPUSD", "¡Tenemos una orden de compra!")
}
si no
{//_______Sell_______
if(SARCAD>askCAD && SARCAD<bidCAD && SARCADAUD<bidAUD && SARAUD>askAUD && OPS<1)//definir condiciones
{
if(!IsTradeAllowed())
{
Alert("el hilo de comercio está ocupado, intente de nuevo vender...");
return(-1);
}
OPS=OrderSend("GBPUSD",OP_SELL,volume,Bid,slippage,0,0,comS,magic,0,Blue); //poner una orden
if(OPS == -1)
{
Alert("GBPUSD", "Error: Vender", GetLastError());
return(-1);
}
if(OPS > 1)
Alert("GBPUSD", "¡Poner orden de venta!")
}
}
return(0);//salir
}
No sale nada cuando lo pruebo. No hay resultados.
En el registro hay un conjunto de errores:
¿Puede decirme qué pasa?
Quiero analizar diferentes cruces y luego colocar órdenes en otro par:
int magic = 428;//número de magia del Asesor Experto
extern double volume = 0.1;//volumen de la orden colocada
extern int slippage = 3;/deslizamiento
int OPB;//etiqueta de la orden de compra colocada
int OPS;//etiqueta de la orden de venta colocada
int Profit=1;//nivel de beneficio de las órdenes abiertas
string comB = "Entrada por tendencia a la compra"; //solicitud de orden
string comS = "Entrada por tendencia a la venta"; //solicitud de orden
double StochasticCAD;//posición de la línea principal estocástica en la barra actual en USDCAD
double StochasticAUD;//posición de la línea principal estocástica en la barra actual en AUDUSD
double SARCAD;//posición actual del indicador en USDCAD
double SARCAD;//posición de la barra del indicador en USDCAD
double SARAUD;//posición actual del indicador en AUDUSD
double SARAUD;//posición de la barra del indicador en AUDUSD
int start()
{
//______________________________ determinación de los valores de las variables_______________________
StochasticCAD = iStochastic("USDCAD",30,5,3,3,1,1,0,0);
StochasticAUD = iStochastic("AUDUSD",30,5,3,3,1,1,0);
SARCAD=iSAR("USDCAD",30,002,0.2,0);
SARCAD=iSAR("USDCAD",30,0.02,0.2,1);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,0);
SARAUD=iSAR("AUDUSD",30,0.02,0.2,1);
double bidCAD =MarketInfo("USDCAD",MODE_BID);
double askCAD =MarketInfo("USDCAD",MODE_ASK);
double bidAUD =MarketInfo("AUDUSD",MODE_BID);
double askAUD =MarketInfo("AUDUSD",MODE_ASK);
//______________________________ buscar y cerrar órdenes_______________________________________
int i;
for(i=0; i<=OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)
break;// si el número de orden i no existe, detener la búsqueda
if (OrderSymbol() !="GBPUSD" || OrderMagicNumber() != magic) // si la orden no es del par en el que se encuentra nuestro Asesor Experto
continue; // omitirla y mirar la orden que le sigue
//_______close Buy_______
if (OrderType() == OP_BUY && OrderProfit()>=Profit)
// si la orden es de COMPRA
{
OPB=1;
if(StochasticCAD==0 || StochasticAUD==100 || SARCAD<bidCAD || SARAUD>askAUD)//y el mercado está cerca de la inversión
{
OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Wheat); // ciérrela si es de COMPRA
OPB=0;
}
}
else
{
//_______close Sell_______
if(OrderType() == OP_SELL && OrderProfit()>=Profit)// si la orden es Sell
{OPS=1;
if(StochasticCAD==100 || StochasticAUD==0 || SARCAD>askCAD || SARAUD<bidAUD)//y el mercado está cerca de una inversión
{
OrderClose(OrderTicket(),OrderLots(),Ask,slippage,PaleTurquoise); // ciérrelo si está en beneficios
OPS=0;
}
}
}
}
//______________ colocación de órdenes ______________________________________________________________________
if (SARCAD>askCAD && SARCAD<bidCAD && SARAUD<bidAUD && SARAUD>askAUD && OPB<1)// definir condiciones
{ //_______Buy_______
if(!IsTradeAllowed())
{
Alert("el hilo comercial está ocupado, intente de nuevo comprar...");
return(-1);
}
OPB =OrderSend("GBPUSD",OP_BUY,volume,Ask,slippage,0,0,comB,magic,0,Red); //set order
if(OPB == -1)
{
Alert("GBPUSD", "error: buy", GetLastError());
return(-1);
}
if(OPB > 1)
Alert ("GBPUSD", "Put Buy Order!");
}
else
{//_______Sell_______
if(SARCAD>askCAD && SARCAD<bidCAD && SARCAD<bidAUD && SARAUD>askAUD && OPS<1)//define conditions
{
if(!IsTradeAllowed())
{
Alert("el hilo comercial está ocupado, intente de nuevo vender...");
return(-1);
}
OPS=OrderSend("GBPUSD",OP_SELL,volume,Bid,slippage,0,0,comS,magic,0,Blue); //configuración de la orden
if(OPS == -1)
{
Alert("GBPUSD", "error: sell", GetLastError());
return(-1);
}
if(OPS > 1)
Alert ("GBPUSD", "Put Sell order!");
}
}
return(0);//salir
}
No sale nada cuando se prueba. No produce ningún resultado.
Hay un conjunto de errores en el registro:
¿Puede decirme qué pasa?
En primer lugar, aprende a insertar código en la ventana pulsando simultáneamente "Contraclic + Alt + M", para que en tu halimatría la gente navegue y dé recomendaciones.
Intente también hacer doble clic en el mensaje de error correspondiente en el registro - tal vez le haga pensar...
En primer lugar, aprende a insertar código en una ventana pulsando las teclas Conrle + Alt + M al mismo tiempo, para que puedas guiar a la gente a través de tus tonterías y hacer recomendaciones.
Además, intente hacer doble clic en el mensaje de error correspondiente en el libro de registro, tal vez eso le dé algunas ideas...
Los errores están en el registro del probador, no en el del compilador... (en realidad se puede ver en la foto si se mira primero y luego se comenta...). Hacer doble clic no hace nada allí...
¿Una prueba de todos los tics? Problemas con la historia
¿Una prueba de todos los tics? Problemas con la historia
Es decir, ¿es necesario recargar el historial de todos los pares implicados en el análisis?
Es decir, ¿hay que recargar el historial de todos los pares implicados en el análisis?
Tal vez. Si, por supuesto, la empresa de corretaje lo admite.
Pero no hay que olvidar que se pueden abrir posiciones en el probador para el símbolo actual, y hay algunas restricciones para otros símbolos
Es posible. Si, por supuesto, la empresa de corretaje lo admite.
Sólo hay que tener en cuenta que en el probador se pueden abrir posiciones en el instrumento actual, y hay algunas restricciones en otros instrumentos
¿Qué es un DC? ¿Y cuáles son las restricciones para otros instrumentos?
¿Qué es una empresa de intermediación? ¿Y cuáles son las limitaciones de otros símbolos?
DC - Mesa de contratación
En el probador de otros instrumentos sólo se puede obtener el precio de apertura en la barra cero, los ticks de otros instrumentos no se modelan, el entorno del mercado es casi inaccesible.
Las operaciones con otros instrumentos no se abren.
Si necesita realizar correctamente un análisis multidivisa, es mejor utilizar MT5. Hay un probador de multidivisas.