Perguntas de um "boneco" - página 211

 
Sou estúpido, mas quero ser inteligente, por isso podem ajudar-me a começar?
 
goldrail:
Sou estúpido, mas quero ser inteligente, por isso podem ajudar-me a começar?
É preciso começar por ser auto-suficiente. Google, por exemplo... "como negociar forex".
 
lordlev:

É possível implementá-lo na MQL5 e como?

1) Economia de resultados de optimização para a frente e para trás da tabela Expert Advisor? Isto é, quero salvar todos os 10 000 resultados durante a optimização, e não apenas um que passe pela história.

2) Alterar as definições de optimização a partir do Expert Advisor.

3) Passar por 1 e 2 pontos e executar uma nova optimização através de novos parâmetros.

Problema resolvido. Isto pode ser resolvido usando as grandes ferramentas .bat e .ini. É estranho que não seja implementado no MQL5.
 
Pode dizer-me onde o Metaeditor armazena as suas definições? E o mais importante, como transferir o esquema de cores do editor de um para o outro?
 
veti-k:
Obrigado))
veti-k:
Olá, ajude a resolver um problema.

A essência do problema não é dividir correctamente os preços!

Aqui está um exemplo: 1,2829 + 1,2814 / 2 = 1,9236 que deve ser 1,2821.

Aqui está o código SUM = Alto[i+1] + Baixo[i+1] / 2;

Pode dizer-me onde está o erro?
SUM =( Alto[i+1] + Baixo[i+1] )/ 2.0;
 

Existe um análogo da função OrderCloseBy na MQL5?

https://docs.mql4.com/ru/trading/ordercloseby

Ou seja, é possível poupar num spread quando se inverte uma posição, como era possível na MQL4?

OrderCloseBy - Документация на MQL4
  • docs.mql4.com
OrderCloseBy - Документация на MQL4
 
solandr:

Existe um análogo da função OrderCloseBy na MQL5?

https://docs.mql4.com/ru/trading/ordercloseby

Ou seja, é possível poupar num spread quando se inverte uma posição, como era possível na MQL4?

Não é necessário no MT5, pois as posições do contador sobrepõem-se automaticamente sem uma chamada de função, semelhante ao MT4 com uma chamada de função.
 

Porque será que os endereços na memória do PC precisam de ser alinhados (funções como _aligned_malloc())? Quais são as razões fundamentais? Não consigo perceber. Há algum tipo de resposta por todo o lado, alguém pode enviá-la para mim em algum lugar?

 

Deparei-me com outro problema que não consigo resolver.

Quero obter os valores máximos e mínimos dos últimos meses fechados.

Coloco dados nas matrizes MaxVal e MinVal:

CopyHigh(_Symbol, _Period, 0, ikolbar, MaxVal );

CopyLow(_Symbol, _Period, 0, ikolbar, MinVal );

Imprimir no ecrã:

for(iii=1; iii<ikolbar ;iii++)
{
Imprimir(MinVal[ikolbar - 1 - iii], ", MaxVal[ikolbar - 1 - iii]);

}

Estou a transmitir no testador no gráfico mensal e no diário de bordo que estou a receber.

Preço máximo e mínimo do último dia de cada mês anterior:)

Resultado muito inesperado.

Se alguém puder explicar porque é que isto acontece e como evitar resultados tão imprevisíveis, ficar-lhe-ia muito grato.

p.s. Parece estar relacionado com o facto de que a modalidade era "apenas preços de abertura". Mas porque deveria afectar a pesquisa de dados históricos?

E há uma garantia de que se eu testar neste modo em quadros mais pequenos, o histórico será encontrado correctamente?

 
MegaVoin:

Deparei-me com outro problema que não consigo resolver.

Quero obter os valores máximos e mínimos dos últimos meses fechados.

Coloco dados nas matrizes MaxVal e MinVal:

CopyHigh(_Symbol, _Period, 0, ikolbar, MaxVal );

CopyLow(_Symbol, _Period, 0, ikolbar, MinVal );

Imprimir no ecrã:

for(iii=1; iii<ikolbar ;iii++)
{
Imprimir(MinVal[ikolbar - 1 - iii], ", MaxVal[ikolbar - 1 - iii]);

}

Estou a transmitir no testador no gráfico mensal e no diário de bordo que estou a receber.

Preço máximo e mínimo do último dia de cada mês anterior:)

Resultado muito inesperado.

Se alguém puder explicar porque é que isto acontece e como evitar resultados tão imprevisíveis, ficar-lhe-ia muito grato.

p.s. Parece estar relacionado com o facto de que a modalidade era "apenas preços de abertura". Mas porque deveria afectar a pesquisa de dados históricos?

E há alguma garantia de que se eu testar neste modo em quadros mais pequenos, o histórico será encontrado correctamente?


Inserir o código utilizando o SRC. Experimente desta forma:

CopyHigh(_Symbol, PERIOD_MN1, 0, ikolbar, MaxVal );
CopyLow (_Symbol, PERIOD_MN1, 0, ikolbar, MinVal ); 

double max=0.0, min=0.0;
for (iii=1; iii<ikolbar; iii++)
{  max=MathMax(max, MaxVal[iii]);
   max=MathMin(min, MinVal[iii]);
}

Print(“MaxVal = “,DoubleToString(max,_Digits),”, MinVal = “,DoubleToString(min,_Digits));