[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 114

 
sss2019:

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

Dans les exemples, nous effectuons tous les calculs sur des graphiques quotidiens, où une barre correspond à un jour.

Par exemple, nous avons Time[0], et nous devons trouver l'heure de cinq futures barres qui n'ont pas encore été formées. Si vous faites Time[0] + 60 * Period * 5, lorsque vous arrivez au week-end, les barres ne sont pas calculées correctement.

Fantaisie ! !! Trouvez les futurs bars ! Tu ne serais pas en train d'écrire un Graal ? ?? Comment voulez-vous trouver quelque chose qui n'a pas encore été formé ? ? ???

Si tu ne l'as pas dit correctement.

Essayez d'utiliser iTime(......) au lieu de Time[0].

Les week-ends peuvent être définis avec DayOfWeek() où 0 et 6 sont des week-ends .....

 

Veuillez m'indiquer s'il est possible d'interdire le changement de connexion aux serveurs (comme indiqué sur l'image).

serveurs

 
VOLDEMAR:
sss2019:

Cool ! !! Trouvez les futurs bars ! Tu ne serais pas en train d'écrire un Graal, par hasard ? Comment voulez-vous trouver quelque chose qui n'a pas encore été formé ? ? ???

Si tu ne l'as pas dit correctement.

Essayez d'utiliser iTime(......) au lieu de Time[0].

Les week-ends peuvent être définis avec DayOfWeek() où 0 et 6 sont des week-ends .....


Utilisé une fois, vérifié chaque fonction de barre if(iBarShift >= 0)

Mais maintenant j'ai oublié comment faire et je suis confus.

Print(entrée de la fonction) ;

FindNexttime() ;

int FindNexttime()

{

Voici le travail de cette fonction

Print(FindNexttime) ;

}

Mais au démarrage, il n'imprime que le temps nécessaire, et la phrase d'entrée de la fonction ne s'imprime pas, alors les problèmes ont commencé, et je n'ai pas réussi à les résoudre.

 

Bonne journée ! !!

Je ne comprends rien. J'ai même - fuh - soupiré et me suis assis pendant un long moment, et dans l'erreur, pouyuyaemu de moins en moins !

OrderSelect ( tycc, SELECT_BY_TICKET );     Print( " PostayiliSellLot3 ", PostayiliSellLot3 , "   tycc " , tycc , "  OrderType() " , OrderType() );
if ( tycc>0&&PozyProstavleny&&!PostayiliSellLot3){if (OrderSelect ( tycc, SELECT_BY_TICKET ))
     { Print( " мі здесь  OrderSelect ");
         //---- Проверяем SELL этот ордер или нет
         if (OrderType()==SELL)
         {  Print( " мі здесь  rderType()==SELL "); 
             

Ne passe pas le deuxième contrôle ! Quelle est la position - vendre !

2013.01.24 11:46:43 2007.11.09 18:32 Version_dynamique_avec_compréhension_Alex_WearwolfTry GBPUSD,H4 : mi iciOrderSelect

2013.01.24 11:46:43 2007.11.09 18:32 Version_dynamique_avec_compréhension_Alex_Wearwolftry GBPUSD,H4 : PostayiliSellLot3 0 tycc 22 OrderType() 1

2013.01.24 11:46:43 2007.11.09 18:32 Version_dynamique_avec_compréhension_Alex_Wearwolftry GBPUSD,H4 : mi ici OrderSelect

2013.01.24 11:46:43 2007.11.09 18:32 Version_dynamique_avec_compréhension_Alex_Wearwolftry GBPUSD,H4 : PostayiliSellLot3 0 tycc 22 OrderType() 1

2013.01.24 11:46:43 2007.11.09 18:32 Testeur : l'ordre #22, vendre 2.00 GBPUSD est ouvert à 2.0911

2013.01.24 11:46:43 2007.11.09 18:32 Testeur : ordre #22 pour vendre GBPUSD,H4 : OrderSelect ici

2013.01.24 11:46:43 2007.11.09 18:32 Version_dynamique_avec_compréhension_Alex_Wearwolftry GBPUSD,H4 : PostayiliSellLot3 0 tycc 22 OrderType() 5


 

Aidez-moi ! Inutile de dire que je réalise qu'à un moment donné dans le code, je suis un mouton !

Je ne sais pas où !

 

J'ai rencontré des modèles comme celui-ci :

La première situation :

while (!IsStopped())
   {
      while (!WaitForTradeContext()) {}
      CorrectionOfStops(type, sl, tp);
      if (OrderModify(ticket, 0, sl, tp, OrderExpiration()))
      {
         Comment("Стоп-приказ и профит успешно установлены!");
         return(true);
      }
      Sleep(1000);
   }
}

La fonction OrderSend a 0(zéro) à la place du nouveau prix d'ouverture de l'ordre en attente, comment cela doit-il être compris ?

Deuxième situation :

int ticket = OpenOrderWithInstantMode(type, lot, price, 0, 0, magicNumber);
   if (ticket <= 0)
      return(false);
    
   if (!OrderSelect(ticket, SELECT_BY_TICKET) || 
       OrderCloseTime() != 0)   
   {
      Alert("Фатальная ошибка при установке стопов и профитов нового ордера!");
      return(false);
   }

Ici,OrderCloseTime() != 0 par logique ne devrait pas se référer à l'ordre qui est sélectionné avec la fonction OrderSelect puisqu'il ya l'opérateur || entre eux, pas les parenthèses, par exemple. Veuillez expliquer ce point à .

 
Il le sait, mais où estOrderSend? Il y aOrderModify ! Zéro doit être le prix qui reste le même !
 
hoz:

Le deuxième point :

Ici,OrderCloseTime() != 0 ne devrait logiquement pas s'appliquer à l'ordre sélectionné par la fonction OrderSelect , car il y a un opérateur || entre eux, et non des parenthèses, par exemple. Veuillez clarifier ce point à .


Pour éviter l'optimisation du compilateur, cette construction est incorrecte,

parce qu'on ne sait pas ce qui sera vérifié en premier - OrderSelect ou OrderCloseTime

 
Au secours ! L'affaire ne bouge pas.
 
Comment diable la conditionif (OrderType()==SELL) peut-elle ne pas être remplie ? si la commande est Vendre ?