Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1842

 
Bonjour, je voudrais tenter ma chance et écrire un conseiller expert "simple" pour une position donnée. L'idée est assez simple : pour l'essentiel, les ETF ne montent pas beaucoup, mais ne baissent pas beaucoup non plus, et les fluctuations de prix passent par des fourchettes étroites deux ou trois fois par an. Initialement, nous avons une position dans les ETFs et nous voulons obtenir un profit cible de 12,5% sur la position achetée. L'opération experte se réduit à fixer une partie insignifiante de la position immédiatement dans l'ordre de vente, par exemple un cinquantième de celle-ci d'un demi-point de pourcentage en plus, la partie suivante d'un autre demi-point de pourcentage en plus, etc. En divisant l'ensemble de la position par 25% de l'augmentation du prix (ce qui permet d'atteindre l'objectif de 12,5% pour l'ensemble de la position). Après chaque vente, passez immédiatement un ordre d'achat pour un pourcentage plus faible. Au fil du temps, une fois que l'ensemble de la position a traversé plusieurs tours, son prix d'achat moyen (réel) sera plus faible et l'objectif sera atteint plus rapidement. Naturellement, si le prix de l'ensemble de l'actif tombe en dessous du prix d'achat, la position est comblée selon le même principe, mais dans l'ordre inverse, d'abord à l'achat, puis à la vente. Comme les fluctuations ne se produisent pas pendant la journée, l'ordre devrait être reporté au jour de bourse suivant, dans un mois ou deux.
Question pour les personnes compétentes sur la meilleure façon de procéder ? Peut-être existe-t-il un endroit où l'on peut supprimer une partie du code ?
 
Кирилл Якимов ordre de vente, par exemple un cinquantième de celle-ci d'un demi-point de pourcentage en plus, la partie suivante d'un autre demi-point de pourcentage en plus, etc. En divisant l'ensemble de la position par 25% de l'augmentation du prix (ce qui permet d'atteindre l'objectif de 12,5% pour l'ensemble de la position). Après chaque vente, passez immédiatement un ordre d'achat pour un pourcentage plus faible. Au fil du temps, une fois que l'ensemble de la position a traversé plusieurs tours, son prix d'achat moyen (réel) sera plus faible et l'objectif sera atteint plus rapidement. Naturellement, si le prix de l'ensemble de l'actif tombe en dessous du prix d'achat, la position est comblée selon le même principe, mais dans l'ordre inverse, d'abord à l'achat, puis à la vente. Comme les fluctuations ne se produisent pas pendant la journée, l'ordre devrait être reporté au jour de bourse suivant, dans un mois ou deux.
Question pour les personnes compétentes sur la meilleure façon de procéder ? Peut-être existe-t-il un endroit où l'on peut amortir une partie du code ?

Beaucoup d'"eau" inutile...

Commencez par écrire un "EA simple" qui se contente de passer un ordre, puis demandez de l'aide pour l'affiner.

Tel qu'il est, votre texte ressemble à "écrivez-moi" !

 
Tretyakov Rostyslav #:

Pourquoi ne pas utiliser iLowest ?

Dans ce cas, vous pouvez également le faire.

 

Кирилл Якимов #:
Доброго дня, хочу попробовать свои силы и написать "простого" эксперта ...

...

Question pour les personnes compétentes sur la meilleure façon de procéder ? Peut-être qu'il y a un endroit où vous pouvez amortir une partie du code ?

Simple Expert: https://www.mql5.com/ru/code/103

Plus de résultats

Simple MA Expert Advisor
Simple MA Expert Advisor
  • www.mql5.com
Простой эксперт для тех, кто хочет попробовать новый тестер стратегий.
 
Tretyakov Rostyslav #:

Beaucoup d'"eau" inutile...

Commencez par écrire un "EA simple" qui se contente de passer un ordre, puis demandez de l'aide pour l'affiner.

Tel qu'il est, votre texte ressemble à "écrivez-moi" !

Passer une commande, passer une commande selon un certain schéma n'est en aucun cas un raffinement. Je ne sais pas comment garder la trace des commandes passées et clôturées. Les prix changent, ce n'est pas nécessairement le cas qu'à l'ouverture d'un nouveau jour le prix ne va pas sauter quelques ordres. Et il y a beaucoup d'autres nuances. Le tableau des transactions ne permet pas de comparer le nombre de titres achetés et vendus au même prix.
 

Bonne journée

Voici un code simple qui fixe une ligne verticale montrant le début de la transaction pour la visualisation.

ObjectCreate(0,"Начало торговли",OBJ_VLINE, 0, Time[0] + (StartTime*3600), 0);
ObjectSetInteger(0,"Начало торговли",OBJPROP_COLOR, clrBlue);
extern int                  StartTime                      = 2;         // Начало торговли

Je ne comprends pas pourquoi la ligne verticale est fixée en fonction de - (StartTime - la valeur d'une barre)


 
Кирилл Якимов #:
Je ne sais pas comment suivre les entrées et les fermetures.

Eh bien, c'est une longue explication https://www.mql5.com/ru/docs/trading

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
EVGENII SHELIPOV #:

Bonne journée

Voici un code simple qui fixe une ligne verticale montrant le début de la transaction pour la visualisation.

Je ne comprends pas pourquoi la ligne verticale est définie en fonction de - (StartTime - la valeur d'une barre)


Essayez ceci et montrez une capture d'écran du résultat.
extern int nBars = 10;

...
ObjectCreate(0,"Начало торговли",OBJ_VLINE, 0, Time[0] + PeriodSeconds(PERIOD_CURRENT) * nBars, 0);
 
Кирилл Якимов #:
Le simple fait de passer une commande, de passer des commandes selon un certain schéma n'est pas du tout un accomplissement. Je ne sais pas comment garder la trace des commandes passées et clôturées. Le prix change, cela ne signifie pas nécessairement qu'à l'ouverture d'une nouvelle journée, le prix ne sautera pas de plusieurs ordres. Et il y a beaucoup d'autres nuances. Le tableau des transactions ne permet pas de comparer le nombre de titres achetés et vendus au même prix.

Pour passer des ordres selon un certain schéma, il faut savoir comment passer des ordres. Et puis vous formez une condition pour passer des commandes.

Vous devez résoudre le problème étape par étape et il y a beaucoup de nuances.

 
Mihail Matkovskij #:

Eh bien, cela prend beaucoup de temps à expliquer https://www.mql5.com/ru/docs/trading

Si vous voulez apprendre à écrire des robots, commencez par un robot simple :

Mihail Matkovskij #:

Simple Expert: https://www.mql5.com/ru/code/103

Plus de résultats