Perguntas para os desenvolvedores:
1. Por que não posso usar outros sinais?
Por exemplo,"Sinais baseados no cruzamento de duas EMAs"
https://www.mql5.com/ru/forum/2935/page1
2 A biblioteca de sinais será reabastecida?
3) Será possível criar suas próprias classes de sinais usando o "Wizard" (Assistente)?
4. será possível criar indicadores baseados em matrizes de indicadores usando o "Wizard"?
5. Será possível salvar as configurações do assistente para ajuste posterior da estratégia/indicador criado diretamente no assistente?
Em minha opinião, os itens. 3-5 facilitariam muito a vida dos traders que não são programadores.
E uma "fantasia" completa seria a capacidade de criar seus próprios cassetes de sinais para quaisquer indicadores com a ajuda do assistente, como se estivesse escrevendo equações no Excel :)
Como está implementado no Metaquots e no CQG.

- www.mql5.com
//+------------------------------------------------------------------+ //| Verificar se a condição para uma venda foi atendida //| INPUT:none| //| OUTPUT: Peso da voz de 0 a 100| //| OBSERVAÇÃO: Não.| //+------------------------------------------------------------------+ int CInnerBarSignal::ShortCondition(){ //--- a condição é verificada pela barra anterior fechada Print("call short condition"); if( Low(1) < Low(2) && High(2)<High(3) && Low(2)>Low(3) && Close(3)<Open(3) ){ return(100); } //--- condição não atendida return(0); }
Ao executar o EA gerado no modo "all ticks", você pode ver que a função é executada duas vezes na abertura da barra
2011.06.07 11:42:15 Core 1 conexão fechada
2011.06.07 11:42:15 Core 1 arquivo de registro "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" escrito
2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 barras) gerados em 62 ms (total de barras no histórico 8814, tempo total 312 ms)
2011.06.07 11:42:15 Core 1 OnTester result 0
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition
É assim que foi projetado e o processamento posicional não está disponível no módulo de sinal?

- 2010.12.15
- MetaQuotes Software Corp.
- www.mql5.com
Estou escrevendo meu próprio módulo de sinais, no qual a função de teste é a seguinte:
Ao executar o EA gerado no modo "all ticks", você pode ver que a função é executada duas vezes na abertura da barra
2011.06.07 11:42:15 Core 1 conexão fechada
2011.06.07 11:42:15 Core 1 arquivo de registro "D:\metatrader5\Tester\Agent-127.0.0.0.1-3000\logs\20110607.log" escrito
2011.06.07 11:42:15 Core 1 EURUSD,H1: 72504 ticks (24 barras) gerados em 62 ms (total de barras no histórico 8814, tempo total 312 ms)
2011.06.07 11:42:15 Core 1 OnTester result 0
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 23:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 22:00:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 21:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 20:00:00 call short condition
2011.06.07 11:42:15 Core 1 2011.06.02 19:00:00 call short condition
É assim que ele foi projetado e o processamento posicional não está disponível no módulo de sinal?
Por padrão, o Expert Advisor é gerado pelo Assistente para trabalhar com preços de abertura.
No código-fonte do Expert Advisor, substitua:
//--- Especialista em inicialização if(!Ext_Expert.Init(...,...,false,...))
para:
//--- Especialista em inicialização if(!Ext_Expert.Init(...,...,true,...))
No início de 2011, lançamos a primeira versão do Wizard MQL5. Essa etapa forneceu aos traders uma ferramenta simples e clara para a criação automática de robôs de negociação. Qualquer usuário do MetaTrader 5 foi capaz de escrever seu próprio Expert Advisor sem saber como programar em MQL5.
Isso é bom, mas não é suficiente para os iniciantes escreverem seus próprios robôs, ou seja, você pode escrevê-los, mas apenas usando sua biblioteca. E se um iniciante precisar escrever um Expert Advisor com seus próprios sinais? Aqui estamos...
Se quiser que qualquer iniciante possa escrever seu próprio Expert Advisor, você precisará adicionar um visualizador. Isso é implementado, por exemplo, no Trade Navigator. Lá, é possível adicionar sinais à biblioteca selecionando alguma seção do gráfico. E o visualizador transfere tudo sozinho para a linguagem de programação. E ele leva em conta tudo: candlesticks, indicadores e linhas gráficas no gráfico. Ou seja, você pode criar qualquer biblioteca. E então você pode criar qualquer Expert Advisor a partir desses sinais. É isso que devemos buscar.
Abraços!
Isso é bom, mas não é suficiente para que os iniciantes escrevam seus próprios robôs, ou seja, é claro que você pode escrever, mas somente usando sua biblioteca. E se um iniciante precisar escrever um especialista com seus próprios sinais? Aqui estamos...
Se quiser que qualquer iniciante possa escrever seu próprio Expert Advisor, você precisará adicionar um visualizador. Isso é implementado, por exemplo, no Trade Navigator. Lá, é possível adicionar sinais à biblioteca selecionando alguma seção do gráfico. E o visualizador transfere tudo sozinho para a linguagem de programação. E ele leva em conta tudo: candlesticks, indicadores e linhas gráficas no gráfico. Ou seja, você pode criar qualquer biblioteca. E então você pode criar qualquer Expert Advisor a partir desses sinais. É isso que devemos buscar.
Abraços!
Você ainda não está familiarizado com esses artigos?
1. MQL5 Wizard: Como escrever seu próprio módulo para manutenção de posições abertas
2. MQL5 Wizard: Como escrever seu próprio módulo de gerenciamento de capital e risco
3. MQL5 Wizard: Como escrever seu módulo de sinais de negociação
4. Assistente MQL5: Como criar um Expert Advisor sem programação
Você pode me dizer como colocar ordens pendentes no assistente?
Outra pergunta: esse código está correto?
//+------------------------------------------------------------------+ //|| Objeto especialista global| //+------------------------------------------------------------------+ CExpert ExtExpert; CExpert ExtExpert1; //+------------------------------------------------------------------+ //| Função de inicialização do especialista //+------------------------------------------------------------------+ int OnInit() { //--- Especialista em inicialização if(!ExtExpert.Init("GBPCHF",Period(),Expert_EveryTick,Expert_MagicNumber) || !ExtExpert1.Init("GBPJPY",Period(),Expert_EveryTick,Expert_MagicNumber)) { //--- falhou printf(__FUNCTION__+": error initializing expert"); ExtExpert.Deinit(); ExtExpert1.Deinit(); return(-1); }
E qual símbolo/período deve ser definido no testador nesse caso?
2011.06.16 10:15:25 Core 1 2011.06.01 00:00:00 CExpert::Init: wrong symbol or timeframe (must be GBPCHF:PERIOD_H1)
No Expert Advisor gerado, há um parâmetro Inp_Signal_PricrLivel. Ele é definido em 2/4 pontos significativos.
Valor 0 - entrada no mercado.
Valor maior que 0 - a entrada é melhor que o mercado (de acordo com a ordem de limite).
Valor menor que 0 - a entrada é pior que o mercado (por ordem de parada).
Não estou pronto para responder à segunda pergunta de imediato.Aqui estão os parâmetros
//+------------------------------------------------------------------+ //| Entradas| //+------------------------------------------------------------------+ //--- entradas para especialista input string Expert_Title ="2"; // Nome do documento int Expert_MagicNumber =13179; // bool Expert_EveryTick =false; // //--- entradas para o sinal principal input int Signal_ThresholdOpen =10; // Valor do limiar do sinal a ser aberto [0...100] input int Signal_ThresholdClose=10; // Valor do limite do sinal para fechar [0...100] input double Signal_PriceLevel =0.0; // Nível de preço para executar uma transação input double Signal_StopLevel =50.0; // Nível de stop loss (em pontos) input double Signal_TakeLevel =50.0; // Nível de Take Profit (em pontos) input int Signal_Expiration =4; // Expiração de ordens pendentes (em barras) input double Signal__Weight =1.0; // InnerBar Weight [0...1.0] //--- insumos para dinheiro input double Money_FixLot_Percent =10.0; // Porcentagem. input double Money_FixLot_Lots =0.1; // Volume fixoComo devo executar para poder entrar no mercado em qualquer uma das opções.
Aqui estão os parâmetros
Como devo formatar para poder entrar no mercado em qualquer uma das opções.Para entrar melhor do que o mercado (na recuperação):
input double Signal_PriceLevel =50.0; // Nível de preço para executar uma transação
Para entrar pior do que o mercado (no rompimento):
input double Signal_PriceLevel =-50.0; // Nível de preço para executar uma transação
Mas você pode pegá-lo no testador executando a otimização no parâmetro de -50,0 a 50,0 em incrementos de 1,0 (5,0).
Não estou pronto para responder à segunda pergunta de imediato.

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo MQL5 Wizard para Leigos foi publicado:
No início de 2011, lançamos a primeira versão do MQL5 Wizard. Este novo aplicativo fornece uma ferramenta simples e conveniente para gerar robôs de negociação automaticamente. Qualquer usuário do MetaTrader 5 pode criar um Expert Advisor personalizado sem precisar saber como programar em MQL5.
Autor: MetaQuotes Software Corp.