Erreurs, bugs, questions - page 1811

 
Artyom Trishkin:
Si les deux EAs fonctionnent sur le même compte, avec le même magicien et sur le même symbole, alors oui, c'est possible.
Oui, c'est vrai. Je vais devoir ne pas ouvrir l'UPU sur mon ordinateur personnel, mais le regarder fonctionner sur les signaux et vérifier comment il fonctionne. Merci.
 
Yousufkhodja Sultonov:
Oui, c'est vrai. Je vais devoir ne pas ouvrir l'UPU sur mon ordinateur personnel, mais le regarder sur les signaux et vérifier comment il fonctionne. Merci.
Encore une fois, les informations ne sont pas complètes. Est-ce le VPS distant ou le terminal avec Expert Advisor installé et l'accès à distance qui est ouvert sur votre PC personnel ?
Vous devez compter combien de copies de terminaux sont ouvertes et combien de copies d'EAs fonctionnent au total. Si sur le VPS est ouvert le MT avec l'Expert Advisor et qu'il peut être consulté en utilisant l'accès à distance, il ne devrait pas y avoir de problèmes. Si la deuxième copie du terminal avec l'EA est ouverte sur l'ordinateur domestique, alors le conflit des EA dans les conditions énumérées par Artem est garanti.
Rien n'empêche de faire même comme suit : sur le VPS en cours d'exécution conseiller, et sur l'ordinateur de la maison est ouvert terminal SANS conseiller, dans ce cas sera visible pour ouvrir des transactions, des arrêts et d'autres informations, sauf les journaux.
 
Alexey Viktorov:
Encore une fois, l'information n'est pas complète. Est-ce l'accès à distance au VPS ou le terminal avec Expert Advisor installé et l'accès à distance ?
Vous devez compter combien de copies de terminaux sont ouvertes et combien de copies d'Expert Advisors sont ouvertes. Si sur le VPS est ouvert le MT avec l'Expert Advisor et qu'il peut être consulté en utilisant l'accès à distance, il ne devrait pas y avoir de problèmes. Si la deuxième copie du terminal avec l'EA est ouverte sur l'ordinateur domestique, alors le conflit des EA dans les conditions énumérées par Artem est garanti.
Rien n'empêche de faire même comme suit : sur le VPS en cours d'exécution conseiller, et sur l'ordinateur de la maison est ouvert terminal SANS conseiller, dans ce cas sera visible pour ouvrir des transactions, des arrêts et d'autres informations, sauf les journaux.

Sur l'ordinateur domestique, le terminal distant est ouvert sur l'UPU, car l'UPU a été configurée via le terminal domestique et avec ces paramètres, il reste ouvert en mode distant, je le minimise simplement.

Comme je le minimise mais ne le ferme pas, il semble y avoir un conflit. Je vais maintenant le fermer et essayer de surveiller l'état de l'UPU en utilisant le mot de passe d'investissement sur le terminal depuis mon PC personnel.

 

Bonjour,

J'ai le problème suivant sur mon compte de démonstration :

ulong u ;

u=expression mathématique longue (somme, multiplication, appel de fonction) avec des variables int et ulong impliquées.

Il arrive qu'il ne calcule pas correctement. En connaissance de cause, chaque variable de type int est supérieure ou égale à 0.

Je n'ai pas rencontré ce problème lorsque j'ai testé des citations historiques dans le débogueur.

 
Sergey Kudryavtsev:

Bonjour,

J'ai le problème suivant sur mon compte de démonstration :

ulong u ;

u=expression mathématique longue (somme, multiplication, appel de fonction) avec des variables int et ulong impliquées.

Il arrive qu'il ne calcule pas correctement. En connaissance de cause, chaque variable de type int est supérieure ou égale à 0.

Je ne l'ai pas rencontré en testant sur des citations historiques dans le débogueur.

Jetez un coup d'œil à la conversion de type. N'oubliez pas non plus que les types int et ulong ont des tailles différentes :

