Erreurs, bugs, questions - page 2237
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
L'indicateur FILE_SHARE_WRITE semble fonctionner dans cette combinaison, mais une autre question se pose : quel est l'intérêt de cette écriture particulière ? Logiquement, si nous activons la séparation en écriture, elle devrait être ajoutée au drapeau d'écriture :
C'est exactement ce que j'ai essayé, et ça donne aussi une erreur.
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading
La plateforme de trading MetaTrader 5 est mise à la disposition des clients d'AMP Futures.
fxsaber, 2018.07.23 22:34
Exemple où il est impossible de passer un ordre au marché, même lorsque l'offre et la demande sont un multiple de la taille du téléscripteur.
Ici, le dernier prix n'est pas un multiple de TickSize. Cela n'a rien à voir avec les ordres de marché, mais OrderCheck continue de poser des problèmes - il ne permet pas de passer un ordre de marché.
Certains caractères ont un délai d'attente et d'autres non. Comment puis-je connaître l'âge maximum de la coche qui peut encore être acceptée par OrderSend (pas de [No price]) ?
Il arrive que le dernier tick reçu il y a 16 secondes ne soit pas perçu comme pertinent pour OrderSend. Ce doit être un bug après tout.
J'ai activé MetaTrader, retrouvé mon ancien exemple, ajouté FILE_SHARE_WRITE (alors que je n'en avais pas besoin à cet endroit) - le résultat n'a pas changé... Peut-être pour une autre raison, ça n'a pas marché pour moi.
Vous pouvez également placer le fichier en mémoire (MemMap) et y travailler via un sémaphore, puis transférer les données dans le fichier via un sémaphore.
Au fait, cette méthode vous donnera un avantage considérable en termes de vitesse.
Vous pouvez également placer le fichier en mémoire (MemMap) et y travailler via un sémaphore, puis transférer les données dans le fichier via un sémaphore.
Au fait, cette méthode vous donnera un avantage considérable en termes de vitesse.
Le fait est que j'avais un petit fichier de configuration et que chaque Conseiller Expert n'avait à le lire qu'une seule fois avant de démarrer - l'opération la plus simple - voir l'exemple dans les liens ci-dessus... et vous dites sémaphores)
Je dis que l'écriture sur ce problème pour plusieurs pages, et étant donné que le problème avec la barbe et le fixer développeurs apparemment ne peuvent pas ou ne veulent pas parce que Je vous ai proposé l'un d'entre eux, si vous ne l'aimez pas utilisez winapi quel est le problème ;)) mais c'est mieux que d'écrire la même chose sans rien faire, vous pouvez utiliser les mêmes sémaphores pour lire un fichier physique, le même signal de sémaphore qui est occupé et doit attendre !
Sur ce script simple, exécuté d'abord avec writing = true et ensuite sur un autre graphique avec writing = false, j'obtiens une erreur.
L'ouvreur pour la lecture n'a pas le drapeau FILE_SHARE_WRITE (autoriser l'écriture), car il y a un écrivain.
Il s'agit d'une limitation du système (WinAPI).
Voici les drapeaux corrects avec lesquels votre code fonctionnera :
Voici les drapeaux corrects pour que votre code fonctionne :
Veuillez corriger FileLoad
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bugs, bugs, questions
fxsaber, 2018.07.10 19:26
Erreur dans FileLoad. Si, avec l'indicateur FILE_COMMON, deux agents locaux essaient de lire des données via FileLoad, l'un des agents se plante.
Il est possible de définir les drapeaux appropriés dans FileOpen, mais pas dans FileLoad. Par conséquent, veuillez autoriser l'accès au fichier via FileLoad si l'autre FileLoad le lit.
Pourquoi ? )
Parce qu'il n'y a pas de zéro dans la liste des drapeaux
Identifiant
Valeur
Description
FICHIER_LIRE
1
Le fichier est ouvert à la lecture. Cet indicateur est utilisé lors de l'ouverture d'un fichier (FileOpen()). FILE_WRITE et/ou FILE_READ doivent être définis lors de l'ouverture d'un fichier.
FILE_WRITE
2
Le fichier est ouvert à l'écriture. Cet indicateur est utilisé pour ouvrir un fichier (FileOpen()). Lorsqu'un fichier est ouvert, les drapeaux FILE_WRITE et/ou FILE_READ doivent être activés.
FILE_BIN
4
Mode lecture-écriture binaire (pas de conversion de ou vers une chaîne de caractères). Cet indicateur est utilisé pour ouvrir les fichiers (FileOpen())
FILE_CSV
8
Fichier de type csv (tous les éléments écrits sont convertis en une chaîne de caractères du type approprié, unicode ou ansi, et séparés par un séparateur). Cet indicateur est utilisé lors de l'ouverture d'un fichier (FileOpen())
FILE_TXT
16
Fichier texte simple (identique au csv, mais sans séparateur). Cet indicateur est utilisé lors de l'ouverture des fichiers (FileOpen())
FILE_ANSI
32
Chaînes de caractères ANSI (caractères à un octet). Cet indicateur est utilisé lors de l'ouverture de fichiers (FileOpen())
FILE_UNICODE
64
Chaînes UNICODE (caractères à deux octets). Cet indicateur est utilisé lors de l'ouverture de fichiers (FileOpen())
FICHIER_PARTAGÉ_LECTURE
128
Accès en lecture partagé par plusieurs programmes. Cet indicateur est utilisé lors de l'ouverture d'un fichier (FileOpen()), mais ne remplace pas la nécessité de FILE_WRITE et/ou FILE_READ lors de l'ouverture d'un fichier.
FICHIER_PARTAGÉ_ÉCRIT
256
Ce drapeau est utilisé pour le partage de l'accès en écriture par plusieurs programmes. Cet indicateur est utilisé pour ouvrir des fichiers (FileOpen()), mais ne remplace pas FILE_WRITE et/ou FILE_READ lors de l'ouverture d'un fichier.
FILE_REWRITE
512
Le fichier peut être écrasé par FileCopy() et FileMove(). Le fichier doit exister ou être accessible en écriture. Sinon, le fichier ne sera pas ouvert
FICHIER_COMMON
4096
Emplacement du fichier dans le dossier partagé de tous les terminaux clients\Terminal\Common\Files. Cet indicateur est utilisé pour ouvrir des fichiers (FileOpen()), copier des fichiers (FileCopy(), FileMove()) et vérifier si les fichiers existent (FileIsExist()).
Et si les développeurs corrigent tous leurs défauts, beaucoup de gens ne l'aimeront pas. Plus de la moitié du code cessera de fonctionner.
Il arrive que le dernier tick reçu il y a 16 secondes ne soit pas considéré comme pertinent pour OrderSend. Ce doit être un bug après tout.
Ce bug
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie
Bibliothèques : MT4Orders
fxsaber, 2018.07.24 09:46
En une minute environ, vous pouvez reproduire avec ce script sur ForexTimeFXTM-Demo01 si vous activez tous les symboles dans Market Overview avant de l'exécuter.