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

 
ukrop1203:
Non, seulement "chargé avec succès" et "supprimé".

Oui, je l'ai vu, j'ai essayé de charger votre code, il y a un débordement de pile en

2019.03.26 19:38:16.053 Dépassement de pile

a essayé de déplacer globalement décrit variables dans la section OnStart() n'a pas aidé, peut-être quelque part dans le code que vous avez une grande quantité de données, vous devez comprendre ce que vous faites, et le code n'est pas optimale écrite, je ne peux pas si l'aide rapide


 

Karoche J'ai manqué cela dans le journal, mon script utilise de grands tableaux de double (3 tableaux de 864000). Réduit de 10 fois, tout fonctionne, je suis à un niveau bas n'est pas versé, dites-moi quel genre de fer doit pomper pour que de telles choses fonctionnent, il suffit d'ajouter de la RAM ? Je n'achèterai certainement pas un spécial pour le prog, je le réécrirai, je me pose juste la question.


 
ukrop1203:

Karoche J'ai manqué cela dans le journal, mon script utilise de grands tableaux de double (3 tableaux de 864000). Réduit de 10 fois, tout fonctionne, je suis à un faible niveau n'est pas versé, dites-moi quel genre de fer doivent pomper pour que de telles choses à travailler, il suffit d'ajouter la RAM ? Je n'achèterai certainement pas un spécial pour le prog, je le réécrirai, je me pose juste la question.


3 x 8 x 864000 = 20736000 octets

c'est trop, mt4 est en 32 bit, je ne veux pas chercher des informations, mais je pense que les programmes 32 bit ont une limite de mémoire de 2 gb.

Mon appareil n'a rien à voir avec cela.

ZS : 20736000 octets recalculés, cela fait 20 Mb, pas grand chose en principe, probablement que vous avez des tableaux décrits statiquement, essayez de passer à des tableaux dynamiques et ensuite de redimensionner, peut-être que cela aidera - je n'ai pas lu depuis longtemps comment la mémoire dans MT est allouée, mais le script s'est planté à cause d'un débordement de pile - quelque part la mémoire est beaucoup réservée

 
Comment créer un tableau via new pour qu'il soit écrit en chem ? J'ai seulement compris comment créer une classe avec un tableau dans le champ, mais ce serait bizarre de l'utiliser, en c++ ça ressemble à ça : int *array = new int[n] ; Ca ne marche pas ici.
 
ukrop1203:
Comment créer un tableau via new pour qu'il soit écrit en chem ? J'ai seulement compris comment créer une classe avec un tableau dans le champ, mais ce serait bizarre de l'utiliser, en c++ ça ressemble à ça : int *array = new int[n] ; Ca ne marche pas ici.
double x[];
ArrayResize(x,1000);

https://docs.mql4.com/ru/array/arrayresize

ArrayResize - Операции с массивами - Справочник MQL4
ArrayResize - Операции с массивами - Справочник MQL4
  • docs.mql4.com
При успешном выполнении функция возвращает количество всех элементов, содержащихся в массиве после изменения размера; в противном случае возвращает -1 и массив не меняет размеры. Функция может быть применена только к динамическим массивам. При этом необходимо иметь ввиду, что нельзя изменять размер для динамических массивов, назначенных в...
 
Pouvez-vous me dire comment afficher le prix ASK cinq caractères après le point dans Print au lieu de quatre ?
 
nkss2020:
Pouvez-vous me dire comment afficher le prix ASK cinq caractères après le point dans Print au lieu de quatre ?
Print("Ask: ",DoubleToString(Ask,5));
 
Il y a une date du 26 mars 2019, par exemple, comment pouvons-nous calculer 3 jours à partir de cette date pour arriver au commentaire du 23 mars 2019 ?
 
ponochka:
La date du 26.03.2019 par exemple, comment la convertir en 3 jours, pour que le commentaire vienne du 23.03.2019 ?
Date-3*PeriodSeconds(PERIOD_D1) ;
 
Alexey Viktorov:

C'est toi qui as pris 24 heures.

ZS. Et c'est vous qui vous êtes retiré...