[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 212

 

MA_1_t=iCustom(Symbol(),0,"AMA_optimized",1,1); // ??_1
MA_2_t=iCustom(Symbol(),0,"AMA_optimized",2,1); // ??_2
MA_3_t=iCustom(Symbol(),0,"AMA_optimized",1,2); // ??_2
MA_4_t=iCustom(Symbol(),0,"AMA_optimized",2,2); // ??_4
//---------------------------------------------------------------- 5.1 ???? ?????
static datetime New_Time;
bool New_Bar;
bool wayUP, wayDOWN;

if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
} else { New_Bar=false;
}
//---------------------------------------------------------------- 5.1

if (MA_1_t!=0 && wayDOWN==true) // && MA_3_t==0
{
if (New_Bar==true)
{
Opn_B=true;
New_Bar=false;
}
//Cls_S=true;
}

if (MA_2_t!=0 && wayUP==true) // && MA_4_t==0
{
if (New_Bar==true)
{
Opn_S=true;
New_Bar=false;
}
//Cls_B=true;
}

if (New_Bar==true) {
if (MA_3_t!=0 && MA_4_t==0) {wayUP=true;}
if (MA_4_t!=0 && MA_3_t==0) {wayDOWN=true;}
}

//--------------------------------------------------------------- 6 --

PEOPLE, nous devons d'une manière ou d'une autre nous rappeler jusqu'à 2 barres quelle était la direction et ensuite la comparer, si la direction n'est pas la même qu'à 1 barre, alors ouvrez à 0 barre...

Ou ils n'aideront pas !

Может я не правельные вопросы задаю, черт побери?! мысли в члух

 
Bonjour à tous. J'ai créé une unité de temps M10 non standard dans MT4, mais elle ne fonctionne pas en temps réel pour une raison quelconque. En d'autres termes, il affiche correctement l'historique pour la période M10 requise, mais seulement jusqu'au moment où je l'ai créé. Quel est le problème ? Je ne sais pas si ça doit être comme ça ou si j'ai fait quelque chose de mal. Je l'ai fait de sorte que je n'ai pas la possibilité de trader en temps réel par heure non standard, il me suffit de regarder l'historique ((
 
Copiez le fichier Period_Converter_Opt.mq4 dans le dossier experts\indicators de votre terminal. Si le terminal a été ouvert, rechargez-le.

Étape 2.1. Ajoutez l'indicateur Period_Converter_Opt au graphique à partir duquel vous souhaitez obtenir une période non standard. Une fenêtre s'ouvre. Cochez la case "Autoriser l'importation de DLL" dans l'onglet "Général".

Étape 2.2. Dans l'onglet "Paramètres d'entrée", vous pouvez définir plusieurs variables. La variable PeriodMultiplier est le multiplicateur du graphique original. Par exemple, si vous voulez que le graphique H1 devienne le graphique H6, vous devez définir la valeur 6.

La variable UpdateInterval est responsable de la fréquence des mises à jour du graphique. Le paramètre par défaut est zéro - le graphique est mis à jour en temps réel. Si vous souhaitez réduire la charge sur les ressources de votre ordinateur, augmentez cette valeur.


L'écart entre les intervalles de temps habituels de MetaTrade est assez important - graphiques horaires, de quatre heures et quotidiens. C'est pourquoi les graphiques M10, H2, H3, H6, H8, H12 peuvent être utiles.
Le reste est comme d'habitude - ouvrir un graphique hors ligne, rechercher la TF créée et l'exécuter.
Dossiers :
 

Quelque part, il y a quelque temps, j'ai rencontré un opérateur ou une fonction qui demandait à l'EA de travailler UNIQUEMENT avec les ordres de l'instrument sur lequel il était assis, en ignorant les ordres des autres paires. J'ai essayé de le trouver maintenant et je n'ai pas pu. Peut-être que quelqu'un peut me donner un petit conseil ?

 
vendim писал(а) >>

J'ai vu quelque part un opérateur ou une fonction qui indique à l'EA de travailler UNIQUEMENT avec les ordres de l'instrument sur lequel il est assis, en ignorant les ordres des autres paires. J'ai essayé de le trouver maintenant et je n'ai pas pu. Quelqu'un peut-il me donner un petit conseil ?

C'est le paramètre magique qui s'en charge lors de l'ouverture d'une commande.

La "magie négative".

 
DDFedor писал(а) >>

Le paramètre magique lors de l'ouverture d'un ordre en est responsable. Lors de l'analyse des ordres, tenez compte de son caractère unique.

Je voulais parler des caractéristiques standard du langage. Peut-être que je me trompe, peut-être que c'était écrit quelque part séparément et que je ne l'ai pas remarqué. L'ensemble du code contient un grand nombre de contrôles du type suivant

&& (OrderSymbol() == Symbol())

Dans le code de l'Expert Advisor, la ligne requise (même avec un commentaire) était au début et l'auteur ne s'est pas soucié des ordres des autres paires de devises après cela. Peut-être, les commandes ont été prises à la bibliothèque ...

En bref, l'opérateur/fonction standard dans MQL4, existe-t-il ?

 

encore une fois, quelqu'un peut m'aider avec la suppression d'objets

#property copyright ""
#property link      ""

#include <WinUser32.mqh>

int start() {
   for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
      if (StringFind(ObjectName( li_0), "стрелка") == 0) {
         ObjectDelete(ObjectName( li_0));
         li_0--;
      }
   }
   int li_4 = WindowHandle(Symbol(), Period());
   if ( li_4 != 0) PostMessageA( li_4, WM_COMMAND, 33324, 0);
   return (0);
}

comment puis-je faire en sorte que ce script supprime les objets non pas par nom mais par style, par exemple





(OBJPROP_ARROWCODE,158)

aidez-moi, s'il vous plaît

 
NEKSUS_ >> :

encore une fois, quelqu'un peut m'aider avec la suppression d'objets


comment puis-je faire en sorte que ce script supprime les objets non pas par nom mais par style, par exemple





aidez-moi


Personnellement, je ferais ce qui suit :

for (int li_0 = 0 ; li_0 < ObjectsTotal() ; li_0++) {
si (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

La boucle ne doit être que décrémentée, sinon vous ne pourrez pas retrouver l'ordre des objets si vous les supprimez un par un.

 
splxgf >> :

Personnellement, je ferais ce qui suit :

for (int li_0 = 0 ; li_0 < ObjectsTotal() ; li_0++) {
si (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

Une boucle avec décrémentation uniquement - sinon vous ne serez pas en mesure de comprendre l'ordre des objets si vous les supprimez un par un.

Je ne connais pas du tout mql et le script fonctionne, mais il doit être exécuté 7 fois et il laisse toujours quelques objets sur le graphique.

 
NEKSUS_ >> :

Je ne connais pas du tout mql, mais le script fonctionne, mais il doit être exécuté 7 fois et certains objets restent quand même sur le graphique

Peut-être bien :

for(int k=0; k<ObjectsTotal(); k++)
{
   if (ObjectGet(ObjectName( k), OBJPROP_ARROWCODE)==158) 
   {
      ObjectDelete(ObjectName( k));
      k--;
   }
}

C'est la suppression des flèches. Si vous êtes intéressé par d'autres objets - lisez l'aide sur la fonction ObjectGet()