[Arquivo!] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por ela. Não poderia ir a lugar algum sem você - 2. - página 89

 
volshebnik:
Muito obrigado! Funcionou, mas raramente, às vezes ocorre o mesmo erro - 130....... ( Preciso sempre normalizar paradas ou apenas em índices? (apenas em paradas de moedas sempre funcionaram sem normalização, em minha opinião).


Acrescentar ao código:

if ( Error!=0 )
  Print("OrderSend()  Error=",Error," ОткрФрвверх=",ОткрФрвверх," SL=",SL," TP=",TP);

e analisar.

 
artmedia70:

artemida70, tenho um problema em testar um EA. Preciso apagar o histórico antigo, que está na pasta do histórico no diretório do terminal. Não sei como entrar no diretório do terminal, tentei todos os ícones e em nenhum lugar encontrei o que estou procurando. Eu ainda não tive que apagar dados históricos. Provavelmente existem vários arquivos na pasta do histórico, se for o caso, qual deles contém os dados históricos? Eu não quero causar nenhum problema extra. Além disso, se você não se importa, eu não tenho um estabilizador no meu computador e tive uma falha de energia hoje. Eu ligo o terminal e a barra de status e as barras de ferramentas desapareceram na tela. Eu os liguei novamente, mas depois de desligar o terminal, eles desapareceram novamente. Sei que já fiz isso uma vez antes e descobri no manual do usuário como reinicializá-lo, mas agora não posso fazer isso novamente, tenho que ler tudo novamente. Seja bem-vindo. :)

 

coronel, artmedia70, muito obrigado por suas respostas e acréscimos.

Acontece que eu tenho um problema não com o código, mas com algo mais (provavelmente já com minha cabeça :-))). Não tenho nenhum dos roteiros funcionando, embora qualquer um dos EAs esteja funcionando. Comecei a anexar ao gráfico todos os scripts que encontrei em meu MT4, e nenhum deles funciona - por exemplo, script fechado (metacotas de direitos autorais), script ByMarketBuySymbols (copyright KimIV) e outros. Todos eles são carregados com sucesso, e depois removidos imediatamente. O botão "Expert Advisors" está habilitado. Não verifiquei um terminal, mas dois - Life e Fx4U. Eu tentei os dois, podem não ser ambos com falhas. O que fazer? Como faço para que os roteiros funcionem?

 

Movido de um fio separado.

anastar88 10.02.2011 13:28

Olá, neste EA os alertas aparecem a cada 5-10 segundos e eu preciso apenas dos sinais comerciais M30, que estão marcados com pontos verdes e vermelhos nos gráficos. alguém pode me ajudar? Obrigado.


//ADX Crossing.mq4 
//| Amir
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
//---- input parameters
extern int ADXbars=14;
extern int CountBars=350;
//---- buffers
double val1[];
double val2[];
double b4plusdi,nowplusdi,b4minusdi,nowminusdi;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,108);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,108);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars);
SetIndexDrawBegin(1,Bars-CountBars);
int i,shift,counted_bars=IndicatorCounted();
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- initial zero
if(counted_bars<1)
{
for(i=1;i<=CountBars;i++) val1[CountBars-i]=0.0;
for(i=1;i<=CountBars;i++) val2[CountBars-i]=0.0;
}
for (shift = CountBars; shift>=0; shift--)
{
b4plusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift-1);
nowplusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_PLUSDI,shift);
b4minusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift-1);
nowminusdi=iADX(NULL,0,ADXbars,PRICE_CLOSE,MODE_MINUSDI,shift);
if (b4plusdi>b4minusdi && nowplusdi<nowminusdi && i!=1)
{
val1[shift]=Low[shift]-5*Point;
Alert("Buy Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
if (b4plusdi<b4minusdi && nowplusdi>nowminusdi && i!=1)
{
val2[shift]=High[shift]+5*Point;
Alert("Sell Arrow","\n","Current time is ",TimeToStr(CurTime()),"\n",Symbol());
i++;
}
}
return(0);
}
//+------------------------------------------------------------------+




Arquivos anexos:

ADXpCrossingqw_Alerts.mq4 (2.47 KB)


 
Zhunko:

XP? Se assim for, é só esperar um pouco. Publicarei um novo em breve.

Funciona em Vista e 7. Nem toda a EXP não funciona. Em alguns está bem.

================

Postado. Estará no mealheiro amanhã ou no dia seguinte.


Sim - XP.
 

Escreveu um excelente robô "especialista" (não há outra forma de colocá-lo senão por vírgulas invertidas).

Ela leva em conta todos os últimos desenvolvimentos da comunidade MQL.

Abre perfeitamente as posições - não há nada do que reclamar.

Parar Perdas funciona sem falhas!!! )))

Mas ele não quer pagar ao proprietário...cadela...)))

 
2011.02.10 13:10:54 EURCHF,M1: Alerta: Pedido de erroFechar4063
O que causa este erro?
 
veja na ficha técnica
 
Dimka-novitsek:

2011.02.10 13:10:54 EURCHF,M1: Alerta: Pedido de erroFechar4063
O que causa este erro, por favor?

Descubra de onde este erro está vindo, olhe com cuidado. Deve ser um número inteiro (integer).

Talvez você esteja usando um duplo ou cordel... Isto é apenas como uma opção. Também poderia ser outra coisa.

Faça uma busca.

Código de erro: " parâmetro do tipo inteiro está pendente ".

 

Obrigado. E é por isso que eu não entendo isso de imediato,

if (OrderTotal( ) !=0) {
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES );
OrderClose( ticket, Lots, Ask, 5, 0 );

E meu bilhete é exatamente um doublet, não um integer!!!!