Erreurs, bugs, questions - page 1341

 

Le chemin de recherche défini dans le MetaEditor est R:\.

Il apparaît dans les résultats de recherche sous le nom de R.

N'affecte pas le fonctionnement, mais veuillez vérifier les erreurs cachées (par exemple, vous pouvez entrer le chemin R:\\\\\\\)

 

Windows 10, MT4 Build 854 titres étranges (au lieu de spread il dit " !"), tous les éléments de menu ne sont pas traduits et il y a un élément de menu vide :


 
Modification involontaire de la valeur
#import "Test.dll"
        void f( const int& x[] );
#import
void OnStart()
{
        int x[ 1 ] = { 1 };
        int y = x[ 0 ];
        Print( "y=", y ); //  здесь y = 1
        f( x );
        Print( "y=", y ); //а здесь y = 2, но я его явно не менял
}
//Test.cpp
void WINAPI f( int x[] ) { x[ 0 ] = 2; }

Il est clair que f() est incorrectement décrit dans #import ici, mais la question n'est pas de savoir ce que x a changé, mais ce que y a changé.

Il est peut-être logique que le compilateur considère x comme volatile (dans le sens où il n'optimise pas le code affectant les variables passées par référence aux fonctions appelées depuis le .dll). Considérant que l'absence d'une telle optimisation sera pratiquement imperceptible, alors que ses conséquences seront importantes pour le résultat.

 
Artyom Trishkin:

Windows 10, MT4 Build 854 titres étranges (au lieu de spread il dit " !"), tous les éléments de menu ne sont pas traduits et il y a un élément de menu vide :

Confirmé.
 

Je peux me tromper, mais NULL, lorsqu'il est utilisé pour mettre à zéro des variables, initialise la variable avec zéro.

Dans l'aide, il est dit

Синтаксически тип void является фундаментальным типом наравне с типами char, uchar, bool, short, ushort, int, uint, color, long, ulong, datetime, float, double и string. 
Этот тип используется либо для указания того, что функция не возвращает значения, либо в качестве параметра функции обозначает отсутствие параметров.

Предопределенная константная переменная NULL имеет тип void. Она может быть присвоена переменным любых других фундаментальных типов без преобразования. 
Также допускается сравнение переменных фундаментальных типов со значением NULL

Théoriquement, lorsqu'on utilise NULL, la variable doit être vide comme dans le cas d'une variable de type chaîne et ne contenir ni 0, ni -, ni +.

Lors de l'initialisation d'une variable de type string text = NULL ; la variable est vide et se voit attribuer 0 lors de l'initialisation d'autres types.

 
Artyom Trishkin:

Windows 10, MT4 Build 854 titre étrange (au lieu de spread il dit " !")

spread est un nom trop large, dans MT5, tant dans la vue d'ensemble que dans la fenêtre des cotations, il a toujours été !

 
A100:

spread est un nom trop large, dans MT5 à la fois dans la vue d'ensemble et dans la fenêtre des cotations, il a toujours été !

Peut-être que je ne faisais pas attention, mais au moins "SP" aurait été plus informatif.
 

Il y a un autre bug intéressant dans la version 854.

J'ai un dossier test qui se trouve dans les experts, il contient le code source et le fichier excerset avec le nom test.

J'ai un fichier avec le nom test (aussi avec source et excerset) dans le dossier principal, donc quand je compile ce dernier, le premier est installé dans le terminal pour le test.

En d'autres termes, je veux tester le conseiller-expert avec le nom et l'emplacement Xperts\\\\Test mais le terminal définit automatiquement Xperts\\Test à chaque fois pendant la compilation et je dois donc réorganiser l'EA à chaque fois.

C'est ennuyeux...

 

Bonjour les commerçants,

Veuillez m'aider à résoudre un problème :

La fonction SymbolInfoDouble( _Symbol,SYMBOL_TRADE_TICK_VALUE) pour l'instrument #IBM_L renvoie 0.

LiteForex MT5 Terminal x64 build 1150 (Liteforex Investments Limited).

Devise du compte EUR.

Script de test dans l'application.

Le journal montre :

2015.08.12 22:23:51.930 TestTickValue (#IBM_L,H1) Tick value = 0.00000.

J'ai besoin de cette valeur pour calculer le volume des transactions.

double lots = loss * cSymbolInfo.TickSize() / ( priceDiff * cSymbolInfo.TickValue() );

J'ai choisi cSymbolInfo.Name(symbol) correctement dans le code avant d'appeler TickValue(). Le code fonctionne pour d'autres instruments, par exemple l'EURUSD.

Dossiers :
 

Tout est plus triste que je ne le pensais. Le site se bloque sur mon navigateur. les codes ne s'insèrent pas. les images de 3 fois insèrent celles qui devraient (de la première fois charge les images précédentes)

L'importation ne fonctionne pas. J'ai déjà redémarré le PC. J'ai réinstallé le terminal. PC nettoyé.

J'ai dû redémarrer mon PC, le réinstaller et nettoyer le PC.

La seule mauvaise chose est que vous êtes les développeurs de ce terminal et comme on dit, il n'y a pas d'issue.

Corrigez tous vos bogues.