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
Qualquer pessoa pode me ajudar a entender melhor como modificar o código para permitir que a EA execute ordens simultâneas em várias instâncias (em outras palavras, estou testando a mesma EA, em vários pares ao mesmo tempo, e estou usando números mágicos diferentes para cada instância).
O código original inclui isto:
int total=OrdensTotal();
if(total<1)
E eu acho que é aqui que está o problema. Se eu aumentar o número, ele simplesmente executa várias ordens na mesma barra (M15) para o mesmo par. Se for deixado se (total<1), então não permitirá ordens simultâneas em pares diferentes.
Posso mudar algo sobre o tick ou barra para permitir apenas uma ordem de cada vez por par, mas várias ordens para todos os pares que têm EA (com número mágico diferente) anexado??
Graças a qualquer um que possa ajudar ou oferecer sugestões!
Chili
Confuso em múltiplas declarações se
///////////////////// INICIAR A NEGOCIAÇÃO EM DOMINGO/////////////////////////
StartDay=7; StartHour=1; StartMinute=55;
{
if(TimeDayOfWeek(TimeCurrent())==StartDay)
{
if(TimeHour(TimeCurrent())==StartHour)
{
if(TimeMinute(TimeCurrent())==StartMinute)
{
}
}
}
}
Estou tentando fazer com que minha EA seja ativada quando o sétimo dia (Dia 7), e a Hora 1 de papéis ao redor, e 55 minutos de papéis ao redor. O que eu estou fazendo de errado. Hoje eu iniciei o computador e a EA começou a negociar imediatamente (antes da hora 1)! Por favor, ajude-me.
Obrigado!
Dave
Hi,
Eu quero saber como traçar uma linha de MA de menor prazo em um gráfico de maior prazo.
Por exemplo, quero traçar uma seta no gráfico H1 quando a M15 's MA5 e MA10 cruzam.
Por favor, me avise.
Obrigado,
JForex.Um MA em qualquer gráfico é apenas uma versão mais alta/mais baixa de um MA em um período de tempo mais alto/mais baixo. Por exemplo, se você colocar um 60MA em um gráfico de 5 minutos, mas quiser ver como ele se parece em um gráfico horário, você multiplicaria 60 por 12 (intervalos de 5 minutos em uma hora). Portanto, um 720 MA em um gráfico horário é o mesmo que um 60 MA em um gráfico de 5 min.
Faz sentido?
Lux
///////////////////// INICIAR A NEGOCIAÇÃO EM DOMINGO/////////////////////////
StartDay=7; StartHour=1; StartMinute=55;
{
if(TimeDayOfWeek(TimeCurrent())==StartDay)
{
if(TimeHour(TimeCurrent())==StartHour)
{
if(TimeMinute(TimeCurrent())==StartMinute)
{
}
}
}
}
Estou tentando fazer com que minha EA seja ativada quando o sétimo dia (Dia 7), e a Hora 1 de papéis ao redor, e 55 minutos de papéis ao redor. O que eu estou fazendo de errado. Hoje eu iniciei o computador e a EA começou a negociar imediatamente (antes da hora 1)! Por favor, ajude-me.
Obrigado!
DaveDê outra olhada no arquivo de ajuda.
Retorna o atual dia da semana (0-Domingo,1,2,3,4,5,6) do último horário conhecido do servidor.
Lux
Qualquer pessoa pode me ajudar a entender melhor como modificar o código para permitir que a EA execute ordens simultâneas em várias instâncias (em outras palavras, estou testando a mesma EA, em vários pares ao mesmo tempo, e estou usando números mágicos diferentes para cada instância).
O código original inclui isto:
int total=OrdensTotal();
if(total<1)
E eu acho que é aqui que está o problema. Se eu aumentar o número, ele simplesmente executa várias ordens na mesma barra (M15) para o mesmo par. Se for deixado se (total<1), então não permitirá ordens simultâneas em pares diferentes.
Posso mudar algo sobre o tick ou barra para permitir apenas uma ordem de cada vez por par, mas várias ordens para todos os pares que têm EA (com número mágico diferente) anexado??
Graças a qualquer um que possa ajudar ou oferecer sugestões!
ChiliOrdensTotal é uma função integrada que não considera o número mágico. Você precisa escrever sua própria função que utiliza OrdersTotal, mas filtra por número mágico e provavelmente também por símbolo. Há muitos exemplos por aqui e em outros lugares.
Boa sorte.
Lux
Dê outra olhada no arquivo de ajuda. Lux
Mudei o StartDay para 0, e mudei o StartHour para a hora GMT atual do meu corretor, e mudei o StartMinute para 5 minutos antes dos minutos GMT - Ainda funciona bem quando a hora GMT corresponde à minha hora de início. Eu olhei os arquivos de ajuda e eles não mostram um múltiplo se declaração. Múltiplos se a declaração sempre me confunde. Que diabos estou fazendo de errado? Quero que o programa não negocie até a hora de início apropriada no domingo, e faça um comentário "Non-Trading Time" até a hora = o início na hora de domingo.
Altamente confuso!!
?????
OrdensTotal é uma função construída que não considera o número mágico. Você precisa escrever sua própria função que utiliza OrdersTotal, mas filtra por número mágico e provavelmente também por símbolo. Há muitos exemplos por aqui e em outros lugares.
Boa sorte.
LuxAqui está um que eu fiz e que já usei bastante:
{
int intCount=0;
int intPOS=0;
bool boolTerm=false;
while(boolTerm==false)
{
if(OrderSelect(intPOS,SELECT_BY_POS))
{
if(OrderMagicNumber()==intMagic) intCount++;
intPOS++;
}
else
boolTerm=true;
}
return(intCount);
}
[/PHP]
And if you want to close only a certain order by magic number:
{
int intOffset=0;
int Count = OTBM(intMagic);
while(OTBM(intMagic)>0 && Count > 0)
{
OrderSelect(intOffset,SELECT_BY_POS);
if(OrderMagicNumber()==intMagic)
{
if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),999,Red);
else if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),999,Orange);
Count--;
}
else {
intOffset++;
}
}
return(0);
}
Order Profit By Magic:
[PHP]double OPBM(int intMagic)//OrderProfitByMagic
{
double dblProfit=0;
int intPOS=0;
bool boolTerm=false;
while(boolTerm==false)
{
if(OrderSelect(intPOS,SELECT_BY_POS))
{
if(OrderMagicNumber()==intMagic) dblProfit=dblProfit+OrderProfit();
intPOS++;
}
else
boolTerm=true;
}
return(dblProfit);
}
Esperança que ajuda.
Um MA em qualquer gráfico é apenas uma versão mais alta/mais baixa de um MA em um período de tempo mais alto/mais baixo. Por exemplo, se você colocar um 60MA em um gráfico de 5 minutos, mas quiser ver como ele se parece em um gráfico horário, você multiplicaria 60 por 12 (intervalos de 5 minutos em uma hora). Portanto, um 720 MA em um gráfico horário é o mesmo que um 60 MA em um gráfico de 5 min.
Faz sentido?
LuxFaz todo o sentido. Como você verá um M5 10MA em um gráfico H1?
10/12=0.84. Você pode colocar um M5 0,84 MA em um gráfico H1? Não.
Mas funciona da outra forma - H1 10MA = M5 120MA.
Então minha pergunta é, como eu vejo um cruzamento de 5MA em um período de tempo superior como H4.
Obrigado.
para Loop em MQL4
Enquanto lia o Curso MQL4 pelo Guru dos Codificadores, deparei-me com esta parte em loop 'para' na Lição 5 que estou confuso. Ela diz que pode haver apenas uma expressão de teste. Mas os exemplos mostrados contêm 2 expressões de teste.
int i;
int j;
for(i=0,j=0;i<15,i<;i++,j++)
Imprimir(i);
int i;
for(i=15;i>0,i<;i--)
Imprimir(i);
Cld alguém bondosamente esclarece?
Obrigado.