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

 
Bonjour à tous ! Chers camarades, aidez-nous à répondre à la question suivante. Indicateur OSM standard + indicateur MA (uniquement abaissé au sous-sol). Comment prendre une lecture de l'indicateur MA jusqu'au sous-sol ? Si nous utilisons l'indicateur MA standard, nous appliquons un prix de 0 à 6, et si nous descendons au sous-sol, nous réglons "appliquer à" à 8. Je suppose que nous devrions changer l'indicateur MA lui-même (mais je ne sais pas ce qu'il faut changer là) et ensuite utiliser la fonction iCustom.

Je vous serais reconnaissant de bien vouloir m'aider.


 
alexey1979621:
Bonjour à tous ! Chers camarades, aidez-nous à répondre à la question suivante. Indicateur standard + indicateur MA (uniquement abaissé au sous-sol). Comment prendre les indications de l'indicateur MA abaissé dans le sous-sol ? Si nous utilisons un indicateur МА standard, nous appliquons un prix de 0 à 6, mais si nous descendons au sous-sol, nous réglons "appliquer à" à 8. Je suppose que nous devrions modifier l'indicateur MA lui-même (mais je ne sais pas ce qu'il faut changer là) et ensuite utiliser la fonction iCustom.

Je vous serais reconnaissant de bien vouloir m'aider.


Vous prenez un tableau de l'indicateur OSM et ImaOnArray avec tous les paramètres МА.
 
solnce600:

Des gens bien ! !!

Aidez-moi à trouver un bug. Je suis en train d'apprendre les tableaux.

J'ai créé un tableau dans un fichier include.

J'ai mis une référence au fichier include dans mon Expert Advisor.

Je ne comprends pas pourquoi.

Dans le lien de l'emplacement du fichier, les codes d'erreur

http://clip2net.com/s/jkTd89

Merci.

Peut-être que le problème se situe au niveau du nom et du chemin d'accès du fichier ? Essayez de nommer les fichiers en caractères latins et sans points.
 
solnce600:

Des gens bien ! !!

Aidez-moi à trouver un bug. Je suis en train d'apprendre les tableaux.

J'ai créé un tableau dans un fichier include.

J'ai mis une référence au fichier include dans mon Expert Advisor.

Je ne comprends pas pourquoi.

Dans le lien de l'emplacement du fichier, les codes d'erreur

http://clip2net.com/s/jkTd89

Merci.

Chemin suspect. ../Programm Files/... En fait, tous les fichiers doivent être dans un chemin comme C:\Users\\***AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
 
barabashkakvn:
Chemin suspect. ../Programm Files/... En fait, tous les fichiers doivent être situés dans un chemin comme C:\Users\*\AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include
Vous pouvez en fait exécuter le terminal dans le portable ;)
 
evillive:
En fait, il est possible d'exécuter le terminal en portable ;)
Vous pouvez utiliser /Commutateur portatif, mais nous ne sommes pas télépathes, n'est-ce pas ? Et une telle clé est utilisée par peu de personnes.
 

Pouvez-vous me dire comment faire pour que les données de l'indicateur s'affichent sous forme de chandeliers ou de barres verticales comme ici :

Lecode lui-même ne dit pas clairement comment faire ! Le style DRAW_HISTOGRAM dessine simplement une ligne verticale sur chaque barre à partir du bord inférieur de la fenêtre, mais pas un chandelier.

/// это начало ///

#property indicator_chart_window
#property indicator_buffers 6

#property  indicator_style1 STYLE_DOT
#property  indicator_width1 1
#property  indicator_color1 Sienna

#property  indicator_style2 STYLE_DOT
#property  indicator_width2 1
#property  indicator_color2 Sienna

#property  indicator_style3 STYLE_SOLID
#property  indicator_width3 2
#property  indicator_color3 DodgerBlue

#property  indicator_style4 STYLE_SOLID
#property  indicator_width4 2
#property  indicator_color4 DodgerBlue

#property  indicator_style5 STYLE_SOLID
#property  indicator_width5 1
#property  indicator_color5 DodgerBlue

#property  indicator_style6 STYLE_SOLID
#property  indicator_width6 1
#property  indicator_color6 DodgerBlue

/// это в процедуре OnInit() ///

   SetIndexBuffer(0, ForecastCloudHigh);
   SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(0, ForecastBars - Offset);
   
   SetIndexBuffer(1, ForecastCloudLow);
   SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, EMPTY, IndicatorCloudColor);
   SetIndexShift(1, ForecastBars - Offset);
   
   SetIndexBuffer(2, ForecastBestPatternOpen);
   SetIndexStyle(2, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(2, ForecastBars - Offset);

   SetIndexBuffer(3, ForecastBestPatternClose);
   SetIndexStyle(3, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(3, ForecastBars - Offset);

   SetIndexBuffer(4, ForecastBestPatternHigh);
   SetIndexStyle(4, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(4, ForecastBars - Offset);
   
   SetIndexBuffer(5, ForecastBestPatternLow);
   SetIndexStyle(5, DRAW_HISTOGRAM, STYLE_SOLID, EMPTY, IndicatorBestPatternColor);
   SetIndexShift(5, ForecastBars - Offset);

/// а это уже заполнение в процедуре-обработчике ///

         ForecastBestPatternOpen[indexBar] = xcbase + ((iOpen(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternClose[indexBar] = xcbase + ((iClose(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternHigh[indexBar] = xcbase + ((iHigh(NULL, 0, altindex) - ycbase) * sAlt[0]);
         ForecastBestPatternLow[indexBar] = xcbase + ((iLow(NULL, 0, altindex) - ycbase) * sAlt[0]);
 
Awwl:

Pouvez-vous me dire comment faire pour que les données de l'indicateur s'affichent sous forme de chandeliers ou simplement de barres verticales comme ici :

Lecode lui-même ne dit pas clairement comment faire ! Le style DRAW_HISTOGRAM dessine simplement une ligne verticale sur chaque barre à partir du bord inférieur de la fenêtre, mais pas un chandelier.

Le plus simple est de dessiner en mql5, en utilisant le style de dessinDRAW_CANDLES ouDRAW_COLOR_CANDLES. Malheureusement, dans mql4, vous ne pouvez pas dessiner les chandeliers comme ça.
 
Awwl:

Pouvez-vous me dire comment faire pour que les données de l'indicateur s'affichent sous forme de chandeliers ou simplement de barres verticales comme ici :

Lecode lui-même ne dit pas clairement comment faire ! Le style DRAW_HISTOGRAM dessine simplement une ligne verticale sur chaque barre à partir du bord inférieur de la fenêtre, mais pas un chandelier.

Si vous comprenez comment fonctionne l'indicateur Heiken Ashi (inclus avec le terminal), vous comprendrez tout.
 
evillive:
Si vous comprenez comment l'indicateur Heiken Ashi est configuré (le terminal est fourni avec), vous comprendrez tout.

Le Heiken Ashi intégré semble un peu sous-développé (je me demande si c'est juste moi sur le 745 ?), mais son fonctionnement est clair. Et la façon dont WmiFor est construit n'est pas claire !

Dans le code Heiken Ashi, une bougie est tirée à partir de 4 histogrammes à barres :

#property indicator_separate_window
#property indicator_buffers 4
#property  indicator_color1 Red
#property  indicator_color2 White
#property  indicator_color3 Red
#property  indicator_color4 White
#property  indicator_width1 1
#property  indicator_width2 1
#property  indicator_width3 3
#property  indicator_width4 3

//---
input color ExtColor1 = Red;    // Shadow of bear candlestick
input color ExtColor2 = White;  // Shadow of bull candlestick
input color ExtColor3 = Red;    // Bear candlestick body
input color ExtColor4 = White;  // Bull candlestick body
//--- buffers
double ExtLowHighBuffer[];
double ExtHighLowBuffer[];
double ExtOpenBuffer[];
double ExtCloseBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//|------------------------------------------------------------------|
void OnInit(void)
  {
   IndicatorShortName("Heiken Ashi");
   IndicatorDigits(Digits);
//--- indicator lines
   SetIndexStyle(0,DRAW_HISTOGRAM,0,1,ExtColor1);
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexStyle(1,DRAW_HISTOGRAM,0,1,ExtColor2);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexStyle(2,DRAW_HISTOGRAM,0,3,ExtColor3);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexStyle(3,DRAW_HISTOGRAM,0,3,ExtColor4);
   SetIndexBuffer(3,ExtCloseBuffer);
//---
   SetIndexLabel(0,"Low/High");
   SetIndexLabel(1,"High/Low");
   SetIndexLabel(2,"Open");
   SetIndexLabel(3,"Close");
   SetIndexDrawBegin(0,10);
   SetIndexDrawBegin(1,10);
   SetIndexDrawBegin(2,10);
   SetIndexDrawBegin(3,10);
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtLowHighBuffer);
   SetIndexBuffer(1,ExtHighLowBuffer);
   SetIndexBuffer(2,ExtOpenBuffer);
   SetIndexBuffer(3,ExtCloseBuffer);
//--- initialization done
  }

Autrement dit, à mesure que le nombre de tampons augmente (de 0 à 3), de nouvelles barres sont dessinées par-dessus les anciennes. L'ordre est le suivant :

LowHigh - HighLow - Open - Close.

L'ordre des chandeliers doit être le suivant pour qu'ils aient l'air comme il faut, avec leurs corps et leurs queues :

max(Open,Close)//ligne de couleur épaisse// - min(Open,Close)//blanc épais// - High//ligne de couleur épaisse// - Low//blanc épais//.

Compilons l'indicateur, mettons-le sur le graphique et voyons tous les problèmes (voir l'image).

Mais cette méthode, comme le Heiken Ashi, présente un inconvénient : sous chaque "bougie", nous obtenons une boucle blanche dans la couleur de fond qui couvre tout ce qui est inférieur. Mais avec WmiFor, tout est parfait ! Des fonctionnalités non documentées?

Première image - Heiken Ashi (placé dans une fenêtre séparée), deuxième image - WmiFor, le fond est en vert clair pour plus de clarté.

Raison: