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
Sigue habiendo problemas
Hola a todos,
Gracias Big Be por echar un vistazo a mi EA. Mi estocástico RSI está sin el subrayado. Cuando lo probé con, me dio un error. Pero, me di cuenta de algunas cosas.
1) Cuando pruebo el Probador de Estrategias en los marcos de tiempo más bajos, parece funcionar más rápido. Una vez que llego a H1 o más, se pone muy lento. Supongo que es porque tiene que hacer demasiada comprobación en cada tick. ¿Hay algo que se pueda hacer al respecto? Me gustaría optimizarlo para H4 y posiblemente incluso para Daily.
2) Todavía existe el problema de que la primera operación ocurre antes de un cruce real.
3) Cuando miro mis pruebas retrospectivas, parece que se pierden algunas operaciones por completo. ¿Se debe esto a que mis datos son defectuosos/no coinciden? Busqué un lugar donde New Digital explica cómo obtener los datos para el corredor que estamos utilizando por ir a la historia y hacer doble clic en él ... a continuación, la apertura de cada marco de tiempo y la celebración de "Page Up" hasta que llegue al final, pero, no parece ayudar.
La parte del programa que te envié es sólo una parte de 3. Todavía tengo que añadir las otras 3 partes en él. Si no puedo conseguir que el Probador de Estrategias sea más rápido, nunca sabré si es una idea rentable.
Cualquier idea o sugerencia será de gran ayuda.
Saludos,
Putz
Estudia lo que hice para un EA de Índice de Calidad de Volatilidad que arreglé, Kiko_v2.
Ver post 319 aquí:
https://www.mql5.com/en/forum/general
Diviértete,
Big Be
Vq
Hola Big Be
Gracias por la idea. Voy a trabajar en ello este fin de semana...y si todo funciona fantástico...debería ser rico para el próximo fin de semana...jajaja
Putz
Ayuda...por favor
Hola Big Be y todos los programadores,
Big Be, estudié tu EA de volatilidad pero ahora parece que no era mi problema después de todo. Estaba usando IBFX para mi backtesting y no tenía más que problemas. Finalmente me rendí y descargué Alpari y eso funciona mucho mejor.
Por lo menos ahora no tarda días en hacer un backtest en mis EA's. Así que empecé de nuevo y reconstruí mi programa desde cero y no coloca ninguna orden.
El programa es básicamente el EMS Fresh Cross de codersguru pero quiero que se base en el RSI estocástico y cuando el StochRSI cruce la línea 50. He dejado casi todo como por codersguru incluyendo las variables para que sea más fácil aislar el problema.
Creo que el problema está en la función iCustom ya que es básicamente los únicos cambios que he hecho en el programa y no toma ninguna orden. Puede alguien mirarlo y ver si puede encontrar mi error. Llevo dos semanas intentando que esto funcione y me está volviendo loco.
He puesto un par de notas precedidas de //
Gracias
Putz
#property copyright "Putz FX
#property link "http://www.putzfx.com"
//---- input parameters
extern double TakeProfit=130;
extern double StopLoss = 60;
extern double Lots=1;
extern double TrailingStop=30;
extern double TimeFrame= 60;
extern bool ExitOnCross = true;
extern int MagicNumber = 444444;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
int FreshCross ()
{
//This was added in based on what I could figure from Big Be.
if (Volume[0] != 1) return(0);
//what is the difference between using "Null" or "Symbol()" in iCustom as
//neither one works.
double SEma, LEma,SEmaP, LEmaP;
//The following 4 lines have been changed from the original
SEma = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,0);
LEma = 50;
SEmaP = iCustom(Symbol(),PERIOD_H1,"Stochastic RSI",28,55,9,0,1);
LEmaP = 50;
//Don't work in the first load, wait for the first cross!
//some changes were done to the below two lines as he was comparing the
//return value with the Ask or Bid and Close values
if(SEma>LEma && SEmaP < LEmaP) return(1); //up
if(SEma LEmaP) return(2); //down
return (0); //not changed
}
//+------------------------------------------------------------------+
//| Check Open Position Controls |
//+------------------------------------------------------------------+
int CheckOpenTrades()
{
int cnt;
int NumTrades; // Number of buy and sell trades in this symbol
NumTrades = 0;
for(cnt=OrdersTotal()-1;cnt>=0;cnt--)
{
OrderSelect (cnt, SELECT_BY_POS, MODE_TRADES);
if ( OrderSymbol() != Symbol()) continue;
if ( OrderMagicNumber() != MagicNumber) continue;
if(OrderType() == OP_BUY ) NumTrades++;
if(OrderType() == OP_SELL ) NumTrades++;
}
return (NumTrades);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int cnt, ticket, total;
double TP;
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
/* if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
*/
int isCrossed = 0;
isCrossed = FreshCross ();
total = CheckOpenTrades();
if(total < 1)
{
if(isCrossed == 1)
{
TP = 0;
if (TakeProfit > 0) TP = Ask + TakeProfit * Point;
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Green);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
}
else Print("Error opening BUY order : ",GetLastError());
return(0);
}
if(isCrossed == 2)
{
TP = 0;
if (TakeProfit > 0) TP = Bid - TakeProfit * Point;
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,TP,"EMA_CROSS",MagicNumber,0,Black);
if(ticket>0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
}
else Print("Error opening SELL order : ",GetLastError());
return(0);
}
return(0);
}
total = OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
//OrderPrint();
if(OrderType()<=OP_SELL && OrderSymbol()==Symbol() && OrderMagicNumber() == MagicNumber)
{
if(OrderType()==OP_BUY) // long position is opened
{
// should it be closed?
/* REMOVED - Trailling stop only close */
if(ExitOnCross && isCrossed == 2)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Black); // close position
return(0); // exit
}
/**/
// check for trailing stop
if(TrailingStop>0){
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<Bid-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
// should it be closed?
/* REMOVED - Trailling stop only close */
if(ExitOnCross && isCrossed == 1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Black); // close position
return(0); // exit
}
/* */
// check for trailing stop
if(TrailingStop>0){
if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
{
if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
return(0);
}
}
}
}
}
}
return(0);
}
//+------------------------------------------------------------------+¿Ha verificado que su RSI estocástico toma 3 parámetros de entrada?
(El que he mirado toma 4)
que ayuda
Hola Ralph,
Gracias por tu ayuda. El mío tiene dos buffers pero 4 parámetros de entrada. Lo probé con 4 parámetros y no funcionó pero luego lo probé con 2 y conseguí una orden. Ahora sólo tengo que resolver el resto. Gracias por desatascarme.
Putz
Pregunta de un novato
post movido aquí: https://www.mql5.com/en/forum
¿alguien me ayuda?
hola a todos
todos conocen el indicador Pivot_Monday_fixed
necesito algunos cambios en este indicador
quiero sólo la línea de pivote y otras cuatro líneas
2 de color azul Pivot +20 y Pivot + 40
2 de color rojo Pivot - 20 y Pivot - 40
sólo 5 líneas
gracias
Pregunta tonta
¿Puede alguien decirme la forma más rápida de convertir un archivo mq4 de un EA en un archivo ex4?
Sé que aparece en los archivos de expertos como ex4 después de ejecutar en mt4 una vez, pero ¿es la única manera de hacerlo?
Gracias de antemano
¿Puede alguien decirme la forma más rápida de convertir un archivo mq4 de un EA en un archivo ex4?
Sé que aparece en los archivos de expertos como ex4 después de ejecutar en mt4 una vez, pero ¿es esta la única manera de hacer esto?
Gracias de antemanoAbra su archivo .mq4 en el MetaEditor, luego haga clic en "Compilar" y el archivo .ex4 se crea.