[AVISO FECHADO!] Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por aqui. Não posso ir a lugar algum sem você. - página 918

 
Como posso determinar que tipo de pedido é um pedido de venda ou compra, aberto e para qual lote?
 
Maniac:

Olá! Meu Conselheiro Especialista tem o seguinte código (ver abaixo). Eu entendo que o sinal para abrir uma posição é tirado dos valores de dois índices. Como fazer o pedido aberto com base em apenas um indicador, por exemplo a CCI? Muito obrigado.

Em vez de chamar getSignal() para determinar o critério de abertura, chamar checkCCI() ou checkMomentum(). Ambas as funções retornam os mesmos sinais que getSignal(), ou seja, 0, 1 e -1.

A função getSignal() apenas compara dois valores retornados por checkCCI() e checkMomentum() e se corresponderem, retorna 1 (para compra) ou -1 (para venda), ou 0 se nada for feito...

 
_SS_:
Como você descobre que tipo de pedido é Vender ou Comprar, e para qual lote?

Para enumerar as ordens do terminal, verifique o magik da ordem selecionada, seu tipo e seu lote.

O magik é usado para identificar se o pedido pertence ou não à sua EA, e o tipo e o lote são os valores que você está procurando.

Se você está procurando a última ordem aberta, compare seu tempo aberto com o tempo aberto de outras ordens e, se seu tempo é o mais longo, então é este.

Se você estiver procurando por um bilhete, você deve selecioná-lo usando o bilhete, mas tenha em mente que a seleção é feita a partir de duas matrizes - mercado e ordens fechadas.

Para descobrir se a ordem é uma ordem de mercado, deve-se verificar a hora de seu fechamento e se é maior que zero (e somente então), então a ordem já está fechada, caso contrário - é uma ordem de mercado.

 
como você tira o mágico de lá?
 
forex-k:
deve funcionar. o rosto sorridente está sorrindo?


StopLoss duplo externo=50,0;
TakeProfit duplo externo=50.0;
double Lots=1 externo;
extern int total;

int start()
{
double Price_1, Price_2, min, max;
RefreshRates();
Price_1=Bid;
Price_2=Ask;

min=iLow(NULL,0,2);
max=iHigh(NULL,0,2);
total=OrdersTotal();
if(total<1)
{

if(Price_1>max)
OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-StopLoss*Point,Ask+TakeProfit*Point, "My order#",16384,0,Green);

if(Price_2<min)
OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+StopLoss*Point,Bid-TakeProfit*Point, "My order#",16384,0,Green);
}
}
return(0);

Sim funciona, o rosto sorridente está sempre sorrindo, mas não vai funcionar, as posições não se abrem.

 
rustein:

Ajuda, a EA não fecha todos os pedidos quando chega a um lucro

As ordens abertas e pendentes são fechadas com diferentes funções


void CloseAllOrders()
{
for (int i = 0; i < OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS))
{
if (OrdersTotal() > 1 && OrderSymbol() == Symbol() && AccountProfit() >= AccountBalance()*AllProfit/100)
{
if((OrderType()==OP_BUY)) OrderClose(OrderTicket(), OrderLots(),Bid,0);
if((OrderType()==OP_SELL)) OrderClose(OrderTicket(), OrderLots(),Ask,0);
if((OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT|| OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT))OrderDelete(OrderTicket());
if(UseSound == true)
{
PlaySound(SuccesSound);
}
}
}
}
}
 
forex-k:

as ordens abertas e pendentes são fechadas por diferentes funções


Obrigado :)
 

Você pode me dizer como apagar os objetos criados pelo indicador na janela quando o próprio indicador é removido do gráfico?

 
Maniac:

Olá a todos! Tenho o seguinte código em meu Conselheiro Especialista (ver abaixo). Pelo que entendi, o sinal para abrir uma posição é tirado dos indicadores de dois índices. Como podemos fazer os pedidos abertos com base em apenas um indicador, por exemplo, CCI? Muito obrigado.


int getSignal() { 
   int CCI = checkCCI();
   return (CCI);
}
int checkCCI() {
   double CCI = iCCI(NULL, 0, 60, PRICE_TYPICAL, 1);
   Print("CCI: ", CCI);
   if (CCI > 0.0) return (1);
   if (CCI < 0.0) return (-1);
   return (0);
} 
 

Boa tarde a todos. Eu preciso de uma função para procurar por altos / baixos em N número de barras. Digamos hai/baixo por 55 barras. Vi-o em algum lugar - não consigo encontrá-lo.