Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 592
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
Por favor, informe porque adicionar a string #property strict impede que flechas sejam desenhadas, aqui está todo o código
//+------------------------------------------------------------------+
//| revisão oscilante.mq4 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#direitos autorais "Copyright 2018, MetaQuotes Software Corp."
#link da propriedade "https://www.mql5.com"
#propriedade versão "1.00"
#janela_indicadora de propriedade_separarate_window
#property indicator_buffers 5
# indicadores de propriedade_plots 4
//... - Sinalizador de trama
#indicador de propriedade_label1 "Signaler
#property indicator_type1 DRAW_LINE
#indicador de propriedade_color1 clrRed
#property indicator_style1 STYLE_SOLID
#largura_do_indicador de propriedade1 1
//... - trama Z
#indicador de propriedade_label2 "Z
#property indicator_type2 DRAW_LINE
#indicador de propriedade_color2 clrBeige
#property indicator_style2 STYLE_DOT
#largura_do_indicador de propriedade2 1
//--- Lote Bay
#indicador de propriedade_label3 "Bay
#property indicator_type3 DRAW_ARROW
#Indicador de propriedade_color3 clrLightSkyBlue
#property indicator_style3 STYLE_SOLID
#largura_do_indicador de propriedade3 1
//...- Lote Venda
#indicador de propriedade_label4 "Sell" (Vender)
#property indicator_type4 DRAW_ARROW
#indicador de propriedade_color4 clrDeepPink
#property indicator_style4 STYLE_SOLID
#largura_do_indicador de propriedade4 1
//--- parâmetros de entrada
input int PCCI=14; // período indicador PCCI
entrada duplo KCCI=1,1; // fator de ajuste
input int PMOM=14; //período do indicador de Momentum
input int KMOM=111111; // fator de suavização
input int PATR=14; // período indicador ATR
input int KATR=11111111; // fator de suavização
input int PFOR=14; // período do indicador Forse
entrada na KFOR=1111; // fator de suavização
input int PTVR=12; // período p do indicador TVI
input int PTVS=12; // período c do indicador TVI
entrada no PTVU=5; //período no indicador TPI
input int KTVl=111; // coeficiente de nivelamento
input int POSF=12; // período do indicador rápido AOS
entrada no POSS=26; // período do slot indicador AOS
input int POSZ=9; //pequeno período do indicador AOS
entrada na KAOS=11111111; // fator de suavização
entrada no KAD=111; //fator de deslocamento do indicador AOS
entrada dupla KK=2,0; // filtro para setas
input int Emenda=20; //desenhar setas na janela indicadora em formato digerível
//--- amortecedores indicadores
Double SignalerBuffer[];
duplo Z_Buffer[];
duplo BayBuffer[]; duplo BayBuffer[];
duplo SellBuffer[]; duplo SellBuffer[];
PatchBuffer duplo[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorSetInteger(INDICADOR_DIGITS,0);
SetIndexBuffer(0,SignalerBuffer);
SetIndexBuffer(1,Z_Buffer);
SetIndexBuffer(2,BayBuffer);
SetIndexBuffer(3,SellBuffer);
SetIndexBuffer(4,PatchBuffer);
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2.241);
SetIndexArrow(3.242);
SetIndexEmptyValue(2,0.0);
SetIndexEmptyValue(3,0.0);
IndicatorShortName("Basement signaler(" +(string) PATR + ")");
//---
return(INIT_SUCCEED);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int OnCalculate(const int taxas_total,
const int prev_calculado,
constant datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int i , limit=taxas_total-prev_calculadas ;
duplo cci,atr,mãe,forc,ao,ac,ad,tvi,osma ;
//---- definir os parâmetros de contagem
if(prev_calculated==0)limit--;
senão limite++;
//---- conta
for(i=limit-1; i>=0; i--)
{
cci=iCCI(NULL,0,PCCI,PRICE_TYPICAL,i)/KCCI;
mom=(iMomentum(NULL,0,PMOM,PRICE_TYPICAL,i)-100)*KMOM ;
forc=iForce(NULL,0,PFOR,MODE_SMA,PRICE_TYPICAL,i)*KFOR;
tvi=iCustom(NULL,0, "TVI_v2",PTVR,PTVS,PTVU,4,i)*KTVl ;
osma=iOsMA(NULL,0,POSF,POSS,POSZ,PRICE_TYPICAL,i)*KAOS;
atr=iATR(NULL,0,PATR,i)*KATR;
ao=iAO(NULL,0,i)*KAOS ;
ac=iAC(NULL,0,i)*KAOS ;
ad=iAD(NULL,0,i)/KAD ;
SignalerBuffer[i]=(cci+mom+forc+tvi+osma+atr+ao+ac+ad)/9 ;
}
for(i=limit-1; i>=0; i--)
{
Z_Buffer[i] = (SignalerBuffer[i]+SignalerBuffer[i-1])/2 ;
PatchBuffer[i] = MathAbs(SignalerBuffer[i]-Z_Buffer[i]) ;
}
for(i=0; i<limit && !IsStopped(); i++)
{
if(Z_Buffer[i]>SignalerBuffer[i]&&Z_Buffer[i+1]<SignalerBuffer[i+1]&&PatchBuffer[i]>KK)
BayBuffer[i]=SignalerBuffer[i]-Amenda;
if(Z_Buffer[i]<SignalerBuffer[i]&&Z_Buffer[i+1]>SignalerBuffer[i+1]&&PatchBuffer[i]>KK)
SellBuffer[i]=SignalerBuffer[i]+Amendment;
}
//--- valor de retorno de pré_cálculo para a próxima chamada
retorno(taxas_total);
}
//+------------------------------------------------------------------+
Para o vendedor deste indicador.
Alguém pode me dizer o que fazer se, durante um teste EA, ele se recusar a copiar buffers?
Identificar a causa.
Identificar a causa.
E o que poderia ser? É o tamanho do código? Eu desabilitei toda a lógica propositadamente, deixei apenas cópia de buffer e nada
E o que poderia ser? É o tamanho do código? Eu desabilitei toda a lógica propositadamente, deixei apenas cópia de buffer e nada
Um erro de memória fora da memória aparece ao executar um teste (não inicia). Como consertá-lo?
Após reiniciar o terminal, o teste começa e depois de alguns testes, ele fica novamente fora da memória.
Um erro de memória fora da memória aparece ao executar um teste (não inicia). Como consertá-lo?
Após reiniciar o terminal, o teste começa, e depois de vários testes fora da memória novamente.
O programa que você está testando consome toda a sua memória. Procure por erros nele. Verifique os logs "Journal" e "Expert Advisors" na demonstração (não no testador) - o que diz lá? Talvez diga algo sobre o vazamento de memória durante a mudança de horário.
Não vou adivinhar mais sem o código.
O programa que você está testando consome toda a sua memória. Procure por erros nele. Veja os logs "Log" e "Expert Advisors" na demonstração (não no testador) - o que diz ali? Talvez diga algo sobre o vazamento de memória durante a mudança de horário.
Eu não adivinharia mais sem o código.
Há muitos objetos não removidos nos registros após o término dos testes. Vários milhares... Isso é um problema?
Há uma pilha de objetos mal-sucedidos nos registros após o término dos testes. Vários milhares... É esse o problema?
É aqui que eles serão capazes de responder com certeza.