MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 26

 
Voici la preuve que l'indicateur peut être exécuté plusieurs fois.
L'indicateur attire dans les 200 premières barres.
Et elle ressemble à la photo, qui a été utilisée 2 fois.

Je suis venu voir une dizaine d'exécutions quand j'ai été replanifié.

 
mladen:

Il y a un problème sérieux avec le nouveau metatrader qui concerne les paramètres de chaînes externes. Initialement, ils ont une valeur correcte, mais dès que le cadre temporel ou le symbole est modifié, le contenu d'un paramètre de chaîne est perdu. Voici un exemple simple qui montre exactement ce qui se passe. Ce problème se produit également lorsque de tels indicateurs sont utilisés par le biais de l'appel iCustom() et cela rend ces indicateurs inutilisables à partir de n'importe quel EA ou autre code.

Correction de
 
komposter:
6. Slip in tester "dort" non pas en temps historique, mais en temps réel =)

Corrigé

Corrigé également les points 1 et 2.

Point 3 : Débogage

Pour les points 4 et 5, nous devons savoir comment reproduire. Pas à pas. Ce n'est pas reproductible à la volée.

 
VOLDEMAR:

J'ai saisi le moment où le conseiller se supprime lui-même et où le terminal se bloque.



Allons discuter avec le service d'assistance, d'accord ?

Nous avons besoin du code source de votre EA pour reproduire le problème.

 
Antonsan:
Voici la preuve que l'indicateur peut être exécuté plusieurs fois.
L'indicateur attire dans les 200 premières barres.
Et elle ressemble à la photo, qui a été utilisée 2 fois.

Je suis venu voir une dizaine d'exécutions quand j'ai été replanifié.


Il est préférable que vous décriviez votre problème en anglais. Avec des détails, étape par étape
 

J'écris en espagnol. Et je traduis avec Google.

La traduction en anglais est tout aussi mauvaise que la traduction russe.

Cet indicateur est préparé pour l'EA et ne dessine que quelques barres.
En changeant de période, j'ai observé que parfois l'indicateur est souvent répété à l'écran.
Parfois, il semble fonctionner plusieurs fois et tracer la ligne correctement, d'autres fois, il semble qu'il s'agisse de copies identiques disposées dans l'histoire.

Il y avait trois copies identiques dans l'historique, mais pour réduire la capture d'écran, on n'en a vu que deux.

 
VOLDEMAR:

J'ai saisi le moment où le conseiller expert se supprime et où le terminal se bloque.


Cette fonction ne provoque pas d'erreur

extern string symbol =""; // Symbole

string sym    ()
{ 
 string symm = symbol;
 if ( symm == "" ) 
 symm=Symbol () ;
  return (symm);
}

Cette fonction provoque une erreur :

extern string symbol    = ""    ; // Symbol 

string sym ()
{
if (symbol=="")symbol = Symbol();
return symbol ;
} 
Странно сейчас тестирую и проверяю под виндовс ХР  проблем нет ...  В сервис деск отправил ...
 
Barbarian:

Renat, j'ai relu beaucoup d'informations sur l'objectif de X:\Users\xxx\AppData\ en général et de X:\Users\xxx\AppData\Roaming. Je conviens qu'il s'agit d'une nécessité en termes de création de paramètres utilisateur spécifiques à l'application dans \Roaming, mais pourquoi déplacer les fichiers exécutables, à savoir les indicateurs, les scripts et les EA dans ce répertoire ? Parce que, certains EAs vont constamment violer la logique de leur travail à cause de cela, je veux dire ceux qui utilisent des fichiers de lecture et d'écriture dans leur logique.

À propos, suivre la suggestion de Microsoft d'utiliser X:\Users\xxx\AppData\ n'est supporté par rien, très probablement, sauf pour des cas uniques. Je ne connais aucun trader qui laisse des personnes extérieures (autres utilisateurs) sur son PC avec des terminaux, même sous ses propres comptes, UAK n'est pas du tout applicable dans ce sujet. Il s'agit très probablement d'une exception aux règles de sécurité. Cette tendance de Microsoft n'est donc pas destinée aux commerçants. Cacher vos paramètres et exécutables dans X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ à toute personne paranoïaque en matière de sécurité.


Le problème est probablement que le système ne vous permet pas d'écrire quoi que ce soit dans les fichiers programmes, ce qui est normal sauf si vous êtes en tant qu'administrateur. Mais en tant qu'administrateur, le système d'exploitation n'est pas très sûr car vous êtes ouvert à tous les virus et autres. Au contraire, le MS se rapproche finalement d'un comportement similaire à celui d'Unix, où au lieu de votre propre dossier personnel, vous n'avez aucun accès en écriture (et tmp bien sûr, mais il est supprimé périodiquement). C'est beaucoup plus sûr et cela empêche les virus de se propager, car il n'y a pas autant de virus sur *nix que sur Win. Je suis tout à fait pour. Mais il serait bien qu'il soit possible de configurer pour un terminal particulier un dossier avec des experts, car le dossier commun à tous les terminaux n'est pas toujours adapté.
 
Interesting:
Je vais ajouter "SymbolSelect" à la liste. +1 au souhait de descriptions de nouvelles constructions.
Qu'est-ce qui vous empêche de construire votre fonction SymbolSelect?
 
ms502040:

Le problème est probablement que le système ne vous permet pas d'écrire quoi que ce soit dans les fichiers programmes, ce qui est correct, sauf si vous travaillez en tant qu'administrateur. Mais être administrateur sur le système d'exploitation n'est pas très sûr, car le système d'exploitation est ouvert à tous les virus, etc. Au contraire, le MS se rapproche finalement d'un comportement semblable à celui d'Unix, où au lieu d'un dossier privé, vous n'avez aucun accès en écriture (et tmp bien sûr, mais il est supprimé périodiquement). C'est beaucoup plus sûr et cela empêche les virus de se propager, car il n'y a pas autant de virus sur *nix que sur Win. Je suis tout à fait pour. Mais il serait bien qu'il soit possible de configurer pour un terminal particulier un dossier avec des experts, car le dossier commun à tous les terminaux n'est pas toujours adapté.

Vous n'avez probablement pas lu mon message ci-dessus, dans lequel je décrivais ce qui est en train d'être écrit pour les personnes utilisant les versions bêta de MT4. Dans nix`, tous travaillent dans leurs propres sandboxes complètement, seul l'utilisateur root met les programmes communs et distribue les droits pour leur utilisation par les autres utilisateurs. L'idéologie y est complètement différente, même si elle semble similaire à celle de Microsoft. Au fait, cela ne me dérange pas que la version bêta écrive les paramètres de l'utilisateur dans X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\, ce qui me dérange c'est ce qui suit :

1. Il crée un sous-répertoire X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ qui jusqu'à ce que vous y arriviez vous ne connaîtrez pas son nom, de plus il change son nom à chaque mise à jour.

2. Ce chemin est utilisé non seulement pour écrire les paramètres de l'utilisateur, mais aussi pour les fichiers exécutables - indicateurs, Expert Advisors, scripts, etc., en général, toutes les choses pour lesquelles vous ne laisserez pas un étranger accéder à votre PC, même sous un autre nom d'utilisateur. Bien que cela puisse bien sûr être évité plus tard, mais à quel prix.

C'est le premier point qui m'effraie le plus car l'utilisation du code de lecture/écriture des fichiers pour utiliser ces opérations va devenir plus compliquée.

Raison: