Erros, bugs, perguntas - página 635

 
piero:

diz-me o que se passa, não consigo perceber qual é o problema com o stymie?

Seria desejável dar registos completos desde o momento em que o scrip é adicionado ao gráfico até à sua conclusão.

Não há uma indicação clara do registo acima:

  1. o tempo em que o guião foi executado
  2. é o mesmo guião, não outro guião com lógica extra dentro?
  3. não está no testador?
 
como descobrir quantas linhas há num ficheiro... em cada linha com valores separados por ";"
 

Comecei agora a aprender Metatrader e MQL5. Estou a tentar criar o meu próprio indicador.

Decidi fazer níveis de resistência e apoio com base no indicador fractal padrão.

Redesenhei algumas delas e removi ou comentei muitas outras coisas. O resultado é o seguinte código:

#janela_do_cartão_indicador de propriedade
#nóculos_indicadores de propriedade 1
#property indicator_plots 1
#property indicator_type1 DRAW_LINE
#indicador de propriedade_color1 clrDeepPink
#indicador de propriedade_label1 "Nível
#property indicator_style1 STYLE_SOLID
#largura_do_indicador de propriedade1 1
//---- buffers indicadores
duplo ExtBuffer[];
//+------------------------------------------------------------------+
//| Função de inicialização do indicador personalizado |
//+------------------------------------------------------------------+
nulo OnInit()
{
//---- cartografia de amortecedores indicadores
SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
IndicatorSetInteger(INDICADOR_DIGITOS,_Dígitos);
// precisão do indicador igual à precisão do gráfico?
//---- estabelece a primeira barra a partir de que índice será desenhado
// PlotIndexSetInteger(0,PLOT_ARROW,217);
// PlotIndexSetInteger(1,PLOT_ARROW,218);
//---- seta muda ao desenhar
// PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,ExtArrowShift);
// PlotIndexSetInteger(1,PLOT_ARROW_SHIFT,-ExtArrowShift);
//---- define o valor vazio da linha de desenho...
// PlotIndexSetDouble(0,PLOT_EMPTTY_VALUE,EMPTY_VALUE);
// PlotIndexSetDouble(1,PLOT_EMPTY_VALUE,EMPTY_VALUE);
//---- inicialização feita
}
//+------------------------------------------------------------------+
//| Acelerador/Decelerador Oscilador|
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total, // número de barras de entrada
const int prev_calculated, // número de barras processadas na chamada anterior
const datetime &Time[],
const double &Open[],
const double &High[],
const double &Low[],
const double &Close[],
const long &TickVolume[],
const long &Volume[],
const int &Spread[])
{
int i,limit;
//---
if(rates_total<5)
return(0);
//---
if(prev_calculated<7)
{
limite=2;
//--- limpar arrays
ArrayInitialize(ExtBuffer,EMPTY_VALUE);
}
senão limit=rates_total-5;

for(i=limit;i<rates_total-3 && !IsStopped();i++)
{
//---- Fractal Superior
if(Alto[i]>Alto[i+1] && Alto[i]>Alto[i+2] && Alto[i]>=Alto[i-1] && Alto[i]>=Alto[i-2])
ExtBuffer[i]=High[i];
senão ExtBuffer[i]=EMPTY_VALUE;

//---- Fractal Inferior
if(Baixo[i]<Baixo[i+1] && Baixo[i]<Baixo[i+2] && Baixo[i]<=Baixo[i-1] && Baixo[i]<=Baixo[i-2])
ExtBuffer[i]=Low[i];
senão ExtBuffer[i]=EMPTY_VALUE;
}
//--- OnCalculate done. Devolver novo pré_calculado.
return(rates_total);
}

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

Sem erros na compilação. No entanto, as linhas (níveis) não são traçadas.

Pode aconselhar qual poderá ser o problema?

Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
Документация по MQL5: Основы языка / Препроцессор / Свойства программ (#property)
  • www.mql5.com
Основы языка / Препроцессор / Свойства программ (#property) - Документация по MQL5
 
Raven:

Pode dizer-me qual poderá ser o problema?

pelo menos dois pontos devem estar em barras adjacentes para que a linha seja visível.

Experimente

else ExtBuffer[i]=EMPTY_VALUE;//заменить на

else ExtBuffer[i]=ExtBuffer[i-1];

   IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
// точность индикатора равна точности графика??

Sim.


Rz: para o código no fórum é um grande botão SRC, use-o)

 

ocorre um erro ao enviar uma encomenda... Qual poderá ser a razão?

2012.02.08 19:15:22 padrão (EURUSD,M10) CTrade::PositionOpen: pedido compra 0,10 (nulo) a 1,32710 sl: 1,3253030 tp: 1,33021 [pedido inválido]

 

Actualizado para construir 581.

Por alguma razão, os indicadores de volume AD e OBV são uma linha sólida no EURUSD. A fotografia encontra-se em anexo.

Por esta razão, os testes e a optimização do Expert Advisor não deram em nada.

 

Não posso colocar uma inscrição inclinada ("Descrição") sobre um objecto TREND.

Depois descobri que também não podia pôr a inscrição na linha manualmente, talvez esteja a fazer algo errado...

void Trend(string name,double price)
{
      ObjectCreate(0,name,OBJ_TREND,0,TimeCurrent(),price,TimeCurrent()+10000,price);
      ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,true);
      ObjectSetString(0,name,OBJPROP_TEXT,DoubleToString(price,_Digits));
      ObjectSetInteger(0,name,OBJPROP_COLOR,clrLimeGreen);
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,false);
      ObjectSetString(0,name,OBJPROP_FONT,"Arial");
      ObjectSetInteger(0,name,OBJPROP_FONTSIZE,10);
}

EM MT4 :

 

Ao código:

class Test1
{
    public:
        void Test1(int i) {}
};

class Test2: public Test1
{
    public:
        void Test2(int i) {}
};


Recebo um erro:

Test1' - parâmetros errados contam test.mqh 10 8

A questão foi discutida aqui algures, mas ainda não encontrei uma solução.

A "solução" é assim:

class Test1
{
    protected:
        void Test1() {}
    public:
        void Test1(int i) {}
};

class Test2: public Test1
{
    public:
        void Test2(int i) {}
};

mas, de alguma forma, não é correcto.

O que é que estou a fazer mal?

 
Karlson:

Não posso colocar uma inscrição inclinada ("Descrição") sobre um objecto TREND.

Depois descobri que também não podia pôr a inscrição na linha manualmente, talvez esteja a fazer algo errado...

Clicar com o botão direito do rato no gráfico. Clique => Propriedades no menu de contexto. A janela Propriedades irá abrir-se. No separador "Mostrar", marcar a caixa "Mostrar descrições de objectos". A janela Propriedades também pode ser acedida premindo a tecla F8.
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы объектов / Свойства объектов - Документация по MQL5
 

Desde que se tornou um servidor do MIGBank-Demo, tem havido problemas persistentes de ligação, actualmente incapaz de se ligar.



Razão: