[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 160

 
wolf05632:

Como parar a execução do indicador ...se proc_zahlest>100


int start()
{if(proc_zahlest>100)return(0);
...
return(0);}
 
wolf05632:

... E outra pergunta: como deve ser a coordenada de tempo OBJ_TEXT, para que o texto seja o DIREITO da vela zero?

datetime t=Time[0]+Shift*Period()*60;//Shift -- положительное целое число.
 
granit77:
Movido:

eurodollar1981 09.09.2011 10:37
Olá! Você poderia me dizer como receitar em mt4, para comprar um pedido com stoploss pré-definido e obter lucro pressionando uma tecla?


Duas chaves - é muito? Se -- não, você escreve um roteiro apropriado cuja execução é definida para a "tecla de atalho".

Terminal --> Navegador --> Scripts --> Seu script --> Clique com o botão direito do mouse --> Defina a tecla de atalho.

 

Roger:

Xaoss1990:

Roger:
Esta não é a parte do código onde poderia haver um erro.
Em.... e o resto do código é o cálculo dos valores ( POINT_BUY_M15, POINT_BUY_H, POINT_BUY_H4, POINT_SELLL_M15, POINT_SELLL_H, POINT_SELLL_H4 ) para fazer negócios, funciona corretamente... Eu verifiquei... é simples lá....
Se o erro estivesse aqui, o registro diria "Stop not set", mas não está.

O erro está exatamente nesse código. Encerra COMPRA, depois seleciona um pedido que não existe mais e fecha VENDA, que nunca existiu em primeiro lugar. Acho que já nos mostrei o erro. Não será difícil de entender.

Comecei a estudar o MQL em um livro didático. Há exemplos suficientes e todos eles são construídos de forma inteligente. Algumas das construções utilizadas nesses exemplos ainda uso em meus próprios empreendimentos.

 
MaxZ:

O erro está exatamente nesse código. Fecha COMPRA, depois seleciona um pedido, que já não existe, e fecha VENDA, que nunca existiu de todo. Acho que já mostrei o erro. Não será difícil de entender.

Comecei a estudar o MQL em um livro didático. Há exemplos suficientes e todos eles são construídos de forma inteligente. Ainda estou usando alguns desses exemplos em meus desenvolvimentos.


De acordo. Recomendado:
data/hora OrdemFecharTempo( )
Retorna o horário de fechamento da ordem selecionada. Somente as ordens fechadas têm um horário de fechamento que não é 0. As ordens abertas ou pendentes têm um tempo de fechamento igual a 0.
A ordem deve ser pré-selecionada usando OrderSelect().
 
Roll:


Ugh... Obrigado!
 

Rapazes, ajudem-me, estou me perdendo. Estou fazendo um indicador que eu quero que seja emitido como objeto de texto as informações de vários outros indicadores de diferentes períodos de tempo. Por exemplo, ADX. Eu faço três iADX:

 f0 = iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_M30,14,PRICE_CLOSE,MODE_MINUSDI,0);
 f1 = iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_H1,14,PRICE_CLOSE,MODE_MINUSDI,0); 
 f2 = iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_PLUSDI,0) - iADX(NULL,PERIOD_H4,14,PRICE_CLOSE,MODE_MINUSDI,0); 

Eu testei no H4, apenas um ADX, que está no H4, os outros dois dão um valor constante. Ajude, por favor.

 
vitali_yv:

Rapazes, ajudem-me, estou me perdendo. Estou fazendo um indicador que eu quero que seja emitido como objeto de texto as informações de vários outros indicadores de diferentes períodos de tempo. Por exemplo, ADX. Eu faço três iADX:

Eu testei no H4, apenas um ADX, que está no H4, os outros dois dão um valor constante. Ajude, por favor.


Experimente a M30 - se houver períodos explicitamente prescritos no código, tudo deve funcionar.
 
vitali_yv:

Rapazes, ajudem-me, estou me perdendo. Estou fazendo um indicador que eu quero que seja emitido como objeto de texto as informações de vários outros indicadores de diferentes períodos de tempo. Por exemplo, ADX. Eu faço três iADX:

Eu testei no H4, apenas um ADX, que está no H4, os outros dois dão um valor constante. Por favor, ajude.

Não tenho dúvidas de que minha caligrafia está correta e não tenho rachaduras.

Ou você está produzindo incorretamente, o que somente Mister Telepaths pode saber com certeza...

 
MaxZ:

O erro está exatamente nesse código. Fecha COMPRA, depois seleciona um pedido, que não existe mais, e fecha VENDA, que nunca existiu. Acho que já mostrei o erro. Isto não pode ser difícil de entender.

Antes de fechar um pedido, a EA verifica o número mágico do pedido e ele é diferente para pedidos de compra e venda. Portanto, uma e a mesma encomenda não pode ser fechada como Compra e Venda.

Aqui está o código:

//+-----------------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС ДЛЯ BUY-------------+
//+-----------------------------------------------------------------------------+

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (OrderTotal() == 1 && Magic == 111 && OrderType( ) == 0)
{
if (POINT_BUY_M15 < Strgh_UP_M15 || POINT_BUY_H1 < Strgh_UP_H1 || POINT_BUY_H4 < Strgh_UP_H4)
{
close = 1;
}
}
if (fechar == 1)
{
OrderClose(OrderTicket(), lots, Bid, 5, Yellow);
}

//+-----------------------------------------------------------------------------+
//+-------------------------СТАВИМ СПОП ЛОСС ДЛЯ SELL-------------+
//+-----------------------------------------------------------------------------+

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);
Magic = OrderMagicNumber();

if (OrderTotal() == 1 && Magic == 222 && OrderType( ) == 1)
{
if (POINT_SELL_M15 < Strgh_DOWN_M15 || POINT_SELL_H1 < Strgh_DOWN_H1 || POINT_SELLL_H4 < Strgh_DOWN_H4)
{
close = 1;
}
}
if (fechar == 1)
{
OrderClose(OrderTicket(), lots, Ask, 5, Red);
}