Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 197
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Assisti ao vídeo sobre o trabalho com indicador externo, escrevi um pequeno código para ver os valores dos amortecedores no testador:
nulo OnTick()
{
duplo Buf1=iCustom(NULL,0, "Shved-Supply-and-Demandand-e600",0,1);
duplo Buf2=iCustom(NULL,0, "Shved-Supply-and-Demandand-e600",1,1);
duplo Buf3=iCustom(NULL,0, "Shved-Supply-and-Demandand-e600",2,1);
duplo Buf4=iCustom(NULL,0, "Shved-Supply-and-Demandand-e600",3,1);
Comment("Buf1=",Buf1,"\n", "Buf2=",Buf2,"\n","Buf3=",Buf3,"\n","Buf4=",Buf4);
}
As zonas aparecem e desaparecem no modo de visualização. Mas o valor dos amortecedores é sempre zero de qualquer forma. Não há maneira de formalizar essas zonas no código?
Talvez exista uma função, além do iCustom, que seria adequada para tais indicadores? Talvez, alguém tenha escrito corujas com tais indicadores?
Não há como usar amortecedores indicadores, eles armazenam valores fractais.
No indicador de propriedades fractals_show = true; você os verá no gráfico
Zonas, objeto gráfico OBJ_RECTANGLE
Você pode obter o valor dessas zonas usando
ObjectGet
Devolve o valor de um objeto especificado de propriedade.
ObjectGet(
nome_objecto da cadeia,// nome do objeto
intindex// identificador de propriedade
);
Você percorre todos os objetos, encontra o certo, e encontra o caminho.
Aproximadamente, parece ser assim
Sabe, bem neste tópico eu coloquei um modelo para uma rede de arrasto que usa o valor indicador enviado a ela em seus cálculos. Procure, não seja preguiçoso.
No final há 1 ou 3 posições abertas e estão ligadas por valor de passo Passo que é um sistema de parada/reversão. Daí a complexidade. Ou talvez seja mais fácil rastrear em todos os pedidos usando a função CalculateProfit(). Agora não consigo descobrir como o valor do indicador neste esquema de tratamento de pedidos pode ser relacionado ao rastreamento do lucro total das posições abertas.
Preciso exatamente da parada de arraste correta sobre o lucro das posições abertas. No final há 1 ou 3 delas e elas estão vinculadas pelo valor do Step, ou seja, é um sistema de parada e reversão. Daí a complexidade. Ou talvez seja mais fácil rastrear em todos os pedidos usando a função CalculateProfit(). Agora não consigo descobrir como o valor do indicador neste esquema de tratamento de pedidos pode ser relacionado ao rastreamento do lucro total das posições abertas.
O indicador, seu valor, pode ser um valor diferente, por exemplo, do MAK na barra desejada. O valor do preço calculado para mover a parada total das posições pode ser enviado para a rede de arrasto.
Entretanto, não está claro que tipo de rede de arrasto você tem em posições abertas - o que e quando exatamente ela arrasta.
Todas as trilhas estão aqui. Do arquivo TrailingFuncLib.mq4 eu assumo a função TrailingStairs - STANDARD-STANDARD Trailing. Cada pedido é rastreado independentemente.
O indicador, seu valor, pode ser um valor diferente, por exemplo, do MAK na barra desejada. O valor do preço calculado para mover a parada total das posições pode ser enviado para a rede de arrasto.
Entretanto, não está claro que tipo de rede de arrasto você tem em posições abertas - o que e quando exatamente ela arrasta.
Em princípio, sim, uma vez me foi oferecida uma rede de arrasto por um preço médio. Tudo parece lógico, mas o que isso significa - preço médio? É (preço de 1 pedido + Passo*Ponto + (preço de 2 pedidos + Passo*Ponto) + preço de 3 pedidos) / 3? Portanto, são muitos parâmetros - você tem que chamar as posições abertas e o preço atual de cada posição. De qualquer forma, esta parada de percurso me incomoda menos do que o fato de que a EA perde valor durante os testes. O que acontecerá no comércio real? Pode ser definido, mas, novamente, não sabemos qual a volta que o gráfico de moedas levará em uma semana ou um mês, então há um ponto fraco - se 3 ordens forem abertas e houver um contra-movimento no mercado, o Expert Advisor falhará devido ao saque. Portanto, devemos pensar em limitar as posições de saque e fechamento antes que o depósito seja zerado. Para resumir uma longa história, é a Fox que mais me interessa))))
Eu mesmo não consigo descobrir e também não encontrei nenhuma informação específica(( A idéia é marcar as fronteiras de preço no código, as zonas mais próximas construídas pelo indicador. Comecei a escrever código, mas estou confuso e não sei se estou fazendo bem ou não. Eu não sei se estou fazendo certo ou errado.
int obj_total=ObjectsTotal();
string name;
for(int i=0;i<obj_total;i++)
{
name = ObjectName(i);
if(ObjectType(name)==OBJ_RECTANGLE)
{
pr1=ObjectGet(name,OBJPROP_PRICE1);// верхняя цена зоны
pr2=ObjectGet(name,OBJPROP_PRICE2);// нижняя цена зоны
}
}
Imaginei que - aparentemente o terminal não tinha memória suficiente - fechava alguns gráficos e funcionava.
Obrigado - de fato, os cálculos acontecem.
E se as variáveis não são do tipo int, mas bool , o que fazer?
Desculpe-me, mas este código é diferente do último?
As diferenças são mínimas. Uma das variáveis é lógica.
A saída dirá verdadeiro ou falso
As diferenças são mínimas. Uma das variáveis é lógica.
A saída dirá verdadeiro ou falso