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

 
Artyom Trishkin:
  1. Il existe un signal pour ouvrir une position d'achat, par exemple.
  2. Trouvez dans l'historique des ordres la transaction la plus récemment clôturée.
  3. voir son type,
    1. S'il s'agit d'une vente, vous pouvez ouvrir un achat ----> return(ORDER_TYPE_BUY) ;
    2. si c'est un Achat, alors
  4. voir avec quel type de profit cette position d'achat a été fermée.
    1. S'il est négatif, nous pouvons ouvrir un Achat ----> return(ORDER_TYPE_BUY) ;
    2. S'il est positif, nous ne pouvons pas ouvrir un nouvel achat ----> return(WRONG_VALUE) ;
   double ma;
   int    res;
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }
   ma=iMA(NULL,0,MovingPeriod,120,MODE_SMA,PRICE_CLOSE,1);
   if(Bid<ma)
   if(tip!=OP_SELL)
   {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,Bid-TP*Point,"",MAGICMA,0,Red);
      return;
     }

Je l'ai écrit ici mais cela ne fonctionne toujours pas. Quel est le problème ? Veuillez me conseiller.

 

Bon après-midi.

Comment écrire la condition dans le quatre : si le premier vendredi du mois était un taureau, et

Ledeuxième lundi est baissier, alors nous ouvrons une transaction de vente.

 
Darirunu: écrire la condition : si le premier vendredi du mois était haussier, et que

le deuxième lundi est baissier, alors ouvrez une transaction de vente.

Il s'agit d'un problème intéressant : il peut être utilisé pour montrer la séquence des étapes pour résoudre n'importe quel problème.
Déterminez le mois actuel MM et l'année YYYY. Prenez la date 1.MM.YYYY et déterminez le jour de la semaine correspondant.
2. Nous inventons quelques formules (pour cela, nous créons deux tableaux de 7 lignes) et les utilisons pour déterminer les dates des jours qui nous intéressent.
3. si la deuxième date est dans le futur - sortie.
4. En utilisant les dates, nous déterminons le nombre de barres correspondantes sur le graphique journalier.
5. Déterminez le nombre de barres en fonction de leur appartenance aux bulls - bears.
6. Tirer une conclusion sur l'entrée sur le marché

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением...
 
LRA:

C'est un problème intéressant : il peut être utilisé pour montrer une séquence d'étapes pour résoudre n'importe quel problème.
Déterminez le mois actuel MM et l'année YYYY. Prenez la date MM.YYYY et déterminez le jour de la semaine correspondant.
2. Pensez à une ou deux formules (pour cela, nous créons deux tableaux de 7 lignes) et utilisez ces formules pour déterminer les dates des jours qui vous intéressent
3. si la deuxième date est dans le futur - sortie.
4. En utilisant les dates, nous déterminons le nombre de barres correspondantes sur le graphique journalier.
5. Déterminez le nombre de barres en fonction de leur appartenance aux bulls - bears.
6. Tirer une conclusion sur l'entrée sur le marché


En fait, je n'ai toujours pas vu la réponse sous forme de code... L'algorithme est clair...

 
Darirunu: En fait, je n'ai toujours pas vu de réponse sous forme de code... L'algorithme est clair...

Si l'algorithme est clair, écrivez un programme... Si vous avez des difficultés, demandez...

 
LRA:

Si l'algorithme est clair - écrire un programme... Si vous avez des problèmes - demandez ...


Vous devez être un génie)) Vous pensez que si je savais, je demanderais ici ? Il suffit d'écrire le jour de la semaine n'est pas un problème ... La question est de savoir comment déterminer quelle semaine du mois ? Le livre Mt4 ne dit rien à ce sujet.

Toutes les questions des débutants en MQL4, aide et discussion sur les algorithmes et les codes

 
Lowech:
   bool nomber = OrdersHistoryTotal();
   bool tip=OrderType();
   if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true)
   {
   tip=OrderType();
   }

Ici, je l'ai présélectionné, mais cela ne fonctionne toujours pas. Qu'est-ce qui ne va pas ? Veuillez me conseiller.

Regardons cette partie. Dans la première ligne, la variable nomber stocke le nombre de commandes dans l'historique. Mettons le curseur sur OrdersHistoryTotal() et appuyons sur F1. Ici, vous pouvez voir :

intOrdersHistoryTotal();


La fonction renvoie un nombre entier. Mais un bool n'a que deux valeurs. Comment un bool peut-il contenir une valeur de type int ?

La deuxième ligne contient la même erreur et une autre. Vous mettez le curseur sur OrderType() et appuyez sur F1. Nous voyons : L'ordre doit être présélectionné à l'aide de la fonction OrderSelect().

La troisième ligne contient une situation horrible. 1) if(OrderSelect( - si un ordre est sélectionné, quelque chose est exécuté. Mais que se passe-t-il si une erreur survient ici ? Votre programme est toujours en cours d'exécution. 2) Il faut sélectionner un ordre avec le numéro nomber. Mais existe-t-il une commande avec un tel nombre ? Quel est le nombre minimum et maximum de commandes si le nombre total est nomber ? 3) Au lieu de if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)==true) presque tout le monde écrirait simplement if(OrderSelect(nomber,SELECT_BY_POS,MODE_HISTORY)) et encore une petite chose.

Mon conseil est le suivant : commencez à apprendre le langage avec des éléments simples, écrivez des scripts simples et affichez le résultat. Vérifiez le résultat de chaque ligne

 
Darirunu: Le problème est de savoir comment déterminer la semaine du mois en cours. Il n'y a rien dans le livre Mt4 sur

Pourquoi avez-vous besoin de savoir quelle semaine du mois nous sommes ? Ce n'est pas dans mon algorithme. (ne mettez un espace qu'après les signes de ponctuation)

 
LRA:

Pourquoi ai-je besoin de savoir quelle semaine du mois nous sommes ? Dans mon algorithme, ce n'est pas le cas. (ne mettez un espace qu'après les signes de ponctuation)


Je suis désolé, vous n'avez probablement pas prêté attention à la question.

Comment écrire la condition dans le quatre : si le premier vendredi du mois était haussier et

le deuxième lundi est baissier alors nous ouvrons une transaction de vente.

DayOfWeek()==1 Lundi est clair, mais quel lundi du mois ?)

 
Darirunu:

En fait, je n'ai jamais vu de réponse sous forme de code. L'algorithme est clair...

Il suffit de savoir quel jour de la semaine était le premier du mois. Le reste est calculé.