Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1321

 
Chi altro può aiutare? Come fare una pausa in tick o candele (barre), non addormentarsi (Sleep), vale a dire, per esempio, dopo la chiusura di un affare 100 barre non scambiano, non fare nulla, in modo che la funzione funziona nel tester e sul reale.
Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
 
Порт-моне тв:
Chi altro può aiutare? Come fare una pausa in ticks o candlesticks (barre), per non addormentarsi (Sleep), cioè, per esempio, dopo che la transazione è chiusa per 100 barre, non fare trading, non fare nulla, in modo che la funzione funziona nel tester e nel conto reale.

trova l'ultimo ordine chiuso nella storia con il tuo mago e simbolo

il tempo di chiusura sarà disponibile per questo ordine

trovare il tempo attuale ogni tick e sottrarre questo tempo dal tempo trovato di un ordine chiuso e confrontarlo con quello che ti serve, anche in barre - una barra ha un tempo aperto e il timeframe, o solo in secondi


l'unico problema è il primo ordine, quando si determina l'ultimo ordine chiuso, se non è stato trovato nella storia, dovremmo restituire 0, cioè 1970.01.01.


Non scriverò il codice - dovrebbe essere nelle funzioni KIM come trovare l'ultimo ordine chiuso

 
Igor Makanu:

trova l'ultimo ordine chiuso nella storia con il tuo mago e simbolo

il tempo di chiusura sarà disponibile per questo ordine

trovare il tempo attuale ogni tick e sottrarre questo tempo dal tempo trovato di un ordine chiuso e confrontarlo con quello che ti serve, anche in barre - una barra ha un tempo aperto e il timeframe, o solo in secondi


l'unico problema è il primo ordine, quando si determina l'ultimo ordine chiuso, se non è stato trovato nella storia, dovremmo restituire 0, cioè 1970.01.01.


Non scriverò il codice - dovrebbe essere nelle funzioni KIM come trovare l'ultimo ordine chiuso

Sarà meglio che tu mi dica come funziona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.


Non funziona nel tester. E quello che hai scritto è complicato e ripugnante.

 
Порт-моне тв:

è meglio che tu mi dica come funziona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.

input int WaitXBars = 100;
//+------------------------------------------------------------------+
void OnStart()
{
   int WaitXBarsInSec = PeriodSeconds() * WaitXBars;
   if(TimeCurrent() - LastOrderCloseTime() > WaitXBarsinSec)
   {
      // выставим новый ордер
   }
Porto mone tv:

E quello che avete scritto è complesso e ripugnante.

Non ho nulla contro di esso, aspetta, forse qualcuno suggerirà un modo più semplice, io ho suggerito il modo più affidabile

 
Порт-моне тв:

è meglio che tu mi dica come funziona.

int WaitXBars = 100;

datetime signalTime = TimeCurrent();

if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.

la vostra barra attuale è sempre zero
ed è sempre meno di 100, poiché NULL è meno di STA
vi è stato scritto che avete bisogno del tempo dell'ultima posizione chiusa
e avete anche specificato dove cercare

c'è anche una funzione che restituisce il numero di barra, siete a posto


 
Igor Makanu:

Non ho nulla contro di esso, aspettare forse qualcuno mi dirà come rendere più facile, ho suggerito più affidabile.

Se possibile, mandatemi un esempio con il codice dell'accordo, non ho trovato nulla su internet

 
Порт-моне тв:

Se possibile, mandatemi un esempio di codice di transazione, non riesco a trovare nulla su internet

https://www.mql5.com/ru/forum/131859

 
Iurii Tokman:

la vostra barra attuale è sempre zero
ed è sempre inferiore a 100, perché zero è inferiore a CTA
vi è stato scritto che avete bisogno del tempo dell'ultima posizione chiusa
e anche indicato dove guardare

c'è anche una funzione che restituisce il numero di barra, siete tutti pronti


Dove si inserisce il numero di barre in sospeso?

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
 
Igor Makanu:

numero di barre diattesa allora?

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
 
Порт-моне тв:
Non capisco, qual è ilnumero di barre daaspettare?

il tuo esempio dice già
solo il tempo deve essere cambiato