Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 536

 
nekadabra:
Pouvez-vous me dire si Win 8 est compatible avec MT 4 et MT 5 ? Je pose la question parce que j'ai un Mac et je me demande quel système d'exploitation choisir pour acheter un PC. Un type m'a même montré une capture d'écran de MT 4 fonctionnant sur 8. Mais comme certains camarades prétendent qu'il n'y a pas de compatibilité totale, je me dois de clarifier... Merci.

Win 8 est compatible avec MT 4 et 5.
 

Bonjour !

Il y a un problème avec le logiciel de l'indicateur, l'auteur prétend que l'indicateur fonctionne, mais en fait le graphique ne s'affiche pas - quel est le problème ?

#property copyright "Copyright © 2006, Profitrader."
#property link      "profitrader@inbox.ru"
//----
#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Red
//---- input parameters
extern int FastMAPeriod = 3;
extern int SlowMAPeriod = 15;
extern string SecondMarket = "GOLD";
extern bool MarketsDirectCorrelation = true;
//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string Correlation = "Invert Correlation";
   if(MarketsDirectCorrelation == TRUE) 
       Correlation = "Direct Correlation";
   IndicatorShortName("Will-Spread(" + FastMAPeriod + "," + SlowMAPeriod + 
                      "," + SecondMarket + "," + Correlation + ")");
   IndicatorDigits(Digits + 2);
   IndicatorBuffers(4);
   SetIndexBuffer(0, WillSpread);
   SetIndexBuffer(1, Spread);
   SetIndexBuffer(2, FastEMA);
   SetIndexBuffer(3, SlowEMA);
   SetIndexStyle(0, DRAW_LINE);
   SetIndexLabel(0, "W-S");
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
   if(MarketsDirectCorrelation == TRUE)
     {
       for(i = 0; i < limit; i++)
           Spread[i] = iClose(SecondMarket, 0, i) / Close[i]*100;
     }
   else
     {
       for(i = 0; i < limit; i++)
           Spread[i] = Close[i] / iClose(SecondMarket, 0, i)*100;
     }
   for(i = limit - 1; i >= 0; i--)
     {
       FastEMA[i] = iMAOnArray(Spread, 0, FastMAPeriod, 0, MODE_EMA, i);
       SlowEMA[i] = iMAOnArray(Spread, 0, SlowMAPeriod, 0, MODE_EMA, i);
       WillSpread[i] = FastEMA[i] - SlowEMA[i];
     }
//----
   return(0);
  }
//+------------------------------------------------------------------+
 
AlexMikash:

Bonjour !

Il y a un problème avec le programme de l'indicateur, l'auteur prétend que l'indicateur fonctionne, mais en fait le graphique ne s'affiche pas - quel est le problème ?

Le problème se situe dans ces lignes

   int i, counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--; 
   int limit = Bars - counted_bars;
Le nouveau compilateur donne une erreur lors de l'exécution, mais lors de la compilation c'est ok. Demandez à l'auteur de l'exécuter dans le débogueur et vous verrez immédiatement le problème.
 
AlexeyVik:

Le problème se situe dans ces lignes

Le nouveau compilateur donne une erreur lors de l'exécution, mais lors de la compilation tout est ok. Demandez à l'auteur de l'exécuter dans le débogueur et vous verrez immédiatement le problème.


Il n'y a aucun problème, tout fonctionne. C'est suffisant pour restaurer la description du tampon

//---- buffers
double [];
double Spread[];
double FastEMA[];
double SlowEMA[];

Le problème vient de l'outil par défaut. Il est probable qu'il n'y ait pas d'outil OR, si vous mettez un autre outil, c'est bon.


 
Que signifie l'icône jaune de diffusion du signal dans le Metatrader ? Que le signal n'est temporairement pas diffusé ? Et pourquoi certains signaux que je peux voir maintenant dans le terminal ne sont pas actuellement listés sur mql5.com ?
 
Vinin:


Pas de problème, tout fonctionne. Il suffit de restaurer la description du tampon

Le problème vient de l'outil par défaut. Il est fort probable qu'il n'y ait pas d'outil OR, si vous mettez un autre outil, tout va bien.



Le problème, c'est que l'outil GOLD m'intéresse vraiment. Comment puis-je le connecter au terminal ?
 
AlexMikash:

Le problème, c'est que l'outil GOLD m'intéresse vraiment. Comment puis-je le connecter au terminal ?

Soit il est là, soit il ne l'est pas. Tout dépend de la société de courtage. Qu'il fournisse ou non un tel outil.
 
Vinin:

Soit il est là, soit il ne l'est pas. Tout dépend du DC. Qu'il fournisse ou non un tel outil.


Merci, l'image est claire !

 

Bon après-midi. Je suis en train d'apprendre comment visser des indicateurs dans un EA mais jusqu'à présent je n'ai pas beaucoup de succès.

1 - Lorsque j'exécute l'EA à travers un testeur, ce n'est que lorsque je l'arrête que les étiquettes de l'indicateur apparaissent.

