Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 988

 
-nan(ind) não há valor?
 
Yevhenii Levchenko:
-nan(ind) não é um número?

não um número

 
Yevhenii Levchenko:

sizeof() retorna o tamanho do tipo de variável


É isso mesmo. Uma matriz é uma coleção de dados do mesmo tipo. Se você o escreve assim

int masiv[1];
Print(sizeof(masiv));//вернёт 4, потому что int 4 байта, если так masiv[2]- будет 8.
int Perem;
Print(sizeof(Perem));//вернёт 4, потому что int 4 байта
//если записать вот так
int masiv[];
Print(sizeof(masiv));вернёт 52 вне зависимости где и как объявлен массив.
//если записать вот так
int masiv[][3][3];
Print(sizeof(masiv));вернёт 52.


Se você passar qualquer uma dessas matrizes para uma função, haverá uma 52 pergunta sobre o porquê.

 
Existe algum script para o mt5 apagar todos os gráficos de seta restantes após as negociações abertas, caso contrário é um longo tempo para apagar manualmente os objetos um por um.
 
Konstantin Lebedev:
Existe algum script para o mt5 apagar todas as exibições gráficas restantes na forma de setas após a abertura de negócios, pois leva muito tempo para apagar manualmente os objetos um a um.

Você não precisa fazê-lo um a um, você pode apagar todos os objetos gráficos de uma só vez:


 
Konstantin Lebedev:
Existe algum script para o mt5 apagar todas as exibições gráficas restantes na forma de setas após a abertura de negócios, caso contrário leva muito tempo para apagar manualmente os objetos um por um.

O baterista não entende do que se trata a pergunta. Na aba "História" ou "Comércio", menu de contexto e excluir tudo de uma só vez. Você também pode desativar a adição.


 
Olá. Ainda (devagar, qual é a pressa?) dominando o MT5. Diante da incompreensão do registro. Dica ou se houver um indicador com uma linha de reserva a tempo, por favor, envie-me o link)))) Obrigado
for(int i=limit; i>=0; i--)
{
...

MqlDataTime tm;
TimeToStruct(time[i],tm);

if(tm.hour==18 && tm.min==30 && Period()<=PERIOD_H1)
 {
//функция для создания таймлинии (вертикальная) ВСЕ ОК!

//КАК ВЫГЛЯДИТ ЗАПИСЬ СОЗДАНИЯ БУФЕРНОЙ ЛИНИИ ? ТАК НЕ ПОЛУЧАТСЯ 
for(int j=shift; j>=0; j--)
 {
CL=iClose(NULL,_Period,j);
Buff[i]=close[j]; // =CL;

if(Buff[j-1]!=Buff[j])
Buff[j-1]=EMPTY_VALUE;
 }
}

Fazendo
 

Ajude por favor


//+------------------------------------------------------------------+

//| Lex_Bands.mq4 |
//| Lex |
//| |
//+------------------------------------------------------------------+
#propriedade "Lex" direitos autorais
#propriedade rigorosa
#janela_do_cartão_indicador de propriedade
#property indicator_buffers 3
# indicadores de propriedade_plots 3
//--- Traçado Linha_Média
#indicador de propriedade_label1 "Middle_Line"
#property indicator_type1 DRAW_LINE
#Indicador de propriedade_color1 clrLightSeaGreen
#property indicator_style1 STYLE_SOLID
#largura_do_indicador de propriedade1 2
//--- traçar a linha Up_Line
#indicador de propriedade_label2 "Up_Line
#property indicator_type2 DRAW_LINE
#Indicador de propriedade_color2 clrLightSeaGreen
#property indicator_style2 STYLE_SOLID
#largura_do_indicador de propriedade2 2
//--- linha_da_linha
#indicador de propriedade_label3 "Down_Line
#property indicator_type3 DRAW_LINE
#Indicador de propriedade_color3 clrLightSeaGreen
#property indicator_style3 STYLE_SOLID
#largura_do_indicador de propriedade3 2
//--- parâmetros indicadores
input int Período InpBandsPeriod=20; // Período MA
entrada no período OtklPeriod=20; // Período Otkloneniya
input int OtklShag=5; // Shag Otkloneniya
input int MA_Type=0; // MA Tipo 0 - SMA, 1 - EMA, 2 - SMMA, 3 - LWMA
input int Preço_Aplicado=4; // 0 - PREÇO_PREÇO, 1 - PREÇO_OPEN, 2 - PREÇO_ELEVADO, 3 - PREÇO_BAIXO, 4 - PREÇO_MEDIANO, 5 - PREÇO_TÍPICO, 6 - PREÇO_PESO

//--- amortecedores indicadores
double_LineBuffer[];
double_LineBuffer[];
double_LineBuffer[]; double Down_LineBuffer[];

//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
int OnInit()
{
IndicatorBuffers(7);
SetIndexBuffer(0,Middle_LineBuffer);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(1,Up_LineBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(2,Down_LineBuffer);
SetIndexStyle(2,DRAW_LINE);
retorno(0);
}
//+------------------------------------------------------------------+
//| Função de iteração de indicador personalizada |
//+------------------------------------------------------------------+
int start()
{
int counted_bars = IndicatorCounted();
if(counted_bars < 0) return(-1);
if(counted_bars > 0) counted_bars;
int limit = Barras - contadas_barras;
if(counted_bars==0) limit--;
duplo dOtklSumMax[];
duplo SrOtklMax[];
duplo dOtklSumMin[];
duplo SrOtklMin[];
for(int i=1;i<=limite;i++)
{
for(int j=i;j<=i+OtklPeriod;j=j+OtklShag)
{
double max=High[iHighest(NULL,0,MODE_HIGH,OtklShag,j)];
double min=Low[iLowest(NULL,0,MODE_HIGH,OtklShag,j)];
duplo Otklmax=max-iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j);
duplo Otklmin=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,j)-min;
doubleOtklmax=Otklmax*Otklmax;
dOtklSumMax[j]=dOtklSumMax[j-1]+dOtklSumMax[j];
dOtklSumMax[OtklShag]=dOtklSumMax[j];
duplo dOtklmin=Otklmax*Otklmax;
dOtklSumMin[j]=dOtklSumMin[j-1]+dOtklSumMin[j];
dOtklSumMin[OtklShag]=dOtklSumMin[j];
}
Middle_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i);
SrOtklMax[i]=MathSqrt(dotklSumMax[OtklShag]/(OtklPeriod/OtklShag))
SrOtklMin[i]=MathSqrt(dOtklSumMin[OtklShag]/(OtklPeriod/OtklShag))
Up_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)+SrOtklMax[i];
Down_LineBuffer[i]=iMA(NULL,0,InpBandsPeriod,0,MA_Type,Applied_Price,i)-SrOtklMin[i];
}
retorno(0);
}

Aqui está o código indicador. Não tem erros quando compilado, mas não mostra nada no gráfico.
 
Xander1603:

Por favor, ajude.

...

Aqui está o código para o indicador. Não dá nenhum erro na compilação, mas não mostra nada no gráfico.

Insira o código corretamente:


E não crie muitos tópicos com uma simples pergunta.

 
Como você converte cordel em enumeração?