Como codificar? - página 23

 
islandrock:
esse código não faz com que cada comércio que minha EA abre expire 12 horas a partir do momento em que ela abre.

O tempo deexpiração do pedido funciona somente com pedidos pendentes. Se OrderSend() for OP_BUY ou OP_SELL, você precisa cronometrar seu pedido dentro do código. Aqui está um exemplo simples.

int OrderTime;

OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask+TakeProfit*Point,"timetest",16384,0,Green)

OrderTime=TimeCurrent();

int total = OrdersTotal();

for(int cnt=0;cnt<total;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if((OrderType() <= OP_SELL) && (OrderSymbol() == Symbol()) )

{

if(OrderType()==OP_BUY && TimeCurrent()-OrderTime>(12*60)*60)

{

OrderClose(OrderTicket(),LotsOptimized(),Bid,3,Violet);

}

}

}

Wackena

 

código não funciona direito

Usei isto para enviar por e-mail o status da minha conta a cada hora para mim. no entanto, depois de compilá-lo e carregá-lo. ele enviou aquele e-mail perfeitamente na hora seguinte ao minuto 59, como é suposto, então ele nunca mais enviou outro. o que estou fazendo de errado? parece perfeito ?

eu não preciso dele no minuto 59, só preciso dele a cada hora!!

bool mail;

int start()

{

if (Minute()>=59 && !mail){

SendMail("Account Status","Account Balance is="+DoubleToStr(AccountBalance(),2)+"_Account Equity is="+DoubleToStr(AccountEquity(),2)+

"_Conta Lucro é="+DoubleToStr(AccountProfit(),2)+"_ Margem de conta é="+DoubleToStr(AccountMargin(),2)+

"_Margem Livre de Conta é="+DoubleToStr(AccountFreeMargin(),2))

mail=true;

}

 

talvez você precise apenas colocar correio = falso em algum momento ou apenas remover este teste na variável correio porque, é claro, o código atual enviará apenas 1 correio.

 

que teste na variável correio ?... eu não estou em pé, por favor explique...

que tal logo após mail=true i put

se (minuto()<=58 && !mail)

mail= falso;

acha que isso pode funcionar?...

eu acho que está codificado errado

 

Eu acho que você pode colocar

se (minute()<=58 && mail) // tenha cuidado não !mail mas mail

mail= falso;

e isso deve ser apenas fora do seu primeiro se , portanto não depois do correio = verdadeiro; mas depois de }

Há provavelmente melhores maneiras de codificar isso, mas isso deve funcionar

 

vai tentar

agradecimentos lhe darão uma chance...avisará em duas horas

 

ótimo funciona.... ou pelo menos parece que funciona

 

??? precisam de ajuda com esta parte do código

alguém pode me dizer como escrever isso corretamente? estou tentando destacar os negócios de compra e venda abertos individualmente...

ou seja: se lance aberto > 2.

se aberto perguntar > 2.

Eu tenho o resto, não consigo codificar essa parte.

Eu sei que é simples, mas estou arrancando meu cabelo.

 

Alguém?

qualquer um? uau, talvez esta tenha sido uma pergunta ruim.

 

if(Abrir[0] > 2){ //abrir licitação

//seu código

}

if(Open[0]+(Ask-Bid) > 2){ //open ask

//seu código

}

dependendo de seu corretor, o teste de pedidos em aberto pode não funcionar