Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 673

 

Cioè sarebbe qualcosa del genere:

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

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()
{
 

Salve. Qualcuno può mostrarmi come inserire Comment(TimeToStr(TimeLocal(),TIME_SECONDS));

Ho capito o il tempo (locale) è aggiornato solo con un nuovo tick (il nostro Internet è cattivo), o il tempo è corretto e l'Expert Advisor smette di funzionare

 
Irina_:

Salve. Qualcuno può mostrarmi come inserire Comment(TimeToStr(TimeLocal(),TIME_SECONDS));

Ho capito o il tempo (locale) è aggiornato solo con un nuovo tick (il nostro Internet è cattivo), o il tempo è corretto e l'Expert Advisor smette di funzionare


Dovreste scrivere l'orologio in OnTimer() per non dipendere dai tick.
 

Non ho mai usato OnTimer() prima d'ora. Come sarebbe?Sono un principiante.

Ora ho fatto così:


int start()

{Ecco il codice del gufo

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

alla fine ho messo :

mentre(!IsStopped())

{

Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

ritorno(0);

}

Sembra mostrare, ma il commento appare sul grafico qualche tempo dopo, dopo 15 minuti, quando l'EA ha già aperto un paio di ordini. Perché?

 
Irina_:

Non ho mai usato OnTimer() prima d'ora. Come sarebbe?Sono un principiante.

Ora ho fatto così:


int start()

{Ecco il codice del gufo

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

alla fine ho messo :

mentre(!IsStopped())

{

Comment(TimeToStr(TimeLocal(),TIME_SECONDS) +""+TimeToStr(TimeCurrent(),TIME_SECONDS) )

}

ritorno(0);

}

Sembra mostrare, ma il commento appare sul grafico qualche tempo dopo, dopo 15 minuti, quando l'EA ha già aperto un paio di ordini. Perché?


int OnInit()
{

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




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



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

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


Comment(TimeToStr(TimeLocal(),TIME_SECONDS));
} //+------------------------------------------------------------------+
 
Merci, lo proverò.
 
vadynik:

Per non perdere valore avete bisogno di una variabile globale, spostate la sua dichiarazione fuori daOnTick() o rendetela statica
Non c'è bisogno di spostarlo fuori dall'ambito globale e renderlo statico. All'interno della funzione. Accanto a position_exists.
 
simpleton:
Non c'è bisogno di toglierlo e renderlo globale, è sufficiente renderlo statico. All'interno della funzione. Accanto a position_exists.

Allora, cosa ho scritto? O
 
rusa:
Gli EAs di Metatrader 4 funzionano nel terminale Android?
No. Non c'è nessuna disposizione per gli EA.
 
Mr.Profit:

Risulta che SymbolSelect("AUDUSD", true) restituisce true solo se AUDUSD non è in MarketWatch - cioè quando la coppia viene aggiunta a MarketWatch. Una volta che la coppia è in MarketWatch, le chiamate successive restituiscono false.

Questo comportamento non corrisponde affatto al manuale di questa funzione.

Ho dovuto usare una funzione auto-scritta che analizza tutti iSymbolName(i, true) per i=0...SymbolsTotal(true).

Tutto si adatta.

Il secondo parametro della funzione è un interruttore.

1. Se si invia true, allora è necessario selezionare il simbolo in Market Watch.

1.1.Se non è già presente, verrà selezionato e la funzione restituirà true.

1.2. Se è già presente, la funzione non funzionerà (niente da selezionare) e restituirà false.

2. Se si invia false, allora il simbolo dovrebbe essere rimosso dal Market Watch.

2.1 Se c'è, e non ci sono grafici aperti e/o posizioni aperte per questo simbolo, allora il simbolo sarà rimosso dal Market Watch e la funzione restituirà true.

2.2 Se è presente, ma ci sono grafici aperti con questo simbolo e/o ci sono posizioni aperte con esso, la funzione non funziona e restituisce false.

2.3 Se non c'è, la funzione non funziona (non c'è niente da rimuovere) e restituisce false.

Funziona così...