[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 75

 
Vinin:


Obrigado! Está funcionando como um relógio. ))
 
ZZZEROXXX:

nesta linha

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) { Print("break "+GetLastError()); break;}

A ordem está quebrando, mas o código de erro é 0 - Por que isso acontece?

porque você tem uma verificação da condição de que a ordem selecionada usando a função OrderSelect() não é uma ordem de mercado, imprimir no log e quebrar

o contrário deve ser feito: se a ordem é de mercado e a ordem tem um número mágico e um símbolo e . então feche-a e não interrompa as iterações das ordens

https://book.mql4.com/ru/trading/orderclose

 
Olá a todos! Existe um roteiro ou indicador para a seguinte tarefa? Preciso de uma linha horizontal para ser traçada no terminal e seguir o preço a uma certa distância (como o trajeto, mas apenas graficamente). Quanto este roteiro vai aumentar a carga da MT? Agradecemos antecipadamente!
 
globad:
Olá a todos! Existe um roteiro ou indicador para a seguinte tarefa? Preciso de uma linha horizontal para ser traçada no terminal e seguir o preço a uma certa distância (como o trajeto, mas apenas graficamente). Quanto este roteiro vai aumentar a carga da MT? Agradecemos antecipadamente!

Ação em uma linha - ObjectSet

 
IgorM:

porque você está verificando se a ordem selecionada usando a função OrderSelect() não é uma ordem de mercado, então imprima-a no log e quebre-a.

o contrário deve ser feito: se a ordem é de mercado e a ordem tem um número mágico e um símbolo e . então feche-a e não interrompa as iterações das ordens

https://book.mql4.com/ru/trading/orderclose

ou seja, esta linha

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==falso) { Print("break "+GetLastError()); break;}

mudá-lo para

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==verdadeiro) { aqui vamos fechar tudo }

mas o significado é o mesmo.

Eu realmente não entendo porque OrderSelect pode retornar falso e ainda assim GetLastError() = 0.

 
ZZZEROXXX:

aconselhar sobre a função de fechar todos os pedidos

Eu passaria as ordens em ordem inversa. for(int i=total-1;i>-1;i--)

 

Por favor, ajude-me a encontrar um erro, não consigo corrigi-lo e depois leio-o do arquivo

aqui está o código:

int handle;

valor duplo,Preço,PreçoPróximo,asd;

handle=FileOpen("EURUSD5up.dat",FILE_BIN | FILE_READ | FILE_WRITE);

if(handle<1)
{

Print("can't open file error-",GetLastError()));

retorno(0);

}

asd = (Preço - PriceLast);

FileWriteDouble(handle, asd, DOUBLE_VALUE);

FileSeek(handle, 0, SEEK_SET;)

value=FileReadDouble(handle,DOUBLE_VALUE);

Imprimir(valor);

FileClose(handle);

aqui está o resultado: 2011.02.08 10:18:27 2010.12.31 18:47 TESTE EURUSD,M5: 0

 
splxgf:

Eu passaria as ordens em ordem inversa. for(int i=total-1;i>-1;i--)


obrigado!, é estranho que esta variante não seja apresentada na ajuda da amostra
 

стандартный кодебазовский RSI, являющийся отношением средней положительных изменений к средней отрицательных, не то же самое

que o RSI real, original, que é a razão entre a soma das mudanças positivas e a soma das mudanças negativas.

Embora eu o conheça e entenda há muitos anos, ao contrário do codebase, não vou argumentar a favor de minha versão.

Estas são as bases, acho que todos que estão no mercado há muito tempo sabem que o rsi é sumpos/sumneg*100

a propósito, eles também torceram o MacDi - eles fizeram o EMA da roda principal da máquina

 
sergeev:

Ação de uma linha - ObjectSet

Muito obrigado por sua resposta. Infelizmente eu não sou muito bom em programação. Você poderia me mostrar como deve ser, por exemplo, para uma linha com atraso de 3p para cima com a cor azul da linha.

Razão: