Discussion de l'article "Un démarrage rapide ou un petit guide pour les débutants"

 

Un nouvel article Un démarrage rapide ou un petit guide pour les débutants a été publié :

Bonjour cher lecteur ! Dans cet article, je vais essayer de vous expliquer et de vous montrer comment maîtriser facilement et rapidement les principes de création d'Expert Advisors, de travail avec des indicateurs, etc. Il est destiné aux débutants et ne comportera pas d'exemples difficiles ou abstraits.

Cet article a couvert les grands principes à considérer lors de la programmation d'un Expert Advisor. Nous avons appris à utiliser l' aide contextuelle intégrée dans MetaEditor 5 pour obtenir des informations sur diverses fonctions, avons eu une idée générale des ordres et des positions et avons adopté l'utilisation des bibliothèques standard.

Un démarrage rapide ou un petit guide pour les débutants

Auteur : Dmitriy Parfenovich

 

Dimitri, tu as dit que tu n'étais pas écrivain ! Mais vous l'êtes ! Félicitations pour ce début agréable. Il est agréable de constater que vous avez commencé avec un petit matériel, même s'il n'est pas très volumineux, l'essentiel est de commencer, et là au fur et à mesure ce sera de plus en plus long d'acquérir de l'expérience grâce à vos articles et/ou à d'autres écrivains.

Je vous remercie de votre attention.

 
GKS:

Dimitri, tu as dit que tu n'étais pas écrivain ! Mais vous l'êtes ! Félicitations pour ce début agréable. Il est agréable de constater que vous avez commencé avec un petit matériel, même s'il n'est pas très volumineux, l'essentiel est de commencer, et là, au fur et à mesure, ce sera de plus en plus long d'acquérir de l'expérience grâce à vos articles et/ou à d'autres écrivains.

Je vous remercie pour le temps que vous m'avez accordé.

Je vous remercie. Je ne m'attendais pas à cela de ma part. Je vais continuer à essayer.
 
j'ai apprécié la clarté de la présentation, j'aimerais continuer dans le même style, par exemple à propos des bibliothèques....
 
iMA_handle=iMA("EURUSD",PERIOD_H1,40,0,MODE_SMA,PRICE_CLOSE);  //connecter l'indicateur et obtenir sa poignée
.......
   ChartIndicatorAdd(ChartID(),0,iMA_handle);     // ajouter l'indicateur au graphique des prix
   
Cela ne fonctionne pas comme ça. Mais si vous enlevez le symbole et l'heure, tout va bien.
iMA_handle=iMA(NULL,0,40,0,MODE_SMA,PRICE_CLOSE);
 
mln141:

Cela ne fonctionne pas comme ça. Mais si vous enlevez le symbole et l'heure, tout est OK.

Si vous testez sur EURUSD et sur l'heure, tout fonctionnera.

D'autre part, vous avez trouvé le problème et l'avez résolu vous-même en utilisant l'aide (peut-être), ce qui n'est pas un plus ?

Merci, l'article a été corrigé.

 

quelques petites questions :

1 que se passe-t-il ou se reproduit-il lorsque la période de temps du graphique est modifiée pendant l'exécution ?

2 ima_handle défini à OnInit(), iMA_handle=iMA("EURUSD",PERIOD_H1,10,0,MODE_SMA,PRICE_CLOSE) ;

Est-il possible de modifier les paramètres de ce handle de manière dynamique par le programme lui-même, par exemple en remplaçant PERIOD_H1,10 par PERIOD_M15, 39 pendant l'exécution ?

3 Qu'est-ce que le deal ?

 

Félicitations !

Un code extrêmement simple et bien écrit... Je pense qu'en faisant référence à la bibliothèque, vous avez fait en quelques lignes ce que j'ai fait en presque 100 (uniquement pour ouvrir et fermer des positions longues).

Je me réfère particulièrement à ces lignes :

if(m_Position.Select(my_symbol)) //si la position pour ce symbole existe déjà
{
if(m_Position.PositionType()==POSITION_TYPE_SELL) m_Trade.PositionClose(my_symbol) ; //et qu'il s'agit d'une position Sell, alors fermez-la
if(m_Position.PositionType()==POSITION_TYPE_BUY) return; /ou sinon, s'il s'agit d'une position d'achat, quittez
}
m_Trade.Buy(0.1,mon_symbole) ; //si nous sommes arrivés ici, cela signifie qu'il n'y a pas de position ; alors nous l'ouvrons
}
if(iMA_buf[1]<Close_buf[1] && iMA_buf[0]>Close_buf[0]) //si les valeurs de l'indicateur étaient inférieures au cours de clôture et sont devenues supérieures
{
if(m_Position.Select(my_symbol)) //si la position pour ce symbole existe déjà
{
if(m_Position.PositionType()==POSITION_TYPE_BUY) m_Trade.PositionClose(my_symbol) ; //et qu'il s'agit d'une position d'achat, alors fermez-la
if(m_Position.PositionType()==POSITION_TYPE_SELL) return; /ou sinon, s'il s'agit d'une position de vente, sortir
}
m_Trade.Sell(0.1,mon_symbole) ; //si nous sommes arrivés ici, cela signifie qu'il n'y a pas de position ; alors nous l'ouvrons
}

La seule chose que j'ai oubliée est peut-être une commande pour négocier uniquement lorsqu'une nouvelle barre apparaît. Il y a eu une discussion à ce sujet dans : www.mql5.com/en/forum/5762

J'utilise le code suivant, posté par mogplus8 :

static int LastBarCount=0 ;

if(Bars(_Symbol,_Period)>LastBarCount)
LastBarCount=Bars(_Symbol,_Period) ;
else
return ;

 
Certaines images sont volantes, veuillez les corriger.
 

Je suis quelque peu perplexe quant à votre déclaration sur les métiers.

Les métiers présentés dans l'article sont très proches des "sceaux" dans l'article http://mqlmagazine.com/leading-article/orders-positions-and-deals-part-i/. S'agit-il de la même chose ? quelles sont leurs différences ?

D'ailleurs, dans la page en question, l'auteur déclare : Chaque ordre placé sur le marché est une transaction en soi, avec son propre résultat, indépendant des autres.

Je colle les mots ici juste pour clarifier les possibles malentendus pour ceux qui ont prêté attention aux commentaires.

Je vous remercie.

Orders , positions and deals . Part I | MQLmagazine.com
  • mqlmagazine.com
This article is dedicated to working with orders, positions and deals. In this article we will discuss the general principles and passing to the new system. In a new article we will detail the MQL5 programming side on orders, positions and deals. MetaQuotes changed both the functions but also the principles in working with orders. A term...
 
Pas un homme mais de l'or, excellent article. Parmi un grand nombre de documents, en tant que débutant en programmation, je n'ai trouvé que le vôtre))))))). Merci pour un tel article, un langage très simple que vous avez écrit tout simplement génial, maintenant au moins je comprends ce que je fais).