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
Hola maestro codificador,
Estoy tratando de escribir un indicador PPO_alt que es el gráfico 1 en las imágenes a y b, pero no es el gráfico correctamente en el modo de tiempo real
asi que trate de modificar el PPO original (diagrama 2) pero todavia no es correcto. Por favor, eche un vistazo y podría arreglar ambos.
Gracias de antemano.
PS. Por favor, haga más preguntas si no está claro para usted.
Hola maestro codificador,
Estoy tratando de escribir un indicador PPO_alt que es el gráfico 1 en las imágenes a y b, pero no se traza correctamente en el modo de tiempo real
así que trato de modificar el PPO original (diagrama 2), pero todavía no está correctamente también. Por favor, eche un vistazo y podría arreglar ambos.
Gracias de antemano.
PS. Por favor, haz más preguntas si no te queda claro.¿Por qué haces exactamente lo mismo en dos bucles?
Hola Mladen
necesito ayuda
no consigo una cotización en vivo por favor ayuda
//+------------------------------------------------------------------+
//| función de inicialización de expertos ||
//+------------------------------------------------------------------+
#property ventana_del_gráfico
double ExtMapBuffer1[];
extern int RSI_periode = 14;
extern int RSI_level = 50;
extern color BuyColor = clrLime;
extern color SellColor = clrRed;
extern int horizontal = 20
extern int vertical = 50
extern int shift = 1;
extern double porcentaje = 0,25
extern string fontmode = "Arial";
extern int fontsize = 10;
extern color fontcolor = clrSkyBlue;
extern int columnspacing = 100;
int init()
{
//----
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta ||.
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
ObjectDelete("INFO");
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio de experto ||
//+------------------------------------------------------------------+
int inicio()
{
//----
string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};
cadena símbolo;
string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};
string infolabel;
string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};
string font = "Terminal";
int barras_contadas=IndicadorContado();
int symlimit = ArraySize(symlist2);
int timelimit = ArraySize(info2);
for(int i=0;i<symlimit;i++)
{
símbolo = symlist2;
Display("symlabel" + símbolo + i, horizontal,vertical);
ObjectSetText("symlabel" + symbol + i, "SYMBOL", fontsize, font, Pink);
Display("sym" + símbolo + i, horizontal,vertical +((i+1)*18));
ObjectSetText("sym" + symbol + i, "" + symbol + "", fontsize, font, Yellow);
for(int j=0;j<timelimit;j++)
{
infolabel = info2[j];
Display("infolabel" + j, horizontal+((j+1)*100),vertical);
ObjectSetText("infolabel" + j, timeText[j], fontsize, font, Pink);
Display("infolabel2" + symbol + ((j+1)*columnspacing), horizontal+((j+1)*100),vertical +((i+1)*18));
ObjectSetText("infolabel2" +symbol+ ((j+1)*columnspacing), infolabel , fontsize, font, fontcolor);
}
}
//----
return(0);
}
void Display(string name, int x, int y)
{
ObjectCreate(nombre, OBJ_LABEL, 0, 0, 0);
ObjectSet(name, OBJPROP_CORNER, 0);
ObjectSet(name, OBJPROP_XDISTANCE, x);
ObjectSet(name, OBJPROP_YDISTANCE, y);
ObjectSet(nombre, OBJPROP_BACK, FALSE);
}
¿Por qué haces exactamente lo mismo en dos bucles?
Oh, sólo quiero trazar una línea con puntos para que sea fácil de ver.
La línea importante es la multihigh con la que tengo problemas.
Gracias por preguntar.
Algoritmo de "cierre de compra" y "cierre de venta".
Hola Pro-Coders,
Me pregunto si alguien podría revisar el algoritmo "Cerrar COMPRA" y "Cerrar VENTA".
El EA no está abriendo una nueva posición después de que el stop loss o el cambio de tendencia haya tenido lugar.
El sistema sólo cierra la posición, la siguiente posición se abrirá cuando se produzca un nuevo cambio de tendencia, lo que conlleva una pérdida de oportunidad.
(Por favor, vea la captura de pantalla).
void CheckForClose()
{
RefreshRates();
double cl_diCustom0 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,0,bar);
double cl_diCustom1 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);
double cl_diCustom2 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);
double cl_diCustom3 = iCustom(s_symbol,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar+1);
double cl_diMA3 = iMA(s_symbol,MaTimeframe,MaPeriod,0,MaType,PRICE_CLOSE,bar);
double cl_diMA4 = iMA(s_symbol,MaTimeframe,MaPeriod,0,MaType,PRICE_CLOSE,bar+1);
for(int i=0;i<Total de órdenes(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!= MAGIC) continue;
if(OrderSymbol() != s_symbol) continue;
//+------------+
//| Cerrar COMPRA
//+------------+
if(cl_diCustom0!=cl_diCustom1) // Comprobar tendencia
{
if(OrderType()==OP_BUY)
{
if(cl_diCustom0<cl_diCustom1 && cl_diCustom2=cl_diMA4)
{
bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);
if(buyClose==false)
{
int ErrorCode = GetLastError();
string ErrDesc = ErrorDescription(ErrorCode);
string ErrAlert= StringConcatenate("Cerrar orden de compra - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts == true) Alert(ErrAlert);
string ErrLog=StringConcatenate("Oferta: ",MarketInfo(s_symbol,MODE_BID)," Lotes: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
romper;
} // mod
}
}
//+-------------+
//| Cerrar VENDER |
//+-------------+
if(cl_diCustom0!=cl_diCustom1)
{
if(OrderType()==OP_SELL)
{
if(cl_diCustom0>cl_diCustom1 && cl_diCustom2>cl_diMA3 && cl_diCustom3<=cl_diMA4)
{
bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);
if(sellClose == false)
{
ErrorCode = GetLastError();
ErrDesc = ErrorDescription(ErrorCode);
ErrAlert=StringConcatenate("Cerrar orden de venta - Error ",ErrorCode,": ",ErrDesc);
if(ShowAlerts==true) Alert(ErrAlert);
ErrLog=StringConcatenate("Venta: ",MarketInfo(s_símbolo,MODE_ASK)," Lotes: ",OrderLots()," Ticket: ",OrderTicket());
Print(ErrLog);
}
romper;
} // mod
}
}
}
}
Hola Pro-Coders,
Me pregunto si alguien podría revisar el algoritmo de "Cierre de compra" y "Cierre de venta".
El EA no está abriendo una nueva posición después de la pérdida de la parada o el cambio de tendencia ha tenido lugar.
El sistema sólo cierra la posición, la siguiente posición se abrirá cuando se produzca un nuevo cambio de tendencia, lo que conduce a la pérdida de oportunidades.
(Por favor, vea la captura de pantalla).
Cambie esto :
for(int i=0;i<OrdersTotal(); i++)
por esto
for(int i=Total de Pedidos()-1;i>=0 ; i--)
Háganos saber lo que pasó Tal vez sólo un problema de una construcción específica metatrader (Yo uso la construcción 788 actualmente)
mina construir 765
Pruchik proporcionó esta versión aquí,
https://www.mql5.com/en/forum/173588
pero necesita un script extra para eliminar las líneas del indicador Gann sq9 si se cambia dejando líneas en el gráfico.
necesito ayuda para este problema de información en pantalla......
Hola Mladen y todos los senior Codder
necesito ayuda para este problema de información en pantalla......
no consigo una cotización en vivo, por favor, ayuda
//+------------------------------------------------------------------+
//| función de inicialización de expertos ||
//+------------------------------------------------------------------+
#property indicator_chart_window
double ExtMapBuffer1[];
extern int RSI_periode = 14;
extern int RSI_level = 50;
extern color BuyColor = clrLime;
extern color SellColor = clrRed;
extern int horizontal = 20
extern int vertical = 50
extern int shift = 1;
extern double porcentaje = 0,25
extern string fontmode = "Arial";
extern int fontsize = 10;
extern color fontcolor = clrSkyBlue;
extern int columnspacing = 100;
int init()
{
//----
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de desinicialización experta ||.
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjectsDeleteAll();
ObjectDelete("INFO");
//----
return(0);
}
//+------------------------------------------------------------------+
//| función de inicio de experto ||
//+------------------------------------------------------------------+
int inicio()
{
//----
string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};
cadena símbolo;
string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};
string infolabel;
string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};
string font = "Terminal";
int barras_contadas=IndicadorContado();
int symlimit = ArraySize(symlist2);
int timelimit = ArraySize(info2);
for(int i=0;i<symlimit;i++)
{
símbolo = symlist2;
Display("symlabel" + símbolo + i, horizontal,vertical);
ObjectSetText("symlabel" + symbol + i, "SYMBOL", fontsize, font, Pink);
Display("sym" + símbolo + i, horizontal,vertical +((i+1)*18));
ObjectSetText("sym" + symbol + i, "" + symbol + "", fontsize, font, Yellow);
for(int j=0;j<timelimit;j++)
{
infolabel = info2[j];
Display("infolabel" + j, horizontal+((j+1)*100),vertical);
ObjectSetText("infolabel" + j, timeText[j], fontsize, font, Pink);
Display("infolabel2" + symbol + ((j+1)*columnspacing), horizontal+((j+1)*100),vertical +((i+1)*18));
ObjectSetText("infolabel2" +symbol+ ((j+1)*columnspacing), infolabel , fontsize, font, fontcolor);
}
}
//----
return(0);
}
void Display(string name, int x, int y)
{
ObjectCreate(nombre, OBJ_LABEL, 0, 0, 0);
ObjectSet(name, OBJPROP_CORNER, 0);
ObjectSet(name, OBJPROP_XDISTANCE, x);
ObjectSet(name, OBJPROP_YDISTANCE, y);
ObjectSet(nombre, OBJPROP_BACK, FALSE);
}Hola chicos tengo una pequeña petición.. he estado intentando escribir una función que lea de un archivo de texto y devuelva sus valores en un array de cadenas.. el archivo de texto está formado por varias líneas cada una de ellas es un nombre de par excepto la primera línea que es el número total de pares
Por ejemplo
7
CADJPY
CHFJPY
EURJPY
GBPJPY
NZDJPY
USDJPY
AUDJPY
He encontrado en el sitio web de metaquotes el siguiente código pero estoy atascado... me gustaría crear una matriz de cadenas y después de leer la primera línea en el texto redimensionarla a este valor y luego llenarla con el nombre de los pares... ¿puede alguien ayudarme por favor?
int handle, NL,i,pos[];
string str,word;
handle=FileOpen("test.txt",FILE_READ);//try to open file
if(handle==-1)return(0);// if not exist
if(FileSize(handle)==0){FileClose(handle); return(0); } //if empty
while(!FileIsEnding(handle))//read file to the end by paragraph. if you have only one string, omit it
{
str=FileReadString(handle);//read one paragraph to the string variable
if(str!="")//if string not empty
{
NL=0;
for(i=0;i<StringLen(str);i++)
{
if(StringGetChar(str,i)==10)// look for newline (Charcode:10) only
{
NL++;//yes, we found one more newline
ArrayResize(pos,NL);//increase array
pos[NL-1]=i;//write the number of newline position to array
}
}//now we have array with numbers of positions of all newline
for(i=0;i<=NL;i++)//start to read elements of string
{
if(i==0) word=StringSubstr(str,0,pos[0]);//the first element of string (in this case is the number 7)
else word=StringSubstr(str,pos+1,pos-pos-1);
}
}
}
FileClose(handle); //close file
return(0);
Hola maestro codificador,
Estoy tratando de escribir un indicador PPO_alt que es el gráfico 1 en las imágenes a y b, pero no se traza correctamente en el modo de tiempo real
así que trato de modificar el PPO original (gráfico 2), pero todavía no está correctamente también. Por favor, eche un vistazo y podría arreglar ambos.
Gracias de antemano.
PS. Por favor, haz más preguntas si no te queda claro.¿Alguien podría explicar la diferencia entre for(i=0; i=0; i--) y cuando los usamos?
Gracias de antemano.