Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1321

 
Qui d'autre peut aider ? Comment faire une pause dans les ticks ou les chandeliers (barres), pour ne pas s'endormir (Sleep), à savoir, par exemple, après avoir conclu une transaction de 100 barres ne pas trader, ne rien faire, de sorte que la fonction fonctionne dans le testeur et sur le réel.
Документация по MQL5: Общие функции / Sleep
Документация по MQL5: Общие функции / Sleep
  • www.mql5.com
Функцию Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды.
 
Порт-моне тв:
Qui d'autre peut aider ? Comment faire une pause dans les ticks ou les chandeliers (barres), pour ne pas s'endormir (Sleep), à savoir, par exemple, après la clôture de la transaction pendant 100 barres, ne pas trader, ne rien faire, afin que la fonction fonctionne dans le testeur et dans le compte réel.

trouvez le dernier ordre fermé dans l'historique avec votre magicien et votre symbole

l'heure de fermeture sera disponible pour cette commande

trouver l'heure actuelle à chaque tick et soustraire cette heure de l'heure trouvée d'un ordre fermé et la comparer avec ce dont vous avez besoin, même dans les barres - une barre a une heure d'ouverture et le cadre temporel, ou juste en secondes.


le seul problème est le premier ordre, lors de la détermination du dernier ordre fermé, s'il n'a pas été trouvé dans l'historique, nous devrions retourner 0, c'est-à-dire 1970.01.01.


Je n'écrirai pas le code - il devrait être dans les fonctions KIM comment trouver le dernier ordre fermé.

 
Igor Makanu:

trouvez le dernier ordre fermé dans l'historique avec votre magicien et votre symbole

l'heure de fermeture sera disponible pour cette commande

trouver l'heure actuelle à chaque tick et soustraire cette heure de l'heure trouvée d'un ordre fermé et la comparer avec ce dont vous avez besoin, même dans les barres - une barre a une heure d'ouverture et l'unité de temps, ou juste en secondes.


le seul problème est le premier ordre, lors de la détermination du dernier ordre fermé, s'il n'a pas été trouvé dans l'historique, nous devrions retourner 0, c'est-à-dire 1970.01.01.


Je n'écrirai pas le code - il devrait être dans les fonctions KIM comment trouver le dernier ordre fermé.

Tu ferais mieux de me dire comment ça marche.

int WaitXBars = 100 ;

datetime signalTime = TimeCurrent();

si (iBarShift(NULL,0, signalTime) < 100) return ; // pour sauter.


Ça ne fonctionnera pas dans le testeur. Et ce que vous avez écrit est compliqué et répugnant.

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

vous feriez mieux de me dire comment ça marche.

int WaitXBars = 100 ;

datetime signalTime = TimeCurrent() ;

si (iBarShift(NULL,0, signalTime) < 100) return ; // pour sauter.

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

Et ce que vous avez écrit est complexe et répugnant.

Je n'ai rien contre, attendez, peut-être que quelqu'un va suggérer un moyen plus simple, j'ai suggéré le moyen le plus fiable

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

vous feriez mieux de me dire comment ça marche.

int WaitXBars = 100 ;

datetime signalTime = TimeCurrent() ;

si (iBarShift(NULL,0, signalTime) < 100) return ; // pour sauter.

votre barre actuelle est toujours zéro
et elle est toujours inférieure à 100, puisque NULL est inférieur à STA
on vous a écrit que vous aviez besoin de l'heure de la dernière position fermée
et vous avez même précisé où chercher

il y a même une fonction qui renvoie le numéro de la barre, vous êtes paré


 
Igor Makanu:

Je n'ai rien contre, attendez peut-être que quelqu'un me dise comment le rendre plus facile, j'ai suggéré plus fiable.

Si possible, envoyez-moi un exemple avec le code de l'opération, je n'ai rien trouvé sur Internet.

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

Si possible, envoyez-moi un exemple de code de transaction, je ne trouve rien sur Internet.

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

 
Iurii Tokman:

votre barre actuelle est toujours zéro
et elle est toujours inférieure à 100, parce que zéro est inférieur à CTA
on vous a écrit que vous aviez besoin de l'heure de la dernière position fermée
et on vous a même indiqué où chercher

il y a même une fonction qui renvoie le numéro de la barre, vous êtes fin prêt


Je n'arrive pas à comprendre. Où est le nombre de barres en attente ?

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

nombre de barres d'attente alors ?

Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
Документация по MQL5: Доступ к таймсериям и индикаторам / Bars
  • www.mql5.com
Если указаны параметры start_time и stop_time, то функция возвращает количество баров в диапазоне дат. Если эти параметры не указаны, то функция возвращает общее количество баров. Если данные для таймсерии с указанными параметрами при вызове функции Bars() еще не сформированы в терминале, или данные таймсерии в момент вызова функции не...
 
Порт-моне тв:
Je ne comprends pas, quel est lenombre de barres àattendre?

Votre exemple dit déjà
. Seule l'heure doit être modifiée.