Por exemplo, vejamos os sinais MACD. No total são descritos 5 sinais de compra e 5 sinais de venda (inversão, cruzamento com a linha do sinal, etc.). Existe alguma forma de obter o valor destes sinais num determinado momento? Ou seja, formar um vector de 10 elementos para cada barra, onde cada elemento corresponde ao sinal, 1 indica a sua presença, e 0 - ausência? Que método de classe CSignalMACD pode ser utilizado para obter os valores correspondentes?
Por exemplo, vejamos os sinais MACD. No total são descritos 5 sinais de compra e 5 sinais de venda (inversão, cruzamento com a linha do sinal, etc.). Existe alguma forma de obter o valor destes sinais num determinado momento? Ou seja, formar um vector de 10 elementos para cada barra, onde cada elemento corresponde ao sinal, 1 indica a sua presença, e 0 - ausência? Que método de classe CSignalMACD pode ser utilizado para obter os valores correspondentes?
Infelizmente, não existe tal funcionalidade na entrega padrão.
Olá, ajudem-me aqui. Eu criei um robô (o meu primeiro robô). Imediatamente após o seu arranque, a mensagem Expert initializing of roboot (EURUSD,H1) falhou. Não consigo encontrar mais informação sobre o assunto.
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
Olá, ajudem-me aqui. Eu criei um robô (o meu primeiro robô). Imediatamente após o seu arranque, a mensagem Expert initializing of roboot (EURUSD,H1) falhou. Não consigo encontrar mais informação sobre o assunto.
Não tenho informação suficiente.
Necessidade
#include <Expert\robot\robot.mqh>
Preciso de parâmetros de arranque (testador/terminal, servidor, par, intervalo de tempo, etc.)
PS O código fonte é melhor para anexar como um ficheiro
1) //--- entradas por dinheiro input duplo dinheiro_FixLot_Percente =10.0; // Porcentagem input duplo Money_FixLot_Lots =0.1; // Volume fixo O que significam estes parâmetros? E como estão relacionados?
2) Posso gerar uma EA que irá colocar encomendas pendentes? Em caso afirmativo, como?
3) O que significa a variável Signal_Expiration? Como é que o utilizo?
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
1) //--- entradas por dinheiro input duplo dinheiro_FixLot_Percente =10.0; // Porcentagem input duplo Money_FixLot_Lots =0.1; // Volume fixo O que significam estes parâmetros? E como estão relacionados?
2) Posso gerar uma EA que irá colocar encomendas pendentes? Em caso afirmativo, como?
3) O que significa a variável Signal_Expiration? Como utilizá-lo?
1) O parâmetro Money_FixLot_Percent é utilizado para definir o nível de "paragem forçada". Não lhe tocar.
O parâmetro Money_FixLot_Lots define um volume fixo (lote), com o qual o seu Expert Advisor entrará no mercado.
Estes parâmetros não estão de forma alguma inter-relacionados.
2) Qualquer Consultor Especialista gerado pelo Feiticeiro pode negociar ordens pendentes. Para este fim é utilizado o parâmetro ..._PriceLevel. Dependendo do valor deste parâmetro, o Conselheiro Especialista comportar-se-á da seguinte forma:
0 - a entrada no mercado será ao preço actual;
>0 - a entrada no mercado será feita utilizando ordens de limite pendentes (melhor do que o preço actual pelo valor deste parâmetro);
<0 - a entrada no mercado será feita usando ordens Stop pendentes (pior do que o preço actual pelo valor do parâmetro);
3) O parâmetro Signal_Expiration define a duração de uma ordem pendente (em barras de tempo actual).
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
2) Qualquer EA gerada pelo Wizard pode negociar ordens pendentes. Para este fim é utilizado o parâmetro ..._PriceLevel. Dependendo do valor deste parâmetro, o Conselheiro Especialista comportar-se-á da seguinte forma:
0 - a entrada no mercado será ao preço actual;
>0 - a entrada no mercado será feita utilizando ordens de limite pendentes (melhor do que o preço actual pelo valor deste parâmetro);
<0 - a entrada no mercado será feita utilizando ordens de paragem pendentes (pior do que o preço actual pelo valor do parâmetro);
Em que unidades é medido o parâmetro PriceLevel? Em pontos? Isto é, se eu quiser estabelecer uma ordem de paragem pendente 20 pips mais alta do que o preço actual,
Por exemplo, vejamos os sinais MACD. No total são descritos 5 sinais de compra e 5 sinais de venda (inversão, cruzamento com a linha do sinal, etc.). Existe alguma forma de obter o valor destes sinais num determinado momento? Ou seja, formar um vector de 10 elementos para cada barra, onde cada elemento corresponde ao sinal, 1 indica a sua presença, e 0 - ausência? Que método de classe CSignalMACD pode ser utilizado para obter os valores correspondentes?
Infelizmente, esta funcionalidade não está disponível como uma característica padrão.
Olá, ajudem-me aqui. Eu criei um robô (o meu primeiro robô). Imediatamente após o seu arranque, a mensagem Expert initializing of roboot (EURUSD,H1) falhou. Não consigo encontrar mais informação sobre o assunto.
Aqui está o seu código:
--------------------------------------
//+------------------------------------------------------------------+
//| robot.mq5 |
//| Copyright 2012, MetaQuotes Software Corp. |
//| http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2012, MetaQuotes Software Corp.
#ligação de propriedade "http://www.mql5.com"
#propriedade versão "1.00"
//+------------------------------------------------------------------+
//| Incluir |
//+------------------------------------------------------------------+
#Incluir <Expert\Expert\Expert.mqh>
//--- sinais disponíveis
#Incluir <Expert}robot{robot.mqh>
//---- trailing disponível
#Incluir <Expert\\TrailingNone.mqh>
//--- gestão de dinheiro disponível
#Incluir <Expertar\\Money\MoneyFixedLot.mqh>
//+------------------------------------------------------------------+
//| Entradas |
//+------------------------------------------------------------------+
//--- entradas para peritos
string de entrada Expert_Title ="robot"; // Nome do documento
ulong Expert_MagicNumber =24553; //
bool Expert_EveryTick =false; //--- entradas para sinal principal
//--- entradas para o sinal principal
input int Signal_ThresholdOpen =10; // Valor limiar de sinal a abrir [0...100]
input int Sinal_ThresholdClose =10; // Valor limiar de sinal para fechar [0...100]
input Double Signal_PriceLevel =0.0; // Nível de preço para executar um negócio
input Double Signal_StopLevel =50.0; // Nível de Stop Loss (em pontos)
input Double Signal_TakeLevel =50.0; // Nível de lucro (em pontos)
input int Signal_Expiration =4; // Expiração de ordens pendentes (em barras)
input int Signal_MaCross_FastPeriod=13; // My_MA_Cross(13,MODE_SMA,21,...) Period of fast MA
input ENUM_MA_METHOD Signal_MaCross_FastMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Método de MA rápido
input int Signal_MaCross_SlowPeriod=21; // My_MA_Cross(13,MODE_SMA,21,...) Período de MA lento
entrada ENUM_MA_METHOD Signal_MaCross_SlowMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) Método de MA lento
input double Signal_MaCross_Weight =1.0; // My_MA_Cross(13,MODE_SMA,21,...) Weight [0...1.0]
//--- entradas por dinheiro
entrada duplo dinheiro_FixLot_Percentagem =10,0; // Percentagem
entrada duplo Money_FixLot_Lots =0,1; // Volume fixo
//+------------------------------------------------------------------+
//| Objecto de especialista global |
//+------------------------------------------------------------------+
CExpert ExtExpert;
//+------------------------------------------------------------------+
//| Função de inicialização do perito |||
//+------------------------------------------------------------------+
int OnInit()
{
//--- Perito iniciador
if(!ExtExpert.Init(Símbolo(),Período(),Expert_EveryTick,Expert_MagicNumber))
{
//--- falhou
printf(__FUNÇÃO__+": perito iniciador de erros");
ExtExpert.Deinit();
retorno(-1);
}
//--- Criando sinal
CExpertSignal *signal=novo CExpertSignal;
if(signal===NULL)
{
//--- falhou
printf(__FUNÇÃO__+": sinal de criação de erro");
ExtExpert.Deinit();
devolução(-2);
}
//---
ExtExpert.InitSignal(sinal);
signal.ThresholdOpen(Signal_ThresholdOpen);
signal.ThresholdClose(Signal_ThresholdClose);
signal.PriceLevel(Signal_PriceLevel);
signal.StopLevel(Signal_StopLevel);
signal.TakeLevel(Signal_TakeLevel);
signal.Expiration(Sinal_Expiração);
//--- Criando filtro MA_Cross
MA_Cross *filtro0=novo MA_Cross;
if(filter0==NULL)
{
//--- falhou
printf(__FUNÇÃO__+": filtro criador de erros0");
ExtExpert.Deinit();
devolução(-3);
}
signal.AddFilter(filter0);
//--- Definir parâmetros de filtragem
filter0.FastPeriod(Signal_MaCross_FastPeriod);
filter0.FastMethod(Signal_MaCross_FastMethod);
filter0.SlowPeriod(Signal_MaCross_SlowPeriod);
filter0.SlowMethod(Signal_MaCross_SlowMethod);
filter0.Weight(Signal_MaCross_Weight);
//--- Criação de objecto de reboque
CTrailingNone *trailing=novo CTrailingNone;
if(trailing===NULL)
{
//--- falhou
printf(__FUNÇÃO__+": erro a criar rasto");
ExtExpert.Deinit();
retorno(-4);
}
//--- Acrescentar o rastreio ao perito (será apagado automaticamente))
if(!ExtExpert.InitTrailing(trailing))
{
//--- falhou
printf(__FUNÇÃO__+": erro de inicialização do trailing");
ExtExpert.Deinit();
retorno(-5);
}
//--- Estabelecer parâmetros de rastreio
//--- Criação de objecto de dinheiro
CMoneyFixedLot *money=novo CMoneyFixedLot;
if(money===NULL)
{
//--- falhou
printf(__FUNÇÃO__+": erro a criar dinheiro");
ExtExpert.Deinit();
retorno(-6);
}
//--- Acrescentar dinheiro ao perito (será apagado automaticamente))
if(!ExtExpert.InitMoney(dinheiro))
{
//--- falhou
printf(__FUNÇÃO__+": erro de inicialização do dinheiro");
ExtExpert.Deinit();
retorno(-7);
}
//--- Estabelecer parâmetros de dinheiro
money.Percent(Dinheiro_FixLot_Percentagem);
money.Lots(Money_FixLot_Lots);
//--- Verificar todos os parâmetros dos objectos de comércio
if(!ExtExpert.ValidationSettings())
{
//--- falhou
ExtExpert.Deinit();
retorno(-8);
}
//--- Afinação de todos os indicadores necessários
if(!ExtExpert.InitIndicators())
{
//--- falhou
printf(__FUNÇÃO__+": indicadores inicializadores de erro");
ExtExpert.Deinit();
retorno(-9);
}
//--- ok
return(0);
}
//+------------------------------------------------------------------+
//| Função de desinicialização do perito |
//+------------------------------------------------------------------+
nulo OnDeinit(const int razão)
{
ExtExpert.Deinit();
}
//+------------------------------------------------------------------+
//| Função "Tick" event handler |
//+------------------------------------------------------------------+
nulo OnTick()
{
ExtExpert.OnTick();
}
//+------------------------------------------------------------------+
//| Função "Trade" event handler |
//+------------------------------------------------------------------+
nulo OnTrade()
{
ExtExpert.OnTrade();
}
//+------------------------------------------------------------------+
//| Função "Temporizador" do manipulador de eventos |
//+------------------------------------------------------------------+
nulo OnTimer()
{
ExtExpert.OnTimer();
}
//+------------------------------------------------------------------+
Qual poderá ser o problema. Eu nem sequer sei onde procurar primeiro.
Obrigado de antemão.
Olá, ajudem-me aqui. Eu criei um robô (o meu primeiro robô). Imediatamente após o seu arranque, a mensagem Expert initializing of roboot (EURUSD,H1) falhou. Não consigo encontrar mais informação sobre o assunto.
Não tenho informação suficiente.
Necessidade
#include <Expert\robot\robot.mqh>Preciso de parâmetros de arranque (testador/terminal, servidor, par, intervalo de tempo, etc.)
PS O código fonte é melhor para anexar como um ficheiro
Perguntas sobre o MQL5 Wizard:
1) //--- entradas por dinheiro
input duplo dinheiro_FixLot_Percente =10.0; // Porcentagem
input duplo Money_FixLot_Lots =0.1; // Volume fixo
O que significam estes parâmetros? E como estão relacionados?
2) Posso gerar uma EA que irá colocar encomendas pendentes? Em caso afirmativo, como?
3) O que significa a variável Signal_Expiration? Como é que o utilizo?
Perguntas sobre o MQL5 Wizard:
1) //--- entradas por dinheiro
input duplo dinheiro_FixLot_Percente =10.0; // Porcentagem
input duplo Money_FixLot_Lots =0.1; // Volume fixo
O que significam estes parâmetros? E como estão relacionados?
2) Posso gerar uma EA que irá colocar encomendas pendentes? Em caso afirmativo, como?
3) O que significa a variável Signal_Expiration? Como utilizá-lo?
1) O parâmetro Money_FixLot_Percent é utilizado para definir o nível de "paragem forçada". Não lhe tocar.
O parâmetro Money_FixLot_Lots define um volume fixo (lote), com o qual o seu Expert Advisor entrará no mercado.
Estes parâmetros não estão de forma alguma inter-relacionados.
2) Qualquer Consultor Especialista gerado pelo Feiticeiro pode negociar ordens pendentes. Para este fim é utilizado o parâmetro ..._PriceLevel. Dependendo do valor deste parâmetro, o Conselheiro Especialista comportar-se-á da seguinte forma:
0 - a entrada no mercado será ao preço actual;
>0 - a entrada no mercado será feita utilizando ordens de limite pendentes (melhor do que o preço actual pelo valor deste parâmetro);
<0 - a entrada no mercado será feita usando ordens Stop pendentes (pior do que o preço actual pelo valor do parâmetro);
3) O parâmetro Signal_Expiration define a duração de uma ordem pendente (em barras de tempo actual).
Se eu gerar um EA no MQL5 Wizard, quantas encomendas posso abrir um EA em simultâneo? Como é isto regulado?
Se eu gerar um EA no MQL5 Wizard, quantas encomendas posso abrir um EA em simultâneo? Como é isto controlado?
1 encomenda. Não está regulamentado.
O Wizard foi concebido para testes de estratégia. Se quiser mais, precisa de "arquivar" (escrever à mão).
2) Qualquer EA gerada pelo Wizard pode negociar ordens pendentes. Para este fim é utilizado o parâmetro ..._PriceLevel. Dependendo do valor deste parâmetro, o Conselheiro Especialista comportar-se-á da seguinte forma:
0 - a entrada no mercado será ao preço actual;
>0 - a entrada no mercado será feita utilizando ordens de limite pendentes (melhor do que o preço actual pelo valor deste parâmetro);
<0 - a entrada no mercado será feita utilizando ordens de paragem pendentes (pior do que o preço actual pelo valor do parâmetro);
Em que unidades é medido o parâmetro PriceLevel? Em pontos? Isto é, se eu quiser estabelecer uma ordem de paragem pendente 20 pips mais alta do que o preço actual,
devo definir este parâmetro PriceLevel =-0.0020 ?