Erreurs, bugs, questions - page 2596

 
Francuz:

Erreur de génération de transaction (structure MqlTradeTransaction).

Erreur de relecture : Envoyer le premier ordre de marché avec le volume de 1 lot à Long, envoyer le deuxième ordre de marché avec le volume de 2 lots à Short.

Erreur dans le remplissage du champ dans la structure MqlTradeTransaction->position. Le champ est rempli avec le ticket de la position précédente. Lorsque vous continuez à négocier en utilisant les ordres qui inversent la position, le champ donné affiche un étrange méli-mélo de l'ancien et du nouveau ticket de position.

Je l'ai vérifié sur la bourse de Moscou avec les courtiers : Otkritie et BKS. L'erreur se reproduit également dans le testeur.

Écrans de transactions illustrant l'erreur sur ces transactions :

Otkrytie :

BCS :

Testeur :


Il n'y a qu'une seule position en mode de transaction "netting". Pendant sa durée de vie, son identifiant (position id) ne change pas. L'identifiant est égal au ticket du tout premier ordre avec lequel la position a été ouverte.

 
Je suis conscient de cela. Mais dans un "flip", la position précédente est fermée et une nouvelle position (avec un nouveau ticket) est ouverte dans la direction opposée. Ce qui est reflété dans ces transactions avec une erreur.
 
Francuz:
Je suis conscient de cela. Mais lorsque vous "retournez" une position précédente est fermée, et une nouvelle position (avec un nouveau ticker) dans la direction opposée est ouverte. Laquelle de ces transactions est affichée avec une erreur.

Il ne se ferme pas. Vous pouvez rouler dans le terminal pendant des mois et le terminal supposera qu'il n'y avait qu'un seul poste. Et l'historique des transactions ne montrera qu'une seule entrée pendant des mois dans le mode d'affichage des positions fermées.

 
Bon après-midi. Je veux déboguer mon EA sur des données historiques. Mais le débogueur exécute MovingAverage.ex5, et non mon EA. Comment puis-je le réparer ? Le débogage sur des données réelles fera fonctionner mon EA.
 
Azamat Mullayanov:
Bonne journée. Je veux faire le débogage de mon EA sur des données historiques. Mais il aime exécuter MovingAverage.ex5, pas mon EA. Je veux déboguer sur des données réelles et faire fonctionner mon EA.

Décrivez étape par étape (avec des captures d'écran) exactement ce que vous faites et où vous cliquez.

 
Azamat Mullayanov:
Après-midi. Je veux faire le débogage de mon EA sur des données historiques. Mais le débogueur exécute MovingAverage.ex5, pas mon EA. Je veux déboguer sur des données réelles et ce n'est pas mon EA.

Le conseiller ne se trouve peut-être pas dans le dossier Experts. Dans le dossier Scripts, par exemple.

 
Vladimir Karputov:

Décrivez étape par étape (avec des captures d'écran) exactement ce que vous faites et où vous cliquez.

Désolé. J'ai passé une demi-journée à farfouiller, mais dès que je l'ai posté sur le forum, il a commencé à fonctionner immédiatement. Je l'ai enregistré dans le répertoire \MQL5\Experts\My et le débogueur a commencé à fonctionner correctement. Je l'ai recopié sur \MQL5\Experts\My - le débogueur fonctionne.
 
fxsaber:

Il ne se ferme pas. Vous pouvez rouler dans le terminal pendant des mois et le terminal supposera qu'il n'y avait qu'un seul poste. Et l'historique des transactions ne montrera qu'une seule entrée pendant des mois dans le mode d'affichage des positions fermées.

Vous avez tort. Lorsque vous retournez une position, le ticket de la position active est remplacé par un autre. Et le terminal l'affiche correctement. Mais dans les transactions, il donne des informations erronées.

 
Francuz:

Vous avez tort. Lorsqu'une position est inversée, le ticket de la position active passe à une autre position. Et le terminal l'affiche correctement. Mais il donne des informations erronées dans les transactions.

POSITION_TICKET change, POSITION_ID ne change pas.

 

Ouvrez la description de la structure: https://www.mql5.com/ru/docs/constants/structures/mqltradetransaction

Lisez la description de la structure :

position

Il s'agit du champ pour la position du ticket, et non de POSITION_ID.

Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
Документация по MQL5: Константы, перечисления и структуры / Структуры данных / Структура торговой транзакции
  • www.mql5.com
Например, при отсылке рыночного ордера на покупку он обрабатывается, для счета создается соответствующий ордер на покупку, происходит исполнение ордера, его удаление из списка открытых, добавление в историю ордеров, далее добавляется соответствующая сделка в историю и создается новая позиция. Все эти действия являются торговыми транзакциями...