Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 549

 
GSB:

Non, si vous mettez int slippage en premier, il allouera 4 octets, vous devez donc ajouter jusqu'à 8 (int reserve) ou utiliser long au lieu de int.


Il y a un autre moment étrange ici. S'il s'agit d'un élément d'une structure de chaîne de caractères, alors si le nombre de caractères variables de ce type de chaîne est supérieur à 7, le placerons-nous au-dessus des autres ? Parce que les chaînes de caractères ont toujours un caractère nul \n à la fin de la chaîne, et s'il y a plus de 7 éléments dans la chaîne, par exemple 8 éléments, alors la chaîne aura 8 + 1 octets, car 8 + \n. N'est-ce pas ?
 
GSB:

129 erreur se produit lorsque le prix a le temps de changer avant que le DC exécute votre ordre, utilisez un slippage plus important.


Le slippage est de 50 anciens pips, le prix après la virgule a 5 ou 4 chiffres, parfois il est de 12 ou 16. Je le teste sur la démo.
 
Example2:


Non, pas dans le testeur, juste sur un compte de démonstration.

J'ai déjà remarqué votre message et supprimé le mien - je l'ai écrit à partir de la dernière page. Sans le code, il est difficile de vous dire quoi que ce soit de précis.
 
artmedia70:
J'ai déjà remarqué votre message et supprimé le mien - je l'ai écrit à partir de la dernière page. Sans le code, il est difficile de vous dire quoi que ce soit de précis.


Dois-je vous l'envoyer sur le forum ou en privé ?
 
Example2:

Voulez-vous que je l'affiche sur le forum ou en personne ?
Veuillez le déposer sur le forum si cela ne vous dérange pas. Quelqu'un va le corriger. Je me glisse déjà dans mon lit - il est 5h30 du matin, le cheval est encore debout...
 
Je vais me coucher aussi.
Dossiers :
 
     USDCADAsk = MarketInfo("USDCAD",MODE_ASK);            
     USDCADBid = MarketInfo("USDCAD",MODE_BID);

     Comment("USDCADAsk = "+DoubleToStr(USDCADAsk,нужный диджитлс),"\n",
             "USDCADBid = "+DoubleToStr(USDCADBid,нужный диджитлс));
 
hoz:

Il y a un autre moment étrange ici. S'il y a un élément de la structure de type chaîne, si le nombre de caractères variables de cet élément est supérieur à 7, le placerons-nous au-dessus des autres ? Après tout, les chaînes de caractères ont toujours un caractère nul \n à la fin de la chaîne et s'il y a plus de 7 éléments dans la chaîne, par exemple 8 éléments, la chaîne aura 8 + 1 octets car 8 + \n. N'est-ce pas ?

Si la structure contient des variables de type chaîne et/ou objet de tableau dynamique , le compilateur attribue un constructeur implicite à une telle structure, où tous les membres de la structure de typechaînesont mis à zéro et une initialisation correcte esteffectuée pour l'objet de tableau dynamique.

 
Example2:

Je dors aussi.

Fichiers joints:
Kuklovod_USD_1.1.mq4


On ne peut pas écrire des codes de manière aussi inattentive :)

Tout d'abord, Comment("USDCADAsk = ",USDCADAsk) ; puis USDCADAsk = DoubleToString(MarketInfo("USDCAD",MODE_ASK),usdcaddigits) ; USDCADAsk est déclaré comme un double, mais vous y mettez un String,

et ensuite Digits.... à nouveau ^) et Point

Vous devez rechercher ces erreurs vous-même, personne ne les réparera pour vous comme pour le commerce ! Le compilateur génère 28 erreurs et vous mettez la démo dans le commerce. Vous pourriez souhaiter utiliser de l'argent réel, mais le marché vous aurait corrigé !

 if (USDCHF){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[1] = OrderSend("USDCHF",OP_BUY,Lot,USDCHFAsk,slip,USDCHFAsk-NormalizeDouble(sl*Point,Digits),USDCHFAsk+NormalizeDouble(tp*Point,Digits),"USDCHF",magic[0],0,Red);
                    if (Result[1] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDCHF","\n",
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}
        if (USDJPY){while(IsTradeContextBusy()){Sleep(10);}
                    RefreshRates();
                    Result[2] = OrderSend("USDJPY",OP_BUY,Lot,USDJPYAsk,slip,USDJPYAsk-NormalizeDouble(sl*Point,Digits),USDJPYAsk+NormalizeDouble(tp*Point,Digits),"USDJPY",magic[0],0,Red);
                    if (Result[2] < 0){Alert("Функция OpenOrders ","\n","Валютная пара "+"USDJPY","\n", 
                    "Команда: открыть ордер Sell","\n", "Ответ сервера: " ,errors(GetLastError()) );}}

A qui appartient l'offre et la demande ?

//-----------

void CloseOrders(){
      for (int i = OrdersTotal()-1; i>=0; i--){
         if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
             if (OrderMagicNumber() == magic[0]){
               if (USDBuySl || USDBuyTp){
                 while(IsTradeContextBusy()){Sleep(10);}
                 RefreshRates();
                 OrderClose(OrderTicket(),OrderLots(),Bid,slip,Blue);
               }
             }
   .................
        OrderClose(OrderTicket(),OrderLots(),Ask,slip,Blue);


Correct

RefreshRates();
double bid=MarketInfo(OrderSymbol(),MODE_BID);
double ask=MarketInfo(OrderSymbol(),MODE_ASK);
OrderClose(OrderTicket(),OrderLots(),bid,slip,Blue);
.............
OrderClose(OrderTicket(),OrderLots(),ask,slip,Blue);
 
Aidez-moi à trouver la valeur maximale de l'indicateur N pour le jour précédent, je reçois les données par iCustom et ensuite un blocage. Je pense que c'est fait par ArrayMaximum, mais comment trouver la valeur
.

Je ne sais pas ce que iCustom devrait faire, je ne vois pas d'autres options.

Raison: