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

 
Vyacheslav Kornev:
O que não se deve entender aqui. Acima da barra está, em um sentido geral. Para o resultado final, está sob a barra. O ponto mais à esquerda é na verdade de onde a linha começa.
A linha é vermelha na parte superior, rosa na parte inferior.

Os detalhes são importantes.
Pergunta errada - onde está o ponto certo?
 
Artyom Trishkin:
Os detalhes são importantes.
Pergunta errada - onde está o ponto certo?
Bem, isso é mostrado na janela de dados. Suba a linha. Está no mínimo no penúltimo. Esse é o valor que eu pude tomar
 
Vyacheslav Kornev:
Bem, isso é mostrado na janela de dados. Suba a linha. Está no penúltimo mínimo. Esse é o valor que eu pude tomar
Portanto, o indicador tem dois amortecedores. Ele dá valores para bar1. Para bar0 você precisa calculá-lo como eu disse antes.
 
Artyom Trishkin:
Portanto, o indicador tem dois amortecedores. Ela emite valores para bar1. Para bar0 você precisa calculá-lo como eu disse antes.
Foi assim que eu fiz!
Escreva-o de forma totalmente adequada.
 
Vyacheslav Kornev:
Foi assim que eu fiz!
Escreva-o completamente corretamente.

Você precisa calcular o valor em bar0. Equação de uma linha reta:

//+------------------------------------------------------------------+
//| Уравнение прямой                                                 |
//+------------------------------------------------------------------+
double EquationDirect(const int left_bar,const double left_price,const int right_bar,const double right_price,const int bar_to_search) {
  return((right_bar==left_bar)?left_price:(right_price-left_price)/(right_bar-left_bar)*(bar_to_search-left_bar)+left_price);
}
//+------------------------------------------------------------------+

Pelos nomes das variáveis formais é tudo claro o que passar para a função.

Devolve o valor na barra que você está procurando.

 
Artyom Trishkin:

Você precisa calcular o valor em bar0. Equação de uma linha reta:

Pelos nomes das variáveis formais é tudo claro o que passar para a função.

Devolve o valor na barra procurada.


Oh, meu Deus, é complicado. Consegui obter o valor, tudo que tenho que fazer é escrever ObjectGetValueByShift, ewwww. Por favor, enviem-me alguns tutoriais em vídeo, já procurei como fazer indicadores, mas não encontrei isso aí. Tudo funciona. Extraído da mesma perguntahttp://www.mql5.com/ru/forum/121347

Não tenho idéia se é possível fazer tampões como este... mas funciona. Eu realmente não entendo o que é ncurbar.

//---- Move Object in Chart

ObjectMove("Trend DN-0",1,Time[st1],s1);

ObjectMove("Trend DN-0",0,Time[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0);

//----

ObjectMove("Trend UP-0",1,Time[rt1],r1);

ObjectMove("Trend UP-0",0,Time[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0);

Помогите с кодом!!!
Помогите с кодом!!!
  • 2009.10.23
  • www.mql5.com
Ситуация такая, пишу индикатор, он должен рисовать уровни поддержки и сопротивления...
 
Vyacheslav Kornev:

Oh, meu Deus, é complicado. Consegui obter o valor, tudo que tenho que fazer é escrever ObjectGetValueByShift, ewwww. Por favor, envie-me alguns tutoriais em vídeo, já procurei como fazer indicadores, mas não encontrei nada disso lá. Tudo funciona.

//---- Move Object in Chart

ObjectMove("Trend DN-0",1,Time[st1],s1);

ObjectMove("Trend DN-0",0,Time[st2],s2);

Dn[nCurBar] = ObjectGetValueByShift("Trend DN-0",0);

//----

ObjectMove("Trend UP-0",1,Time[rt1],r1);

ObjectMove("Trend UP-0",0,Time[rt2],r2);

Up[nCurBar] = ObjectGetValueByShift("Trend UP-0",0);


Agora, faça a EA desenrolar o valor que você obtém da linha para o registro e execute-o NÃO em modo visual. Pare o teste e olhe para o registro.

Eu lhe disse que você não pode obter valores a partir de objetos gráficos no testador não em modo visual - eles simplesmente não constroem.

E é difícil para você adicionar ao indicador um cálculo normal de apenas uma linha para cada valor de duas linhas.

Bem, eu não vou persuadi-lo.

 
Artyom Trishkin:

Agora faça uma impressão EA do valor que você obtém da linha para o registro e execute NÃO em modo visual. Pare o teste e olhe para o registro.

Eu lhe disse que você não pode obter valores a partir de objetos gráficos no testador não em modo visual - eles simplesmente não constroem.

E é difícil para você adicionar ao indicador um cálculo normal de apenas uma linha para cada valor de duas linhas.

Bem, eu não vou convencê-lo.


Eu simplesmente não sei como adicioná-lo.

Não entendo, estou recebendo erros, onde adiciono isso?
 
Vyacheslav Kornev:

Só não sei como... onde adicioná-lo...

Eu não entendo, tenho erros, onde adicioná-lo

Você sabe o que é uma função? Eu lhe dei uma função. Você pode escrevê-lo fora do corpo de qualquer função indicadora e chamá-lo a partir do código, inserindo os dados necessários. Na saída, ele lhe dará o preço do bar que você está procurando.

Escrevi um artigo há cerca de 300 anos no mql4.com - há uma descrição de como trabalhar com a equação da linha reta - a função é agora modificada, mas não mudou sua função que retorna o preço da barra.

Aqui está um indicador com base nesse artigo.

 
Artyom Trishkin:

Você sabe o que é uma função? Eu lhe dei uma função. Escreva-o fora do corpo de qualquer função indicadora e chame-o a partir do código, inserindo os dados necessários. Na saída, ele lhe dará o preço do bar que você está procurando.

Escrevi um artigo há cerca de 300 anos no mql4.com - há uma descrição de como trabalhar com a equação da linha reta - a função é agora modificada, mas não mudou sua função que retorna o preço da barra.

Aqui está um indicador com base nesse artigo.


Acho que não faz diferença como tomar o preço em comércio real, porque o indicador e o Expert Advisor têm que ser anexados ao gráfico?