int

Letype entier int a une taille de 4 octets (32 bits). La valeur minimale est de -2.147.483.648, la valeur maximale est de 2.147.483.647.

ulong

Unulong de type int occupe également 8 octets et peut stocker des valeurs de 0 à 18 446 744 073 709 551 615.

Dans votre cas (utilisation de types de données DIFFERENTS dans la même formule), il est possible qu'un nombre de type int soit hors de la plage.

 
Vladimir Karputov:

Voir Conversion de type. Notez également que les types int et ulong ont des tailles différentes :

int

Le type entier int a une taille de 4 octets (32 bits). La valeur minimale est de -2.147.483.648, la valeur maximale est de 2.147.483.647.

ulong

Unulong de type int occupe également 8 octets et peut stocker des valeurs de 0 à 18 446 744 073 709 551 615.

Dans votre cas (utilisation de types de données DIFFERENTS dans la même formule), il est possible qu'un nombre de type int soit hors de la plage.

Le nombre int n'est certainement pas hors limites, aucune subsomption (partie de l'expression) n'est hors limites. Tout se situe autour de 6 chiffres.

J'ai déjà commencé à me débarrasser d'expressions comme celle-ci.

D'ailleurs, il y avait une telle expression :

Print(expression) ; n'est pas égal à return(expression) ;.

 
Sergey Kudryavtsev:

Le nombre int n'est certainement pas hors limites, aucune subsomption (partie de l'expression) n'est hors limites. Tout se situe autour de 6 chiffres.

J'ai déjà commencé à me débarrasser d'expressions comme celle-ci.

D'ailleurs, il y avait une telle expression :

Print(expression) ; n'est pas égal à return(expression) ;.

Pour les impressions, utiliser :IntegerToString.
 
Ce qui est étrange, c'est que lorsqu'un indicateur est créé avec une erreur de sortie en dehors du tableau, l'indicateur crée une copie exacte des rubans de Bollinger.
 
Sergey Kudryavtsev:

Bonjour,

J'ai le problème suivant sur mon compte de démonstration :

ulong u ;

u=expression mathématique longue (somme, multiplication, appel de fonction) avec des variables int et ulong impliquées.

Il arrive qu'il ne calcule pas correctement. En connaissance de cause, chaque variable de type int est supérieure ou égale à 0.

Je ne l'ai pas rencontré en testant sur des cotations historiques dans le débogueur.

"Docteur, quelque chose me fait mal !" © )

Veuillez me montrer un exemple d'une telle expression. Reproductible. Alors nous serons en mesure de répondre à quelque chose.

 
Sergei Vladimirov:

"Docteur, j'ai quelque chose qui me fait mal !" © )

Donnez-moi un exemple d'une telle expression. Un reproductible. Alors vous serez capable de dire quelque chose.

ulong PackMagic(int bs, int type, int frac, int ll)//bs=0 - sell, bs=1 - buy (в смысле ll), type - это тип FPST
     {
        int d1;
        ulong i, frac1=frac, ll1=ll, type1=type;
        
        i=1; d1=10;
        while (ll>=d1) {d1=d1*10; i=i+1;}
              
        if (type==0 || type==2) return (frac1+ll1*Pow10frac_length+i*Pow10(frac_length+i)+
         type1*Pow10(frac_length+i+1)+bs*Pow10(frac_length+i+2)+Id1_class*Pow10(frac_length+i+3));
        else return(ll1+i*Pow10(i)+type1*Pow10(i+1)+bs*Pow10(i+2)+Id1_class*Pow10(i+3));
     }    
    
     ulong Pow10(ulong power) // power>0
     {
        ulong r=10;
        if (power==0) return 1;
        for (ulong i=2; i<=power; i++) r=r*10;
        return r;
     }

Le problème se situe dans la fonction PackMagic. variables externes int frac_length=2 ; int Pow10frac_length=100 ; int Id1_class=1 ;.