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á,
Não consegui fazer o que queria.
Tenho um amortecedor de muwing diferente na minha cabeça, tenho um par diferente, do que aquele que tinha na minha cabeça.
Quando 0 em vez de i (para uma barra) vejo o resultado, quando a barra (corrente = i) mostra que não consigo encontrar dados para o segundo par.
O gráfico do par está aberto, na Janela de Mercado não sei onde confundir as coisas.
Dois pares diferentes num só indicador - então onde está o meu erro?
Tento colocar 0 e ver o resultado como um comentário, mas não tenho uma linha.
Para esclarecer: coloco ma1 e ma2 num par e ma3 e ma4 no outro par.
Obrigado.
Primeiro está a contar de 0----->prev_calculated-1 e precisa de contar desde a última barra até ao total de tarifas
isto:
alterá-lo para isto:
A segunda coisa que realmente não compreendo, se queres obter as muwings de diferentes instrumentos ou prazos diferentes, não consegui encontrar nenhum deles no código.
Bom dia, cavalheiros!
Quem me pode ajudar a adaptar os seguintes indicadores para o MT5 (pré-fichas).
Atirar-lhe-ei 10 dólares por uma cerveja para o trabalho.
Bom dia, cavalheiros!
Quem me pode ajudar a adaptar os seguintes indicadores para o MT5 (pré-fichas).
Atirar-lhe-ei 10 dólares por uma cerveja para o trabalho.
Urain,
Obrigado pela vossa atenção.
Não posso fazê-lo desenhar. Se puder, coloque-o aqui.
Acho que é fixe fazer diferentes pares e diferentes molduras em xpert.
//+------------------------------------------------------------------+
//|2_2_v2.mq5 |
//|Yuriy Tokman |
//| yuriytokman@gmail.com|
//+------------------------------------------------------------------+
#propriedade copyright "Yuriy Tokman"
#ligação de propriedade"yuriytokman@gmail.com"
#propriedade versão "1.00"
#janela_indicadora de propriedade_separate_window
#nóculos_indicadores de propriedade 6
#property indicator_plots 2
#indicador de propriedade_tipo1 DRAW_COLOR_LINE
#property indicator_type2 DRAW_COLOR_LINE
#indicador de propriedade_color1 clrBlue
#indicador de propriedade_color2 clrRRed
#property indicator_style1 STYLE_SOLID
#property indicator_style2 STYLE_SOLID
//# indicador de propriedade_label1 "EURUSD
//# indicador de propriedade_label2 "GBPUSD
input int período_1 = 13 ;
input int período_2 = 55 ;;
input ENUM_MA_METHOD ma_method = MODE_SMA;
input ENUM_APPLIED_PRICE applied_price = PREÇO_CLOSE;
duplo ExtMapBuffer1[];
duplo ExtMapBuffer2[];
em EMHandle1;
em EMHandle2;;
int EMHandle11;
em EMHandle22;
duplo ma1[],ma2[],ma3[],ma4[];// tampão de tempo
duplo p1 = SymbolInfoDouble("EURUSD",SYMBOL_POINT);
duplo p2 = SymbolInfoDouble("GBPUSD",SYMBOL_POINT);
//+------------------------------------------------------------------+
//| Função de inicialização de indicador personalizado |
//+------------------------------------------------------------------+
int OnInit()
{
//--- cartografia de amortecedores indicadores
SetIndexBuffer(0, ExtMapBuffer1, INDICATOR_DATA);
SetIndexBuffer(1, ExtMapBuffer2, INDICATOR_DATA);
SetIndexBuffer(2, ma1, INDICATOR_DATA);
SetIndexBuffer(3, ma2, INDICATOR_DATA);
SetIndexBuffer(4, ma3, INDICATOR_DATA);
SetIndexBuffer(5, ma4, INDICATOR_DATA);
PlotIndexSetInteger(0, PLOT_SHIFT, 0);
PlotIndexSetInteger(1, PLOT_SHIFT, 0);
PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID);
PlotIndexSetInteger(1,PLOT_LINE_STYLE,STYLE_SOLID);
//---
PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrBlue);
PlotIndexSetInteger(1,PLOT_LINE_COLOR,clrRRed);
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1);
PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_LINE);
PlotIndexSetInteger(1,PLOT_DRAW_TYPE,DRAW_LINE);
//--- nome para DataWindow
IndicatorSetString(INDICADOR_SHORTNAME, "2_2_MA");
//---
//--- definir precisão
IndicatorSetInteger(INDICADOR_DIGITS,4);
EMHandle1 = iMA("EURUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle2 = iMA("EURUSD", 0, period_2, 0, ma_method, applied_price);
EMHandle11 = iMA("GBPUSD", 0, period_1, 0, ma_method, applied_price);
EMHandle22 = iMA("GBPUSD", 0, period_2, 0, ma_method, applied_price);
ArraySetAsSeries(ExtMapBuffer1,true);
ArraySetAsSeries(ExtMapBuffer2,true);
ArraySetAsSeries(ma1,true);
ArraySetAsSeries(ma2,true);
ArraySetAsSeries(ma3,true);
ArraySetAsSeries(ma4, true);
//---
return(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int OnCalculate (const int taxas_total,// tamanho do preço da matriz[];
const int prev_calculated,// número de barras disponíveis ;na chamada anterior;
const int begin,// que índice em matriz de preços[] começará dados válidos;
const double &price[]) // matriz, sobre a qual o indicador será calculado;
{
if(CopyBuffer(EMHandle1, 0, 0, 1, ma1) < 0){Print("CopyBuffer ma1 error =", GetLastError());}
if(CopyBuffer(EMHandle2, 0, 0, 1, ma2) < 0){Print("CopyBuffer ma2 error =", GetLastError());}
if(CopyBuffer(EMHandle11, 0, 0, 1, ma3) < 0){Print("CopyBuffer ma3 error =", GetLastError());}
if(CopyBuffer(EMHandle22, 0, 0, 1, ma4) < 0){Print("CopyBuffer ma4 error =", GetLastError());}
ExtMapBuffer1[0]=(ma1[0]-ma2[0])/p1;
ExtMapBuffer2[0]=(ma3[0]-ma4[0])/p2;
Comentário(
"\n=====================",
"\n ma1[] : ",DoubleToString(ma1[0],5),
"\n ma2[] : ",DoubleToString(ma2[0],5),
"\n ma3[] : ",DoubleToString(ma3[0],5),
"\n ma4[] : ",DoubleToString(ma4[0],5),
"\n ExtMapBuffer1[] : ",DoubleToString(ExtMapBuffer1[0],4),
"\n ExtMapBuffer2[] : ",DoubleToString(ExtMapBuffer2[0],4)
);
//---
//--- valor de retorno de pré_cálculo para a próxima chamada
return(rates_total);
}
nulo OnDeinit(const int razão)
{
Comentário(");
}
//+------------------------------------------------------------------+
Bom dia a todos.
Tenho um pedido para refazer este indicador para o MT5 porque só o utilizo no comércio.
Não sei onde escrever, mas talvez me possa ajudar a resolver esta questão: em MT4 basta copiar uma EA para os peritos da pasta e executar o teste de estratégia, tudo parece bom e funciona, mas em MT5 não consigo entender como testar uma EA, atiro os peritos da pasta, com a extensão .Copiei-os e colei-os noutro sítio. Pode dizer-me como copiar uma EA e onde colá-los correctamente?
Não sei onde escrever, mas talvez me possam ajudar a resolver este problema: no MT4 apenas copio uma EA para a pasta dos peritos, coloco-a no Strategy Tester, tudo parece bem e funciona, mas no MT5 não consigo entender como testar uma EA, coloco-a na pasta dos peritos com a extensão .Copiei-os e colei-os noutro sítio. Pode dizer-me como copiar correctamente uma EA e onde colá-los?
Pode correr tanto no testador como em tempo real, só pode correr um EA com a extensão ex5 ou a versão compilada,
Se abrir um ficheiro mq5 no MetaEditor, prima F7 e ficará satisfeito. O código-fonte com extensão mq5, isto é apenas informação de teste, a fim de obter o byte-código (código executável) a partir dele, é necessário compilá-lo.
Urain obrigado pela resposta, só eu conheço todas as bases, compilei e fiz tudo de acordo com as instruções, apesar de o saber, mas mais uma vez li, não sei o que poderia estar errado, aqui estão 2 peles anexadas. Descarreguei o MT5 a partir deste site.
Urain obrigado pela resposta, só eu conheço todas as bases, compilei e fiz tudo de acordo com as instruções, mesmo sabendo, mas mais uma vez li, nem sei o que poderia estar errado, aqui estão 2 peles anexadas. Descarreguei o MT5 a partir deste site.
Quero colocar a minha cópia de grr-al.ex5 na pasta certa e recarregar o MT5 depois de me certificar de que está na pasta certa.
A propósito, o MT5 é o único no computador?
Urain finalmente descobriu, o problema é que os EAs são copiados não para a pasta C:\Program Files\MT5\MQL5\Experts mas para C:\Users\Dyma\AppData\Roaming\MetaQuotes\Terminal\8B052D0699A0083067EBF3A36123603B\MQL5\Experts, não sei porque é que isto é incómodo, estes malditos programadores))))