Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Olá programador mestre,
Estou tentando escrever um indicador PPO_alt que é o gráfico 1 nas figuras a e b, mas não é plotado corretamente no modo de tempo real
por isso tento modificar o PPO orignal (gráfico 2), mas ele ainda não está correto também. Por favor, dê uma olhada e poderia consertar os dois.
Obrigado de antemão.
PS. Por favor, faça mais perguntas se não estiver claro para você.
Olá mestre codificador,
Estou tentando escrever um indicador PPO_alt que é o gráfico 1 nas figuras a e b, mas não é plotado corretamente no modo de tempo real
por isso tento modificar o PPO orignal (gráfico 2), mas ele ainda não está correto também. Por favor, dê uma olhada e poderia consertar os dois.
Obrigado de antemão.
PS. Por favor, faça mais perguntas se não estiver claro para você.Por que você está fazendo exatamente a mesma coisa em duas voltas?
Olá Mladen
precisam de ajuda
não receber cotação ao vivo por favor ajude
//+------------------------------------------------------------------+
//| função de iniciação de especialista |
//+------------------------------------------------------------------+
#janela_do_cartão_indicador de propriedade
duplo ExtMapBuffer1[];
externo int RSI_periódico = 14;
nível RSI_externo int = 50;
cor externa BuyColor = clrLime;
cor externa SellColor = clrRed;
extern int horizontal = 20;
Exterior int vertical = 50;
extern int shift = 1;
extern double percentage = 0,25;
extern string fontmode = "Arial";
tamanho da fonte int externo = 10;
cor externa fontcolor = clrSkyBlue;
espaçamento entre colunas int externo = 100;
int init()
{
//----
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização especializada |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjetosDeleteAll();
ObjectDelete("INFO");
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
//----
string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};
símbolo de corda;
string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};
infolabel de cadeia de caracteres;
string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};
fonte de corda = "Terminal";
int counted_bars=IndicatorCounted();
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" + símbolo + i, "SYMBOL", tamanho da fonte, fonte, Pink);
Display("sym" + símbolo + i, horizontal,vertical +((i+1)*18)); ObjectSetText("symlabel" + símbolo + i, horizontal,vertical +((i+1)*18));
ObjectSetText("sym" + símbolo + i, "" + símbolo + "", tamanho da fonte, fonte, Amarelo);
for(int j=0;j<timelimit;j++)
{
infolabel = info2[j];
Display("infolabel" + j, horizontal+((j+1)*100),vertical);
ObjectSetText("infolabel" + j, timeText[j], tamanho da fonte, fonte, Pink);
Display("infolabel2" + símbolo + ((j+1)* espaçamento de colunas), horizontal+((j+1)*100),vertical +((i+1)*18)));
ObjectSetText("infolabel2" +símbolo + ((j+1)*espaçamento de colunas), infolabel , tamanho da fonte, fonte, fontcolor);
}
}
//----
retorno(0);
}
Display vazio(nome da corda, int x, int y)
{
ObjectCreate(nome, OBJ_LABEL, 0, 0, 0, 0);
ObjectSet(nome, OBJPROP_CORNER, 0);
ObjectSet(nome, OBJPROP_XDISTANCE, x);
ObjectSet(nome, OBJPROP_YDISTANCE, y);
ObjectSet(nome, OBJPROP_BACK, FALSE);
}
Por que você está fazendo exatamente a mesma coisa em duas voltas?
oh, eu só quero traçar uma linha com pontos para facilitar a sua visualização.
A linha importante é a multielevada com a qual tenho problemas.
Obrigado por perguntar.
Algoritmo "Close BUY" e "Close SELL".
Olá Pro-Coders,
Estou me perguntando se alguém poderia rever o algoritmo "Close BUY" e "Close SELL".
A EA não está abrindo nova posição depois que a interrupção da perda ou mudança de tendência tiver ocorrido.
O sistema está apenas fechando a posição, a próxima posição será optando por uma nova mudança de tendência, o que leva à perda de oportunidades.
(Por favor, veja a captura de tela).
void CheckForClose()
{
RefreshRates();
duplo cl_diCustom0 = iCustom(s_símbolo,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,0,bar);
duplo cl_diCustom1 = iCustom(s_símbolo,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);
duplo cl_diCustom2 = iCustom(s_símbolo,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar);
duplo cl_diCustom3 = iCustom(s_símbolo,TenkanKijunTf, "Tenkan Sen-Kijun Sen",0,Tenkan,Kijun,1,bar+1);
double cl_diMA3 = iMA(s_símbolo,MaTimeframe,MaPeriod,0,MaType,PRICE_CLOSE,bar);
double cl_diMA4 = iMA(s_símbolo,MaTimeframe,MaPeriod,0,MaType,PRICE_CLOSE,bar+1);
for(int i=0;i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) break;
if(OrderMagicNumber()!= MAGIC) continua;
if(OrderSymbol() != s_symbol) continue;
//+------------+
//| Fechar COMPRA |
//+------------+
if(cl_diCustom0!=cl_diCustom1) // Verificar tendência
{
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,clCloseCloseBuy);
if(buyClose==false)
{
int ErrorCode = GetLastError();
string ErrDesc = ErrorDescription(ErrorCode);
string ErrAlert= StringConcatenate("Fechar Pedido de Compra - Erro ",ErrorCode,": ",ErrorDesc);
if(ShowAlerts == true) Alert(ErrAlert);
string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)", muitos: ",OrderLots()"," Ticket: ",OrderTicket());
Print(ErrLog);
}
pausa;
} // mod
}
}
//+-------------+
//| Fechar a venda |
//+-------------+
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 == falso)
{
ErrorCode = GetLastError();
ErrDesc = ErrorDescription(ErrorCode);
ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode",": ",ErrDesc);
if(ShowAlerts===verdadeiro) Alert(ErrAlert);
ErrLog=StringConcatenate("Perguntar: ",MarketInfo(s_symbol,MODE_ASK)", muitos: ",OrderLots()"," Ticket: ",OrderTicket()),";
Print(ErrLog);
}
pausa;
} // mod
}
}
}
}
Olá Pro-Coders,
Estou me perguntando se alguém poderia rever o algoritmo "Close BUY" e "Close SELL".
A EA não está abrindo nova posição depois que a interrupção da perda ou mudança de tendência tiver ocorrido.
O sistema está apenas fechando a posição, a próxima posição será optando por uma nova mudança de tendência, o que leva à perda de oportunidades.
(Por favor, veja a captura de tela).
Mude isto :
for(int i=0;i<OrdersTotal(); i++)
a isto
for(int i=OrdensTotal()-1;i>=0 ; i--)
Informe-nos o que aconteceu. Talvez seja apenas um problema de construção de um metatrader específico (uso atualmente o build 788).
construção de mina 765
Pruchik forneceu esta versão aqui,
https://www.mql5.com/en/forum/173588
mas precisa de um roteiro extra para remover as linhas do indicador Gann sq9 se ele for alterado, deixando linhas no gráfico.
precisa de ajuda para esta edição de informações de exibição......
Olá Mladen & All senior Codder
precisa de ajuda para esta edição de informações de exibição......
não obtendo cotação ao vivo por favor, ajude
//+------------------------------------------------------------------+
//| função de iniciação de especialista |
//+------------------------------------------------------------------+
#janela_do_cartão_indicador de propriedade
duplo ExtMapBuffer1[];
externo int RSI_periódico = 14;
nível RSI_externo int = 50;
cor externa BuyColor = clrLime;
cor externa SellColor = clrRed;
extern int horizontal = 20;
Exterior int vertical = 50;
extern int shift = 1;
extern double percentage = 0,25;
extern string fontmode = "Arial";
tamanho da fonte int externo = 10;
cor externa fontcolor = clrSkyBlue;
espaçamento entre colunas int externo = 100;
int init()
{
//----
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de desinicialização especializada |
//+------------------------------------------------------------------+
int deinit()
{
//----
ObjetosDeleteAll();
ObjectDelete("INFO");
//----
retorno(0);
}
//+------------------------------------------------------------------+
//| função de início especializado |
//+------------------------------------------------------------------+
int start()
{
//----
string symlist2[] = {"NIFTY", "B.NIFTY", "XAUUSD", "GOLD"};
símbolo de corda;
string info2[] = {MODE_HIGH,MODE_LOW,MODE_BID,MODE_ASK};
infolabel de cadeia de caracteres;
string timeText[] = {"DayHigh", "DayLow", "Bid", "Ask"};
fonte de corda = "Terminal";
int counted_bars=IndicatorCounted();
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" + símbolo + i, "SYMBOL", tamanho da fonte, fonte, Pink);
Display("sym" + símbolo + i, horizontal,vertical +((i+1)*18)); ObjectSetText("symlabel" + símbolo + i, horizontal,vertical +((i+1)*18));
ObjectSetText("sym" + símbolo + i, "" + símbolo + "", tamanho da fonte, fonte, Amarelo);
for(int j=0;j<timelimit;j++)
{
infolabel = info2[j];
Display("infolabel" + j, horizontal+((j+1)*100),vertical);
ObjectSetText("infolabel" + j, timeText[j], tamanho da fonte, fonte, Pink);
Display("infolabel2" + símbolo + ((j+1)* espaçamento de colunas), horizontal+((j+1)*100),vertical +((i+1)*18)));
ObjectSetText("infolabel2" +símbolo + ((j+1)*espaçamento de colunas), infolabel , tamanho da fonte, fonte, fontcolor);
}
}
//----
retorno(0);
}
Display vazio(nome da corda, int x, int y)
{
ObjectCreate(nome, OBJ_LABEL, 0, 0, 0, 0);
ObjectSet(nome, OBJPROP_CORNER, 0);
ObjectSet(nome, OBJPROP_XDISTANCE, x);
ObjectSet(nome, OBJPROP_YDISTANCE, y);
ObjectSet(nome, OBJPROP_BACK, FALSE);
}Oi pessoal, tenho um pequeno pedido... tenho tentado escrever uma função que lê de um arquivo de texto e retornar seus valores para uma matriz de caracteres... o arquivo de texto é formado por várias linhas cada uma delas é um nome de par, exceto a primeira linha que é o número total de pares
Por ex:
7
CADJPY
CHFJPY
EURJPY
GBPJPY
NZDJPY
USDJPY
AUDJPY
encontrei no site de metaquotas o seguinte código mas estou preso...gostaria de criar uma matriz de caracteres e depois de ler a primeira linha do texto redimensioná-la para este valor e depois preenchê-la com o nome dos pares...alguém pode me ajudar muito 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);
Olá programador mestre,
Estou tentando escrever um indicador PPO_alt que é o gráfico 1 nas figuras a e b, mas não é plotado corretamente no modo de tempo real
por isso tento modificar o PPO orignal (gráfico 2), mas ele ainda não está correto também. Por favor, dê uma olhada e poderia consertar os dois.
Obrigado de antemão.
PS. Por favor, faça mais perguntas se não estiver claro para você.Alguém poderia explicar a diferença entre for(i=0; i=0; i--) e quando os estamos usando?
Obrigado de antemão.