Aconselha-se como aumentar (recarregar) uma posição num EA baseado no MQL5 Wizard, onde as posições são abertas usando
virtual int LongCondition(); virtual int ShortCondition();
Escrevi um robô com base no seguinte artigo
https://www.mql5.com/ru/articles/367"Criar um robô comercial em 6 passos" e funciona bem, mas qualquer tentativa de influenciar o tamanho da posição
(quer aumente ou diminua) através da repetição da geração da condição em , por exemplo
LongCondition();
A posição já aberta permanece inalterada, só pode ser apagada após o accionamento do sl , tp.
Gosto do MQL5 Wizard, pode facilmente e rapidamente "construir" uma EA multi-indicador, alterar o módulo de seguimento de sl sl, alterar o módulo de gestão de dinheiro.
Mas a minha tentativa de escrever uma EA que abre uma posição mínima quando uma tendência é confirmada por um indicador e aumenta (aumenta) a posição quando a tendência é confirmada por outro indicador
deparou-se com o problema anteriormente descrito - uma posição já aberta não muda quando se volta a emitir um sinal para abrir através de, por exemplo,LongCondition();
Вы не знаете, как устроены торговые классы, и пугаетесь слов "Объектно-ориентированное программирование"? На самом деле вовсе не обязательно всё это знать, чтобы написать свой собственный модуль торговых сигналов - достаточно следовать простым правилам. Всё остальное сделает Мастер MQL5, и вы получите готовый торговый робот!
Olá, não consigo descobrir como usar o modo "cálculo matemático", gostaria de ver um exemplo de código, se possível, ou dizer-me onde o posso encontrar
Mas assim que o lanço no testador, carrega o histórico para o seguinte instrumento; não pode ser carregado. Como posso desactivá-lo para o testador????????
2013.04.04 14:09:21 Core 1 GBOTEURUSD17DEC2012: início da sincronização da história
Olá, pode dizer-me porque não consigo entrar no terminal. Introduzo o servidor, número de conta e palavra-chave, mas a seguinte entrada aparece no registo: 2013.04.05 12:51:20 Rede'68712': ligação a 208.64.66.68:443 perdida
Tentei outro servidor, a mesma coisa, o que estou a fazer mal?
Infelizmente, o caso que descreve insere-se na categoria do que aqui é referido (no Fórum) como "afinação fina".
Para resolver o problema, é necessário alterar o comportamento do perito. Para o fazer:
1. Deve criar uma nova classe (por exemplo, CMyExpert) que herde da classe CExpert.
2. Recarregar método de processamento no mesmo, alterando o seu comportamento.
3. Substituir (manualmente) incluir ficheiro no código fonte do Expert Advisor.
para
4. Substituir (manualmente) o nome da classe no código fonte do Expert Advisor.
para
Um exemplo de classe é anexado. Sair do método se houver uma posição aberta e não houver operações sobre ela é comentada (linha 53).
Lembre-se de seguir os passos 3 e 4 após cada "regeneração" do Conselheiro Especialista no Feiticeiro.
PS Se tiver alguma dúvida, não hesite em contactar-me.
Muito obrigado, tudo funciona! Adiciona o mesmo volume quando a tendência é confirmada por outro indicador.
Agora temos mais uma pergunta - é possível alterar o tamanho do "adicionar"? Por exemplo, o tamanho padrão da posição no módulo de gestão de dinheiro é 0,1, enquanto eu quero adicionar ("adicionar") 0,3 ou 0,35, etc. calculado pelo Expert Advisor.
Como posso passar o tamanho de "recarga" da sub-rotinaLongCondition() para o módulo de comércio?
Muito obrigado, está a funcionar! Adiciona o mesmo volume na confirmação de tendências a partir de outro indicador.
Agora tenho mais uma pergunta - é possível mudar o tamanho da "parte"? Por exemplo, o tamanho padrão da posição no módulo de gestão de dinheiro é 0,1, enquanto eu quero adicionar ("adicionar") 0,3 ou 0,35, etc. calculado pelo Expert Advisor.
Como posso passar o tamanho de "recarga" da sub-rotinaLongCondition() para o módulo de comércio?
//+------------------------------------------------------------------+//| Long position open or limit/stop order set |//+------------------------------------------------------------------+bool CExpert::OpenLong(double price,double sl,double tp)
{
if(price==EMPTY_VALUE) return(false);
//--- get lot for opendouble lot=LotOpenLong(price,sl);
//--- check lot for openif(lot==0.0) return(false);
//---return(m_trade.Buy(lot,price,sl,tp));
}
//+------------------------------------------------------------------+//| Short position open or limit/stop order set |//+------------------------------------------------------------------+bool CExpert::OpenShort(double price,double sl,double tp)
{
if(price==EMPTY_VALUE) return(false);
//--- get lot for opendouble lot=LotOpenShort(price,sl);
//--- check lot for openif(lot==0.0) return(false);
//---return(m_trade.Sell(lot,price,sl,tp));
}
Sobrecarga na sua classe (semelhante ao Processamento) e alterar o algoritmo de determinação do lote.
felidae:
Нет, всё в порядке, просто я дал случайно свою ссылку. Ваша должна быть по идее такая: https://www.mql5.com/ru/users/vik1991/accounting/chooseout
Obrigado pela resposta, há alguma forma de aumentar os ganhos ou apenas esperar que a procura aumente?
Aconselha-se como aumentar (recarregar) uma posição num EA baseado no MQL5 Wizard, onde as posições são abertas usando
virtual int LongCondition();
virtual int ShortCondition();
Escrevi um robô com base no seguinte artigo
https://www.mql5.com/ru/articles/367"Criar um robô comercial em 6 passos" e funciona bem, mas qualquer tentativa de influenciar o tamanho da posição
(quer aumente ou diminua) através da repetição da geração da condição em , por exemplo
LongCondition();
A posição já aberta permanece inalterada, só pode ser apagada após o accionamento do sl , tp.
Gosto do MQL5 Wizard, pode facilmente e rapidamente "construir" uma EA multi-indicador, alterar o módulo de seguimento de sl sl, alterar o módulo de gestão de dinheiro.
Mas a minha tentativa de escrever uma EA que abre uma posição mínima quando uma tendência é confirmada por um indicador e aumenta (aumenta) a posição quando a tendência é confirmada por outro indicador
deparou-se com o problema anteriormente descrito - uma posição já aberta não muda quando se volta a emitir um sinal para abrir através de, por exemplo,LongCondition();
Quero deixar apenas ferramentas forex no mercado, o código funciona bem
Mas assim que o lanço no testador, carrega o histórico para o seguinte instrumento; não pode ser carregado. Como posso desactivá-lo para o testador????????
2013.04.04 14:09:21 Core 1 GBOTEURUSD17DEC2012: início da sincronização da história
Aconselha-se como aumentar (recarregar) uma posição num EA que se baseia no MQL5 Wizard e onde as posições são abertas através de
Infelizmente, o caso que descreve enquadra-se na categoria de "melhoria" aqui (no Fórum).
Para resolver o problema, é necessário alterar o comportamento do Conselheiro Especialista. Para o fazer:
1. Precisamos de criar uma nova classe (por exemplo, CMyExpert) que herde da classe CExpert.
2. Recarregar método de processamento no mesmo, alterando o seu comportamento.
3. Substituir (manualmente) incluir ficheiro no código fonte do Expert Advisor.
#include <Expert\Expert.mqh>para
#include <Expert\MyExpert.mqh>4. Substituir (manualmente) o nome da classe no código fonte do Expert Advisor.
para
O exemplo de classe está em anexo. A saída do método se houver uma posição aberta e não houver operações sobre ela é comentada (linha 53).
Não se esqueça de seguir os itens 3 e 4 após cada "regeneração" do Conselheiro Especialista no Feiticeiro.
PS Se tiver alguma dúvida, por favor contacte-me.
Infelizmente, o caso que descreve insere-se na categoria do que aqui é referido (no Fórum) como "afinação fina".
Para resolver o problema, é necessário alterar o comportamento do perito. Para o fazer:
1. Deve criar uma nova classe (por exemplo, CMyExpert) que herde da classe CExpert.
2. Recarregar método de processamento no mesmo, alterando o seu comportamento.
3. Substituir (manualmente) incluir ficheiro no código fonte do Expert Advisor.
para
4. Substituir (manualmente) o nome da classe no código fonte do Expert Advisor.
para
Um exemplo de classe é anexado. Sair do método se houver uma posição aberta e não houver operações sobre ela é comentada (linha 53).
Lembre-se de seguir os passos 3 e 4 após cada "regeneração" do Conselheiro Especialista no Feiticeiro.
PS Se tiver alguma dúvida, não hesite em contactar-me.
Muito obrigado, tudo funciona! Adiciona o mesmo volume quando a tendência é confirmada por outro indicador.
Agora temos mais uma pergunta - é possível alterar o tamanho do "adicionar"? Por exemplo, o tamanho padrão da posição no módulo de gestão de dinheiro é 0,1, enquanto eu quero adicionar ("adicionar") 0,3 ou 0,35, etc. calculado pelo Expert Advisor.
Como posso passar o tamanho de "recarga" da sub-rotinaLongCondition() para o módulo de comércio?
Muito obrigado, está a funcionar! Adiciona o mesmo volume na confirmação de tendências a partir de outro indicador.
Agora tenho mais uma pergunta - é possível mudar o tamanho da "parte"? Por exemplo, o tamanho padrão da posição no módulo de gestão de dinheiro é 0,1, enquanto eu quero adicionar ("adicionar") 0,3 ou 0,35, etc. calculado pelo Expert Advisor.
Como posso passar o tamanho de "recarga" da sub-rotinaLongCondition() para o módulo de comércio?
A classe CExpert tem métodos:
Sobrecarga na sua classe (semelhante ao Processamento) e alterar o algoritmo de determinação do lote.
A classe CExpert tem métodos:
Sobrecarga na sua classe (semelhante ao Processing) e alterar o algoritmo de detecção de lotes.
Há um indicador que diz que funciona ao preço de abertura
código