Como codificar? - página 202

 
asgard2:
Hi,

Não consigo compilá-lo por causa de um erro de parênteses desequilibrados, alguém pode me dizer por que eles são desequilibrados?

Obrigado

Se você está recebendo este erro, então você está perdendo um dos [ ou { ou (

provavelmente em algum lugar em seu código há uma função onde você coloca muito do {[(

Eu verifiquei parte do seu código e encontrei alguns erros. Tente isto :

if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order

{

int hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)

{

Print("Access to history failed ("+GetLastError()+")");

break;

}

else

{

if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

Também acho que a última parte de seu código (OrderDelete) não vai funcionar, porque OrderDelete functons não verifica nada - está apagando a ordem selecionada. Portanto, você precisa passar o parâmetro com o ticket de pedido para ele. Ao invés disso, você pode reconhecer os pedidos excluídos verificando seus comentários. Cada pedido excluído terá "cancelado" em seu comentário - você pode comparar o resultado da função OrderComment() para encontrar isto.

 

Alguém pode me ajudar?

Olá,

Estou tentando escrever um EA, e preciso de alguma ajuda para escrever uma fórmula.

Quero que a fórmula calcule a diferença entre o fechamento da vela anterior (PCC1) e o fechamento da vela duas velas de volta (PCC2) (vou executar isto em vários pares). HoL=(PCC1-PCC2)

Meu objetivo é sinalizar uma compra ou venda;

bool BuySignal=false;

bool SellSignal=falso;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=verdadeiro;

Obrigado por sua ajuda com isto.

 

...

Se você quiser usar vários símbolos de uma instância de EA, você pode usar algo como isto :

double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code

int symbolShift1 = iBarShift(symbolName,0,Time[1]);

int symbolShift2 = iBarShift(symbolName,0,Time[2]);

double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);

If you are going to use it only on symbol that your EA is attached to than this

[php]

double HoL=Close[1]-Close[2];

é suficiente

PS:"symbolName" deve ser definido como Symbol of your choice.

Atenciosamente

mladen

ForExTryo:
Olá,

Estou tentando escrever um EA, e preciso de alguma ajuda para escrever uma fórmula.

Quero que a fórmula calcule a diferença entre o fechamento da vela anterior (PCC1) e o fechamento da vela duas velas de volta (PCC2) (vou executar isto em vários pares). HoL=(PCC1-PCC2)

Meu objetivo é sinalizar uma compra ou venda;

bool BuySignal=false;

bool SellSignal=falso;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=verdadeiro;

Obrigado por sua ajuda com isto.
 
 

Ocultar TP

Substitua

void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}[/CODE]

to

[CODE]void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}
 

Distância entre os pedidos de Buy Stop

Oi Pessoal, estou tentando implementar uma distância entre uma ordem de parada de compra excluída e a próxima ordem de parada de compra.

Escrevi este código que funciona, a menos que o último pedido seja algo mais. Não sei como selecionar um pedido de parada de compra excluído do histórico. Se alguém pudesse me apontar na direção certa, eu realmente apreciaria.

obrigado

// Atraso de tempo para o próximo pedido de "Buy Stop" é eliminado.

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

{

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

}

 
asgard2:
Olá a todos,

Eu acho que é melhor assim:

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

break;

}

}
 
Roger09:
Eu acho que é melhor assim:

Oi Roger,

Sou muito novo na codificação, por que uso a "pausa" ali? Será que ela quebraria automaticamente quando a declaração estivesse concluída?

Além disso, alguma pista sobre como selecionar uma ordem eliminada do histórico?

obrigado

 

Você nos mostra apenas um fragmento do código e eu só posso adivinhar.

Suponho que você comece a verificar o histórico após o fechamento do último pedido, então você precisa saber a hora em que foi fechado. A ordem fechada mais recente está no final da história, então você não precisa saber outra e "quebrar" parar de verificar.

São toneladas de métodos para encontrar a ordem correta no histórico, você tem tipo, número mágico, comentários, etc.

 

precisa de um codificador para EA simples

sistema lucrativo : min 50 pips -200 pips lucros por comércio

Sistema de 1 hora

usar apenas 1 indicador mais ATR (20)

EA simples com tp/sl/trailing stop

O codificador EA pode ajudar gratuitamente por favor PM com seu e-mail