Bonjour. J'ai besoin d'aide. J'ai besoin de limiter la durée de vie d'un ordre en attente, de préférence en nombre de barres. J'ai utilisé la fonction dans mql4 :
L'ordre en attente est placé mais ne vit pas tant qu'il n'est pas activé (dans le testeur). J'ai essayé de définir un simple nombre dans request.expiration mais rien ne fonctionne. Je n'ai pas trouvé d'informations sur google. Qu'est-ce qui ne va pas chez moi ? Pourquoi la commande n'est-elle pas supprimée après un certain temps ?
P.S. Lorsqu'elle est affichée dans Commentaire, la fonction DateExp() affiche la date et l'heure.
Приказы на проведение торговых операций оформляются ордерами. Каждый ордер имеет множество свойств для чтения, информацию по ним можно получать с помощью функций Идентификатор позиции, который ставится на ордере при его исполнении. Каждый исполненный ордер порождает сделку, которая открывает новую или изменяет уже существующую позицию...
structMqlTradeRequest
{
ENUM_TRADE_REQUEST_ACTIONS action; // Тип выполняемого действияulong magic; // Штамп эксперта (идентификатор magic number)ulong order; // Тикет ордераstring symbol; // Имя торгового инструментаdouble volume; // Запрашиваемый объем сделки в лотахdouble price; // Цена double stoplimit; // Уровень StopLimit ордераdouble sl; // Уровень Stop Loss ордераdouble tp; // Уровень Take Profit ордераulong deviation; // Максимально приемлемое отклонение от запрашиваемой ценыENUM_ORDER_TYPE type; // Тип ордераENUM_ORDER_TYPE_FILLING type_filling; // Тип ордера по исполнениюENUM_ORDER_TYPE_TIME type_time; // Тип ордера по времени действияdatetime expiration; // Срок истечения ордера (для ордеров типа ORDER_TIME_SPECIFIED)string comment; // Комментарий к ордеруulong position; // Тикет позицииulong position_by; // Тикет встречной позиции
};
Merci, je l'ai déjà trouvé moi-même, je voulais écrire que la question est supprimée. Avant ceux-ci, mais j'ai mis, il s'avère, le mauvais paramètre request.type_time = ORDER_TIME_GTC ; Corrigé à request.type_time = ORDER_TIME_SPECIFIED; et tout fonctionne. Mais je vous remercie beaucoup pour vos commentaires et votre conseil.
Alexey vous a dit que vous devriez d'abord faire en sorte que votre indicateur dessine au moins juste des bougies. Tels qu'ils sont. Au moins sur le bar actuel. Si vous y parvenez, considérez que la première étape de la compréhension est franchie. Mais il est souhaitable de ne pas essayer de la trouver en essayant différents paramètres, mais avec son propre esprit.
Qu'est-ce que cela a à voir avec l'a priori ? Vous en avez vraiment besoin, car vous ne pouvez pas dessiner une bougie avec seulement quatre valeurs.
Ici j'ai écrit un indicateur de test très simple, qui doit dessiner 5 bougies (réelles) du graphique USDJPY H8.
события Calculate для обработки изменений ценовых данных. Существуют два варианта функции, в пределах одного индикатора нельзя использовать оба варианта. [in] Размер массива price[] или входных таймсерий, доступных индикатору для расчета. Во втором варианте функции значение параметра соответствует количеству баров на графике, на котором он...
Dans le débogueur, vérifiez time[0] et répondez à la question suivante : "Pourquoi essayez-vous de dessiner des chandeliers à partir de l'AVANT-GAUCHE du graphique ?
Je vous l'ai dit - utilisez l'aide pour DRAW_CANDLES. Copiez l'exemple de l'aide DRAW_CANDLES. Débrouillez-vous. Il est trop tôt pour que vous vous intéressiez aux tiques.
Dans le débogueur, vérifiez time[0] et répondez à la question : "Pourquoi essayez-vous de dessiner des bougies à partir du bord GAUCHE du graphique ?
Je vous l'ai dit - utilisez l'aide pour DRAW_CANDLES. Copiez l'exemple de l'aide DRAW_CANDLES. Débrouillez-vous. Il est trop tôt pour que vous vous intéressiez aux tiques.
Vladimir, j'ai déjà compris ce que j'essayais de dessiner à partir du bord le plus à gauche. Celui du test a le bord droit.
Vladimir, j'ai déjà compris que j'essayais de dessiner à partir du bord le plus à gauche. Le test est maintenant dessiné à partir du bord droit.
Et les prix des chandeliers sont réels... Et pas de tiques...
Prenez l'exemple de l'aide ! Combien de fois ? Vous n'êtes pas obligé d'utiliser vos propres constructions fictives si vous ne comprenez pas leur signification. Utilisez des constructions standard - comprenez comment elles fonctionnent. Après cela, jetez vos propres constructions à la poubelle.
Je ne peux pas vous conseiller sur quoi que ce soit. Je n'utilise pas l'optimisation. Je considère que c'est du charlatanisme.
Je ne suis pas d'accord. L'optimisation, à mon avis, est la sélection des paramètres les plus appropriés pour une paire et une stratégie données.
P.S. Maintenant, les écarts semblent être normaux.
Je ne suis pas d'accord.
Je n'étais pas en train de vous agiter. Je donne juste mon avis personnel.))
Je n'étais pas en train de vous agiter. J'ai juste donné mon opinion personnelle.))
Peut-être que mon opinion est fausse. Je ne m'agite pas non plus.
Bonjour. J'ai besoin d'aide. J'ai besoin de limiter la durée de vie d'un ordre en attente, de préférence en nombre de barres. J'ai utilisé la fonction dans mql4 :
où
extern intDate = 6 ; //nombre de barres de la durée de vie de l'ordre
Tout fonctionne.
J'ai essayé quelque chose de similaire dans mql5 :
où
input int ExpDate = 6 ; //nombre de barres de la durée de vie de l'ordre
J'ai ensuite essayé de l'utiliser (la fonction présentée ci-dessus) pour passer un ordre en attente, par exemple pour acheter
L'ordre en attente est placé mais ne vit pas tant qu'il n'est pas activé (dans le testeur). J'ai essayé de définir un simple nombre dans request.expiration mais rien ne fonctionne. Je n'ai pas trouvé d'informations sur google. Qu'est-ce qui ne va pas chez moi ? Pourquoi la commande n'est-elle pas supprimée après un certain temps ?
P.S. Lorsqu'elle est affichée dans Commentaire, la fonction DateExp() affiche la date et l'heure.
Vous avez oublié de préciser:
Vous avez oublié de préciser:
Merci, je l'ai déjà trouvé moi-même, je voulais écrire que la question est supprimée. Avant ceux-ci, mais j'ai mis, il s'avère, le mauvais paramètre request.type_time = ORDER_TIME_GTC ; Corrigé à request.type_time = ORDER_TIME_SPECIFIED; et tout fonctionne. Mais je vous remercie beaucoup pour vos commentaires et votre conseil.
Alexey vous a dit que vous devriez d'abord faire en sorte que votre indicateur dessine au moins juste des bougies. Tels qu'ils sont. Au moins sur le bar actuel. Si vous y parvenez, considérez que la première étape de la compréhension est franchie. Mais il est souhaitable de ne pas essayer de la trouver en essayant différents paramètres, mais avec son propre esprit.
Qu'est-ce que cela a à voir avec l'a priori ? Vous en avez vraiment besoin, car vous ne pouvez pas dessiner une bougie avec seulement quatre valeurs.
Ici j'ai écrit un indicateur de test très simple, qui doit dessiner 5 bougies (réelles) du graphique USDJPY H8.
Il ne dessine que ces chandeliers, rien de plus.
Mais quand je l'exécute, il dessine juste la foutue chose...
Alors dis-moi, qu'est-ce que je fais de mal ?
Au fait, il y a une faute de frappe dans la documentation:.
J'ai écrit un indicateur de test très simple, qui devrait dessiner 5 chandeliers (réels) à partir du graphique USDJPY, H8.
Il ne dessine que ces chandeliers, rien de plus.
Mais quand je l'exécute, il dessine juste la foutue chose...
Comment puis-je expliquer ce que je fais mal ?
Au fait, il y a une faute de frappe dans la documentation: .
Dans le débogueur, vérifiez time[0] et répondez à la question suivante : "Pourquoi essayez-vous de dessiner des chandeliers à partir de l'AVANT-GAUCHE du graphique ?
Je vous l'ai dit - utilisez l'aide pour DRAW_CANDLES. Copiez l'exemple de l'aide DRAW_CANDLES. Débrouillez-vous. Il est trop tôt pour que vous vous intéressiez aux tiques.
Dans le débogueur, vérifiez time[0] et répondez à la question : "Pourquoi essayez-vous de dessiner des bougies à partir du bord GAUCHE du graphique ?
Je vous l'ai dit - utilisez l'aide pour DRAW_CANDLES. Copiez l'exemple de l'aide DRAW_CANDLES. Débrouillez-vous. Il est trop tôt pour que vous vous intéressiez aux tiques.
Vladimir, j'ai déjà compris ce que j'essayais de dessiner à partir du bord le plus à gauche. Celui du test a le bord droit.
Et les prix des chandeliers sont réels... Et pas de tiques...
Vladimir, j'ai déjà compris que j'essayais de dessiner à partir du bord le plus à gauche. Le test est maintenant dessiné à partir du bord droit.
Et les prix des chandeliers sont réels... Et pas de tiques...
Prenez l'exemple de l'aide ! Combien de fois ? Vous n'êtes pas obligé d'utiliser vos propres constructions fictives si vous ne comprenez pas leur signification. Utilisez des constructions standard - comprenez comment elles fonctionnent. Après cela, jetez vos propres constructions à la poubelle.
Et utilisez 'MQL Wizard' pour générer un modèle.
Code
et le résultat