Questions d'un "mannequin - page 147

 
alph:

Si le prix clôture en dessous de la moyenne mobile et que le Momentum est en dessous de la moyenne, ouvrez une transaction de vente. Sur une transaction d'achat, c'est l'inverse.

Il s'avère que si la condition n'est pas remplie, aucune action n'est nécessaire. Si oui, alors dans la dernière ligne de la fonction écrivez return(false) et voyez si cela satisfait votre tactique étape par étape.
 
Yedelkin:
Donc, si la condition n'est pas remplie, vous n'avez rien à faire ? Si oui, alors dans la dernière ligne de la fonction écrivez return(false) et voyez si cela satisfait votre tactique étape par étape.
Est-ce dans void OnTick() ?
 
alph:
Est-ce dans void OnTick() ?

Il était temps, apparemment, de faire du commerce.

Mais je suis personnellement dérouté par le résultat non retournable, qui peut être converti en la forme souhaitée tôt ou tard.

Ce qui me trouble, c'est que

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
 
alph:
Est-ce dans void OnTick() ?

Juste ici :

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) return(true);
   return(false);
   }

Essayez de mettre du faux sur la dernière ligne et voyez si cette approche est cohérente avec la tactique que vous avez choisie. C'est-à-dire "faire défiler" le travail du conseiller expert en tenant compte de ce changement.

 
Interesting:
Je parlais de timeOntrade apparemment.
Dans timontrade juste faux à la fin ne donnera pas le résultat désiré, mais dans ma variante il ouvre vraiment des affaires par l'horloge, testé. Ma version du code avec l'horloge sous cette forme, je l'ai eu quelque part ici sur le forum, il fonctionne après l'avoir vissé. Seulement les minutes que j'ai réussi à visser via timontrade 2. Je suis sûr que le code complet devrait être plus court d'un tiers au moins.
 
alph:
Dans timeOntrade juste faux à la fin ne donnera pas le résultat souhaité, mais dans ma variante ouvre des trades par l'heure est réel, testé.
Que se passe-t-il si timeOntrade.hour = 5 ?
 
Interesting:
Que se passe-t-il si timeOntrade.hour = 5 ?

L'accord ne sera certainement pas conclu, car en...

//Base pour le passage à Open

MqlRates rt[1] ;
if(CopyRates(Symbol(),MyTframe,0,1,rt)<0) return ;
if(rt[0].tick_volume>1) return ;

if(!PositionSelect(_Symbol)&& (timeOntrade(4) || ((timeOntrade(15) || timeOntrade(16))&& timeOntrade2(0)))) Open();//

...envoyer pour ouvrir seulement à l'heure spécifiée

Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура исторических данных - Документация по MQL5
 
alph:
Dans timontrade, c'est exactement faux à la fin qui ne produira pas le résultat souhaité...
Regardez vous-même votre code. La condition if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) est inutile dans sa forme actuelle. Car quel que soit le résultat qu'elle produit, votre fonction bool timeOntrade() renverra toujours true.
 

alph, c'est ce dont parle Yedelkin.

Ces variantes de la fonction sont identiques dans notre esprit.

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   if(timeOntrade.hour==4 || timeOntrade.hour==15 || timeOntrade.hour==16) return(true);
   return(true);
   }

bool timeOntrade(int TradeHour)
   {
   MqlDateTime timeOntrade;
   TimeTradeServer(timeOntrade);
   if(timeOntrade.hour!=TradeHour) return(false);
   timeOntrade.hour= 0;
   timeOntrade.min = 0;
   timeOntrade.sec = 1;
   return(true);
   }
 
Interesting:

D'ailleurs, dans cette variante, le résultat du testeur par bénéfice est faible, mais le rapport me semble bon.

Maintenant, je teste sur de plus grandes échelles de temps sans référence temporelle, peut-être le résultat sera-t-il meilleur.