Um amigo meu me falou sobre este site. Ela me alertou de que eles têm os melhores programadores de mql.
Aqui está um:
Se eu definir um código, por exemplo.... para comprar às 15:30 (a maior parte do tempo das notícias), eu verifiquei o calendário econômico.
if (Hour()==15)
{
if (Minute()>=30)
{
if (Seconds()>=00)
[/PHP]
After this, something like this goes:
[PHP]
OrderSend(Symbol().......................
Todos o escrevem de maneira diferente, hehe.
Por que não pode ser a mesma coisa?
Ok, o negócio é o seguinte. Para o código acima, quero que a OrderSend........ e a parte contínua crie uma BuyStop 30 pips acima do preço às 15:30:00, e uma SellStop 25 pips abaixo do preço às 15:30:00.
Eu perguntei a minha melhor amiga, e ela disse para perguntar a vocês. Portanto, espero realmente que vocês sejam uma grande ajuda.
Eu passei semanas tentando descobrir este código. Eu não estou brincando. Então, alguém que faz codificação em mql4 vai me ajudar?
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
símbolo - Símbolo para negociação.
cmd - Tipo de operação. Pode ser qualquer uma das enumerações da operação de comércio.
volume - Número de lotes.
preço - Preço preferido do comércio.
slippage - Preço máximo de slippage para ordens de compra ou venda.
stoploss - Nível de stop loss.
takeprofit - Nível de lucro.
comentário - Texto do comentário do pedido. A última parte do comentário pode ser alterada pelo servidor.
magic - Encomendar número mágico. Pode ser usado como identificador definido pelo usuário.
expiração - Tempo de expiração da ordem (somente para ordens pendentes).
arrow_color - Cor da seta de abertura no gráfico. Se o parâmetro estiver faltando ou se a seta de abertura do valor CLR_NONE não estiver desenhada no gráfico.
Atenção: seu corretor (muito provavelmente) não aceitará novas ordens às 15h30, nem sonhe com isso. Sim, funcionará em demonstração mas não em conta real - não antes de 5 minutos antes da notícia e não menos de 3 minutos após a notícia.
Perguntado e respondido
Olá a todos,
Pensei que tinha minhas respostas com o seguinte código:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
Mas ele ainda só retorna o último índice e não o maior índice de variação.
Qualquer outra ajuda seria bem-vinda.
SaxMan
Erro corrigido
Olá a todos,
Pensei que tinha minhas respostas com o seguinte código:
double range[5];
for(int i=1;i<5;i++)
{
range={High-Low};
int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Print("Max Range: ",MaxRange," found at index: ",Max);
[/code]
But it still just returns the last index not the largest range index.
Any further help would be appreciated.
SaxManAqui está a correção:
[código]
faixa dupla[5];
for(int i=1;i<5;i++)
{
intervalo={Alto-Baixo};
int Max=ArrayMaximum(range);
double MaxRange=(High[Max]-Low[Max])/Point;
}
Impressão ("Alcance máximo: ",MaxRange", encontrado no índice: ",Max);Isto poderia ser usado para obter a maior/menor (usando ArrayMinimum(range)) do array para comparar quaisquer variáveis.
Espero que isto ajude,
SaxMan
O mesmo código com adições
Adicionado:
* Faixa mínima
* Linhas Verticais para destacar as barras de alcance Max e Min:
for(int i=1;i<2000;i++)
{
range={High-Low};
int Max=ArrayMaximum(range,WHOLE_ARRAY,1);
int Min=ArrayMinimum(range,WHOLE_ARRAY,1);
double MaxRange=(High[Max]-Low[Max])/Point;
double MinRange=(High[Min]-Low[Min])/Point;
}
Print("Max Range: ",MaxRange," pips found at index: ",Max);
Print("Min Range: ",MinRange," pips found at index: ",Min);
int time1=Time[Max];
int time2=Time[Min];
ObjectCreate("stats1",OBJ_VLINE,0,0,0);
ObjectSet("stats1", OBJPROP_TIME1, time1);
ObjectSet("stats1", OBJPROP_COLOR, Red);
ObjectSet("stats1", OBJPROP_WIDTH, 1);
ObjectCreate("stats2",OBJ_VLINE,0,0,0);
ObjectSet("stats2", OBJPROP_TIME1, time2);
ObjectSet("stats2", OBJPROP_COLOR, Blue);
ObjectSet("stats2", OBJPROP_WIDTH, 1);O código está em conformidade, mas não exibe valor
Direção Externa da Bool_Up=verdadeiro;
if(Direction_Up===true) Dir="UP"; /////////// Esta é uma conversão errada - Como faço para convertê-la para a sintaxe apropriada????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", Branco);///////////Esta conversão está errada - Como faço para que seja exibido na tela????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Hi,
{
int i;
if ((Year() >= X) && (Month() >= Y))
{
Comment("===========",expired,"===========");
return(0);
}
GetPosition = StrToTime(StrGetPosition);
StartOrderTime = StrToTime(StrStartOrderTime);
EndOrderTime = StrToTime(StrEndOrderTime);
return(0);
Minha pergunta é :
GetPosition, StartOrderTime, EndOrderTime será executado?
Saúde
Perguntas
Hi,
Um amigo meu me falou sobre este site. Ela me alertou de que eles têm os melhores programadores de mql.
Aqui está um:
Se eu definir um código, por exemplo.... para comprar às 15:30 (a maior parte do tempo das notícias), eu verifiquei o calendário econômico.
if (Hour()==15)
{
if (Minute()>=30)
{
if (Seconds()>=00)
[/PHP]
After this, something like this goes:
[PHP]
OrderSend(Symbol().......................
Todos o escrevem de maneira diferente, hehe.
Por que não pode ser a mesma coisa?
Ok, o negócio é o seguinte. Para o código acima, quero que a OrderSend........ e a parte contínua crie uma BuyStop 30 pips acima do preço às 15:30:00, e uma SellStop 25 pips abaixo do preço às 15:30:00.
Eu perguntei a minha melhor amiga, e ela disse para perguntar a vocês. Portanto, espero realmente que vocês sejam uma grande ajuda.
Eu passei semanas tentando descobrir este código. Eu não estou brincando. Então, alguém que faz codificação em mql4 vai me ajudar?
---Júlia...
Direção Externa da Bool_Up=verdadeiro;
if(Direction_Up===true) Dir="UP"; /////////// Esta é uma conversão errada - Como faço para convertê-la para a sintaxe apropriada????
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0, 0);
ObjectSetText("Dir", 10, "Arial", Branco);///////////Esta conversão está errada - Como faço para que seja exibido na tela????
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///
Olá Iscuba11,
ver código para correção e explicação
string Dir; //-- Dir has to be declared as a string
if(Direction_Up==true) Dir="UP";
ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Dir",Dir, 10, "Arial", White); // -- you left out the text to print - you named the object only.
ObjectSet("Dir", OBJPROP_CORNER, 1);
ObjectSet("Dir", OBJPROP_XDISTANCE, 36);
ObjectSet("Dir", OBJPROP_YDISTANCE, 120);Espero que isto ajude,
SaxMan
Semanas?!
MQL4: negociação forex automatizada, testador de estratégia e indicadores personalizados com MetaTrader
busca de OrderSend() - docs
Citação
OrderSend - Documentação MQL4
int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)
símbolo - Símbolo para negociação.
cmd - Tipo de operação. Pode ser qualquer uma das enumerações da operação de comércio.
volume - Número de lotes.
preço - Preço preferido do comércio.
slippage - Preço máximo de slippage para ordens de compra ou venda.
stoploss - Nível de stop loss.
takeprofit - Nível de lucro.
comentário - Texto do comentário do pedido. A última parte do comentário pode ser alterada pelo servidor.
magic - Encomendar número mágico. Pode ser usado como identificador definido pelo usuário.
expiração - Tempo de expiração da ordem (somente para ordens pendentes).
arrow_color - Cor da seta de abertura no gráfico. Se o parâmetro estiver faltando ou se a seta de abertura do valor CLR_NONE não estiver desenhada no gráfico.
Portanto, em nosso caso, temos isto:
É isso aí!
Sem stoploss, sem takeprofit.
Atenção: seu corretor (muito provavelmente) não aceitará novas ordens às 15h30, nem sonhe com isso. Sim, funcionará em demonstração mas não em conta real - não antes de 5 minutos antes da notícia e não menos de 3 minutos após a notícia.
Use motores de busca
Google
Yahoo!
e outros.
PS:
se você quiser que eu escreva um EA para você, PM me.
Você fez meu dia e meu fim de semana com a correção do código. Muito obrigado sempre!
Sinceramente,
Dave
<<<Como pode usar ObjectCreate em uma janela de indicadores-separate-window versus the chart-window???? Isso seria útil!