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

 

Ou seja, seria algo parecido com isto:

// Простой параболик. Переворотная стратегия.
// В условиях, когда в терминале уже есть открытые позиции по другим инструментам.

input double TakeProfit    =2500;
input double StopLoss      =400;
input double Lots          =1;
input double TrailingStop  =100;

input double Parameter1    =0.02; // Параметры индикатора PSAR
input double Parameter2    =0.2;
   
static int ticket_sell     =0;

void OnTick()
{
 

Olá. Alguém pode me mostrar como inserir Comentário(TimeToStr(TimeLocal(),TIME_SECONDS))

Eu tenho ou o tempo (local) é atualizado apenas com um novo tick (nossa Internet é ruim), ou o tempo está correto e o Expert Advisor deixa de funcionar

 
Irina_:

Olá. Alguém pode me mostrar como inserir Comentário(TimeToStr(TimeLocal(),TIME_SECONDS))

Eu tenho ou o tempo (local) é atualizado apenas com um novo tick (nossa Internet é ruim), ou o tempo está correto e o Expert Advisor deixa de funcionar


Você deve escrever o relógio em OnTimer() para evitar a dependência de carrapatos.
 

Eu nunca usei OnTimer() antes. Como seria? Sou um principiante.

Agora eu o fiz assim:


int start()

{ aqui está o código da coruja

- - - - - - - - - - - - - - - -

no final eu coloquei :

while(!IsStopped())

{

Comentário(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

retorno(0);

}

Parece mostrar, mas o comentário aparece no gráfico algum tempo depois, após 15 minutos, quando a EA já abriu um par de pedidos. Por quê?

 
Irina_:

Eu nunca usei OnTimer() antes. Como seria? Sou um principiante.

Agora eu o fiz assim:


int start()

{ aqui está o código da coruja

- - - - - - - - - - - - - - - -

no final eu coloquei :

while(!IsStopped())

{

Comentário(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

retorno(0);

}

Parece mostrar, mas o comentário aparece no gráfico algum tempo depois, após 15 minutos, quando a EA já abriu um par de pedidos. Por quê?


int OnInit()
{

EventSetTimer(нужное количество секунд);
   




   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   EventKillTimer();
   



}
//+------------------------------------------------------------------+
void OnTick()
{

   
}
//+------------------------------------------------------------------+
void OnTimer()
{


Comment(TimeToStr(TimeLocal(),TIME_SECONDS));
} //+------------------------------------------------------------------+
 
Obrigado, vou tentar.
 
vadynik:

Para não perder valor você precisa de uma variável global, mover sua declaração para fora doOnTick() ou torná-la estática
Não é necessário movê-lo para fora do escopo global e torná-lo estático. Dentro da função. Ao lado da posição_existe.
 
simpleton:
Não há necessidade de retirá-lo e torná-lo global, é suficiente para torná-lo estático. Dentro da função. Ao lado da posição_existe.

Então, o que eu escrevi? OU
 
rusa:
Os EAs do Metatrader 4 funcionam no terminal andróide?
Não há nenhuma provisão para EAs lá.
 
Mr.Profit:

Acontece que SymbolSelect("AUDUSD", verdadeiro) retorna verdadeiro somente se AUDUSD não estiver na MarketWatch - ou seja, quando o par é adicionado à MarketWatch. Uma vez que o par está no MarketWatch, as chamadas subseqüentes retornam falsas.

Este comportamento não corresponde em nada ao manual desta função.

Eu tive que usar uma função autoescrita que varre todos osSymbolName(i, true) para i=0...SymbolsTotal(true).

Tudo se encaixa.

O segundo parâmetro na função é um interruptor.

1. Se você enviar true, então você tem que selecionar o símbolo em Market Watch.

1.1.Se ainda não estiver lá, ele será selecionado e a função voltará a ser verdadeira.

1.2 Se já estiver lá, a função não funcionará (nada a selecionar) e retornará falsa.

2. Se você enviar falso, então o símbolo deve ser removido da Market Watch.

2.1 Se ele estiver lá, e não houver gráficos abertos e/ou posições abertas para este símbolo, então o símbolo será removido do Market Watch e a função voltará a ser verdadeira.

2.2 Se ele estiver presente, mas houver gráficos abertos com este símbolo e/ou houver posições abertas com ele, a função não funcionará e retornará falsa.

2.3 Se não estiver lá, a função não funcionará (não há nada para remover) e retorna falso.

É assim...

Razão: