Pergunte! - página 71

 

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

SaxMan:
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.

SaxMan

Aqui 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:

double range[2000];

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);///

Dave<<<
 

Hi,

int start()

{

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...

 
iscuba11:
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);///

Dave<<<

Olá Iscuba11,

ver código para correção e explicação

extern bool Direction_Up=true; //-- bool with a lower case "b"

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:

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+30*Point,3,0,0,NULL,1,0); OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-25*Point,3,0,0,NULL,1,0);

É 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!

Que você tenha um fim de semana abençoado!

Sinceramente,

Dave

<<<
 

Como pode usar ObjectCreate em uma janela de indicadores-separate-window versus the chart-window???? Isso seria útil!

Dave<<<