2 - Je ne comprends pas quelles sont les conditions et comment elles sont rédigées.

Je veux demander à mon EA de trader en fonction d'un indicateur, j'ai juste besoin de savoir comment attacher un indicateur à mon EA.

Basé sur l'indicateur flèche qui montre la montée ou la descente BS_Living Now ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

#property



 
 indicator_chart_window //#property indicator_buffers 4 //#property indicator_color1 Red //#property indicator_color2 Yellow //#property indicator_color3 Red //#property indicator_color4 Yellow ////******************/// entrée des paramètres de l'indicateurextern int BQuant=48; // - nombre de barres comptées //******************// composants de l'indicateur
                                        // else // { // if(iHigh(NULL,0,t)>=High[iHighest(NULL,0,2,BQuant,t+1)] && // iHigh(NULL,0,t)>iHigh(NULL,0,t-1)) // { // ExtrimHi[t] =iHigh(NULL,0,t); // Break_Detect(t,1);                               //******************// Détection de point d'arrêt } // // if(iLow(NULL,0,t)<=Low[iLowest(NULL,0,1,BQuant,t+1)] && // iLow(NULL,0,t)<iLow(NULL,0,t-1)) // { // ExtrimLo[t] =iLow(NULL,0,t);                                         // Break_Detect(t,-1); //******************// Détection de point d'arrêt } // } // return(0);                                                                 // } //double Break_Detect(int a,int Signal) //***********************************// Détermination des points d'arrêt { // for(int r=1; r<BQuant; r++) //  //  {if(Signal==1 && iHigh(NULL,0,a+r)<High[iHighest(NULL,0,2,BQuant,a+r+1)]) // {BreakHi[a] =Low[iLowest(NULL,0,1,r+2,a-1)]; r=BQuant;}               // if(Signal==-1 && iLow(NULL,0,a+r)>Low[iLowest(NULL,0,1,BQuant,a+r+1)]) // {BreakLo[a] =High[iHighest(NULL,0,2,r+2,a-1)]; r=BQuant;}             // } return(0); //  }

Voici le conseiller expert que j'ai commencé
.

double externe Lot=0.1 ; extern int Magic=0 ; extern int Stop=98 ; extern int Take=70 ; extern int Slip=10 ; extern int BQuant=48 ; // - le nombre de barres calculées int start()
{
double S1=iCustom(NULL, 0, "BS_Living Now",BQuant,0,0) ;
OrderSend(Symbol(), OP_SELL,Lot, Bid, Slip,Ask+Stop*Point,Ask-Take*Point, "SELL", Magic, 0,Red ) ; OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip,Bid-Stop*Point,Bid+Take*Point, " BUY", Magic, 0,Blue);

}
 

Si vous écrivez un script simple qui crée un objet de type OBJ_ARROW_RIGHT_PRICE puis le supprime, l'objet n'est pas supprimé. De plus, la commande ObjectType révèle soudainement que l'objet créé n'est pas de type OBJ_ARROW_RIGHT_PRICE (==36), mais ==22 c'est-à-dire une simple "flèche vers le haut" ! !! Suis-je le seul à avoir ce problème ou est-ce que tout le monde l'a ?

Il y avait déjà des avis d'"experts" sur cette question : comme lire l'aide, ou pas assez de mémoire :) .

La mémoire suffit.

Il semble que la commande ObjectCreate dessine un objet du type OBJ_ARROW_RIGHT_PRICE , qui ne peut pas être supprimé par la commande ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE), mais peut être supprimé par la commande ObjectsDeleteAll(0,22), comme si nous n'avions pas l'étiquette de prix correcte mais une "flèche vers le haut". A qui la faute ?

#property copyright "Copyright 2014, MetaQuotes Software Corp."

#lien de propriété "https://www.mql5.com"

#propriété version "1.00"

#propriété stricte

//+------------------------------------------------------------------+

//| Fonction de démarrage du programme de script |

//+------------------------------------------------------------------+

void OnStart()

{

Alert(") ;

Alert("obj_arrow_right_price=",OBJ_ARROW_RIGHT_PRICE) ; // ==36

ObjectCreate("MyArrow", OBJ_ARROW_RIGHT_PRICE,0,Time[1],Open[1]) ; //

Alert("objectTipe=", ObjectType("MyArrow") ) ; // ==22 !

ResetLastError() ;

Alert("script delete arrow right price=",ObjectsDeleteAll(0,OBJ_ARROW_RIGHT_PRICE)," lastError=",GetLastError() ) ; // nombre d'objets supprimés ==0, erreurs ==0

}

Pour supprimer un objet de type OBJ_ARROW_RIGHT_PRICE, utilisez la commande ObjectsDeleteAll(0,OBJ_ARROW), en veillant à préciser sa sous-fenêtre.

p.s. Un objet de type OBJ_ARROW est une "flèche" quelconque, pas seulement une "flèche vers le haut". ObjectCreate(...OBJ_ARROW...) crée immédiatement une "flèche vers le haut". Alors pourquoi ce n'est pas dans l'aide ?