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

 
Basicprof:

Porque quando eu crio uma seta. Create(0, "ArrowCheck",0,TimeCurrent(),1.14565) daBiblioteca Padrão MQL5 o objeto é criado e imediatamente apagado.

O mais provável é que você não tenha desconectado(Destaque()) o objeto gráfico do objeto da seta.
 

Olá a todos!

A tarefa é encontrar um análogo de tarifas_total em um Consultor Especialista.

Transferência de uma matriz de um indicador para um Expert Advisor. Numeração de acordo com o número de barras no histórico 1 -> taxas_total

ArraySetAsSeries(Lx_Indikator,false);

O problema: Quando o parâmetro - barras não corresponde ao tamanho da matriz no indicador, os valores ficam misturados na saída.

 int bars=Bars(_Symbol,_Period);
 int copy=CopyBuffer(MA_handle,0,0,bars,Lx_Expert);

Embora pela lógica, eu preciso de dados começando porLx_Expert[1], então o tamanho da matriz copiada não importa, mas acontece que importa.

2017.10.09 20:35:03.055 Indicador (EURUSD,M5) faixa = 14165
2017.10.09 20:35:04.303 Indicador (EURUSD,M5) LxIndicador[1] 1507552800.0
2017.10.09 20:35:04.303 Indicador (EURUSD,M5) LxIndikator[2] 1.173416294117647
2017.10.09 20:35:04.304 Indicador (EURUSD,M5) LxIndikator[3] 1.0
2017.10.09 20:35:04.304 Barras Expert (EURUSD,M5) = 14000
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[1] 1.17194
2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[2] 14152.0

2017.10.09 20:35:04.304 Expert (EURUSD,M5) LxExpert[3] 85.0



 
Top2n:

Problema: quando o parâmetro - barras não corresponde ao tamanho da matriz no indicador, a saída é confundida pelos valores.

Você sincroniza o número de barras entre o indicador e o Expert Advisor?

 

Olá, você poderia me dizer como selecionar o último pedido no loop de pedidos?

for(int i=1; i<OrdersTotal(); i++)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

É assim que você seleciona o primeiro se houver um próximo. Como selecionar o último pedido? Se alguém souber, por favor, escreva!

 
vikzip:

Olá, você poderia me dizer como selecionar o último pedido no loop de pedidos?

É assim que você seleciona o primeiro se houver um próximo. Como selecionar o último pedido? Se alguém souber, por favor, escreva!


Tente ir por este caminho.

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
    if(OrderSelect(i,SELECT_BY_POS))                                           // Если есть следующий
     {

O último não funciona dessa maneira?

if(OrderSelect(OrdersTotal(),SELECT_BY_POS))  
 
Aleksey Vyazmikin:

Tente desta forma

O último não funciona assim?

Ao menos aconselhar corretamente... Você precisa de OrdensTotal()-1.
 
Alexey Kozitsyn:
Ao menos aconselhar corretamente... Você precisa de OrdensTotal()-1.

Então eu esclareci se funciona ou não dessa maneira ;)

Não sei exatamente, pois eu mesmo nunca lidei com mandados - trabalho com uma classe por encomenda.

 
Aleksey Vyazmikin:

Assim, esclareci se funciona ou não dessa forma ;)

Não sei exatamente, pois eu mesmo não lidei com mandados - trabalho com uma classe por encomenda.

Para você e para a pessoa que você queria ajudar: não funciona dessa maneira. Você receberá um erro.

E é desejável lidar com isso, pois é a base para trabalhar com todas as matrizes em mql.

 

Obrigado por sua ajuda! Então a coisa certa a fazer seria escrever?

for(int i=OrdersTotal(); i>=1; i--)                                           // Цикл перебора ордер
   {
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS))                   //Выбор последнего??
   {    
 
vikzip:

Obrigado por sua ajuda! Então a coisa certa a fazer é escrever?

Encontre aqui o código que você precisa

Только "Полезные функции от KimIV".
Только "Полезные функции от KimIV".
  • 2011.02.18
  • www.mql5.com
Все функции взяты из этой ветки - http://forum.mql4...