Erros, bugs, perguntas - página 1015

 
Andrew1469:

Então onde posso encontrar um CFD para o Metatrader 5?

Estou a tentar entrar nos números, mas sou um pouco prejudicado pela falta de clareza na documentação, por exemplo, as tabelas de enumeração não listam os números correspondentes. Descobri por experiência que SYMBOL_CALC_MODE_FOREX é 0, mas 33 e 34 não são de modo algum identificados na resposta do servidor de abertura.

Relativamente aos swaps - entendo correctamente que PositionGetDouble(POSITION_SWAP) e HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) dão efectivamente o swap acumulado na moeda de depósito, independentemente da forma como é acumulado?

Welltrade, a troca que se reflecte no terminal para a posição pelo símbolo PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) acumulado pela história do comércio. Existe uma dependência e esta é determinada pelas condições comerciais.

Utilizar a comparação na construção do se.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
zfs:

welltrade, esse swap que se reflecte no terminal por posição por PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) acumulado por histórico comercial. Existe uma dependência e esta é determinada pelas condições comerciais.

Utilizar a comparação na construção do se.

Obrigado!
 

Por favor, aconselhar.
Existe um código de Perito Consultor:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iMACD(symbol,_Period,12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

Se fechar a janela recentemente aberta, tudo se fecha normalmente e rapidamente.

Modificar o código:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iCustom(symbol,_Period,"Examples\\MACD",12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

E ao fechar a janela, o terminal fica pendurado por um segundo ou assim.

Porque é que o iCustom está pendurado?

 

Tenho uma pergunta a fazer. Sobre a organização da optimização no testador de estratégias. Existem algumas disposições para guardar os resultados do trabalho de optimização, para que possa retomá-lo mais tarde? Caso a optimização demore muito tempo, mais do que um dia.

 
Stasikusssss:

Tenho uma pergunta a fazer. Sobre a organização da optimização no testador de estratégias. Existem algumas disposições para guardar os resultados do trabalho de optimização, para que possa retomá-lo mais tarde? Caso a optimização demore muito tempo, mais do que um dia.

Se não estou enganado, tal funcionalidade é implementada - os registos dos testes são guardados. Contudo, se voltar a compilar o Expert Advisor após o teste, mesmo que não tenha havido alterações, o registo é reiniciado
 
A100:

Ao utilizar uma forma paramétrica, não são permitidos mais de 8 parâmetros. Mas aqui parecem ser 3 parâmetros!?

Falta um parêntese final na sua macro.
 
Alguém pode ajudar com a minha pergunta?
 
fyords:
Alguém pode ajudar com a minha pergunta?

Apenas para desenvolvedores. Em servicedesk.

// Não me está a incitar a piratear o terminal para descobrir como funciona o iCustom() e como a sua chamada é diferente das outras... ?

;)

 
MetaDriver:
Apenas para desenvolvedores. Serviço de Assistência Técnica.
Obrigado. Pensei que seria mais rápido aqui.
 
MetaDriver:
Falta um parêntese final na sua macro.

Sim, obrigado, cometi um erro ao simplificar o código fonte - agora reescrevi o erro de forma diferente

#define  F1( N, X ) ((X) + (N))
#define  F2( X, N ) F1( N, X )

#define  FF( N, X, F )    F( N, F( N, X ))
#define  FFF( N, X, F )   F( N, F( N, F( N, X )))
#define  FFFF( N, X, F )  F( N, F( N, F( N, F( N, X ))))
#define  FFFFF( N, X, F ) F( N, F( N, F( N, F( N, F( N, X )))))

void OnStart()
{
Print( FF( 1, 1, F2 ) ); // нормально
Print( FFF( 1, 1, F2 ) ); // нормально
Print( FFFF( 1, 1, F2 ) ); // ошибка компиляции
Print( FFFFF( 1, 1, F2 ) ); // ошибка компиляции
} 
Apaguei o anterior para evitar confusão. Pode ver pelo exemplo que um erro de compilação ocorre a um determinado nível de nidificação