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

 
Igor Makanu:

devemos estar falando sobre este exemplo:

Não, de forma alguma, antes disso, em Ordersend() o valor era definido a partir da mesma variável. Mesmo na impressão, foi exatamente a mesma coisa.

 
Andrey Sokolov:

Não, não apenas isso, mas antes disso, em Ordersend() o valor era definido a partir da mesma variável. Mesmo a saída de impressão foi exatamente a mesma.

Na minha opinião, Print() nem sempre produz todas as cópias com precisão, não sei qual é a razão

Mas para nosso ponto - normalizar StopLosses e TakeProfits antes de enviá-los ao servidor, está escrito na ajuda, e eu acho que isto é correto.

 
Igor Makanu:

Acho que o Print() nem sempre produz tudo com precisão, não sei qual é a razão

mas, a nosso ver - normalizar os roubos e os takeprofits antes de enviá-los ao servidor, está escrito na ajuda, e eu acho que isto é correto.

Essa variável era de uma expressão normalizada
 
Andrey Sokolov:
A variável foi a partir da expressão normalizada

Não vejo daqui))), normalizar o valor na OrderSend () ao enviá-lo ao servidor - não há opções lá, o valor normalizado será definitivamente enviado ao servidor

 
if(MacdCurrent<0 && MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious && 
         MathAbs(MacdCurrent)>(MACDOpenLevel*Point) && MaCurrent>MaPrevious)


Este é o MACD padrão (como você já percebeu)

Diga-me o que significa esta linhaMathAbs(MacdCurrent)>(MACDOpenLevel*Point) ?

O que sãoMathAbs e(MACDOpenLevel*Point)?

 
Maxim Kuznetsov:

girar o texto em 30-40 graus. Então as etiquetas permanecerão legíveis, mas elas se sobreporão com menos freqüência

adicionar "multiplicação" - quando o ponteiro do mouse estiver dentro da sessão, destaque o preço em tamanho e cor

Antes que o código estivesse muito longe, embora encontrasse uma pequena mudança de graus, sim, agora eu queria fazer uma mudança horizontal e vertical do preço e o código destacado não funciona, por que não sei?

objname = sessão + " Session Low label";

ObjectCreate(objname, OBJ_TEXT, 0, time2 - 1800, price1);

ObjectSet(objname, OBJPROP_BACK, false);

ObjectSet(objname, OBJPROP_XDISTANCE, 477);

ObjectSet(objname, OBJPROP_YDISTANCE, 91);

ObjectSetText(objname, DoubleToStr(price1, Digits), 9, "Tahoma", Lime);

ObjectSet(objname, OBJPROP_ANGLE,-41);

E o que é "multiplicação".
 
Fale-nos brevemente sobre os algoritmos de suavização de citações, quais são eles?
 

há uma pergunta, provavelmente não há resposta: assim, veja, há uma certa ideologia de escrever expressões, que se repete o tempo todo, por exemplo:

if(Tdk>Odk) flag=verdadeiro; há exatamente a expressão de sinal oposto, mas com a mesma ideologia if(Tdk<Odk) flag=verdadeiro; em ambos os casos o mesmo código está envolvido se(Tdk Odk) flag=verdadeiro; mudar sinal > para este <, seria legal se pudéssemos salvar sinal para variável por condição lógica, por exemplo:

if(p===2) save sign >, if(p===1) save sign < e substitui-lo entre valores if(Tdk sign Odk) e eventualmente sem necessidade de usar esta entrada 2 vezes, seria muito conveniente em expressões longas com a mesma ideologia, poderíamos colocar esta coisa em uma função e reduzir a quantidade de código. É possível algo assim?

 
Seric29:

há uma pergunta, provavelmente não há resposta: assim, veja, há uma certa ideologia de escrever expressões, que se repete o tempo todo, por exemplo:

if(Tdk>Odk) flag=verdadeiro; há exatamente a expressão de sinal oposto, mas com a mesma ideologia if(Tdk<Odk) flag=verdadeiro; em ambos os casos o mesmo código está envolvido se(Tdk Odk) flag=verdadeiro; mudar sinal > para este <, seria legal se pudéssemos salvar sinal para variável por condição lógica, por exemplo:

if(p===2) save sign >, if(p===1) save sign < e substitui-lo entre valores if(Tdk sign Odk) e eventualmente sem necessidade de usar esta entrada 2 vezes, seria muito conveniente em expressões longas com a mesma ideologia, poderíamos colocar esta coisa em uma função e reduzir a quantidade de código. É possível algo assim?

Sim.

Leia o código de @fxsaber.

Leia mais aqui

LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
LifeHack для трейдера: замешиваем ForEach на дефайнах (#define)
  • www.mql5.com
— В чем сила, брат?                                   —А сила, брат, в дефайнах                     Вы все ещё пишете на MQL4 и хотите перейти на MQL5, но не знаете с чего начать? Тогда мы идём к вам! Теперь появилась возможность комфортно работать в редакторе MetaEditor MQL5 и при этом использовать MQL4-нотацию (справедливости ради замечу...
 
Seric29:

há uma pergunta, provavelmente não há resposta: assim, veja, há uma certa ideologia de escrever expressões, que se repete o tempo todo, por exemplo:

if(Tdk>Odk) flag=verdadeiro; há exatamente a expressão de sinal oposto, mas com a mesma ideologia if(Tdk<Odk) flag=verdadeiro; em ambos os casos o mesmo código está envolvido se(Tdk Odk) flag=verdadeiro; mudar sinal > para este <, seria legal se pudéssemos salvar sinal para variável por condição lógica, por exemplo:

if(p===2) save sign >, if(p===1) save sign < e substitui-lo entre valores if(Tdk sign Odk) e eventualmente sem necessidade de usar esta entrada 2 vezes, seria muito conveniente em expressões longas com a mesma ideologia, poderíamos colocar esta coisa em uma função e reduzir a quantidade de código. É possível algo assim?

Então escreva você mesmo uma função/template de comparação

if (Compare3(Tdk,Odk)==GREATER_THEN) { flag=true; do_something(); }

Razão: