Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 789

 
Hallo zusammen, liebe Kameraden, helft mir bei folgender Frage. Standard OSM-Indikator + MA-Indikator (nur in den Keller gesenkt). Wie kann man einen MA-Indikator bis in den Keller ablesen? Wenn wir den Standard-MA-Indikator verwenden, wenden wir einen Preis von 0 bis 6 an, und wenn wir in den Keller gehen, setzen wir 8 in "apply to". Ich nehme an, wir sollten den MA-Indikator selbst ändern (aber ich weiß nicht, was dort zu ändern) und dann die iCustom-Funktion verwenden.

Ich wäre Ihnen für Ihre Hilfe dankbar.


 
alexey1979621:
Hallo zusammen, liebe Kameraden, helft mir bei folgender Frage. Standard-Indikator + MA-Indikator (nur in den Keller gesenkt). Wie kann man die Angaben des in den Keller gesenkten MA-Indikators übernehmen? Wenn wir einen Standard-МА-Indikator verwenden, wenden wir einen Preis von 0 bis 6 an, aber wenn wir in den Keller hinabsteigen, setzen wir "apply to" auf 8. Ich nehme an, dass wir den MA-Indikator selbst ändern sollten (aber ich weiß nicht, was ich dort ändern soll) und dann die iCustom-Funktion verwenden.

Ich wäre Ihnen für Ihre Hilfe dankbar.


Sie nehmen ein Array des OSM-Indikators und ImaOnArray mit allen МА-Parametern.
 
solnce600:

Gute Leute!!!

Helfen Sie mir, einen Fehler zu finden. Ich lerne gerade über Arrays.

Ich habe ein Array in einer Include-Datei erstellt.

Ich habe einen Verweis auf die Include-Datei in meinen Expert Advisor eingefügt.

Ich kann nicht verstehen, warum.

Im Dateispeicherort Link Fehlercodes

http://clip2net.com/s/jkTd89

Ich danke Ihnen.

Vielleicht liegt das Problem beim Dateinamen und -pfad? Versuchen Sie, die Dateien in lateinischen Buchstaben und ohne Punkte zu benennen.
 
solnce600:

Gute Leute!!!

Helfen Sie mir, einen Fehler zu finden. Ich lerne gerade über Arrays.

Ich habe ein Array in einer Include-Datei erstellt.

Ich habe einen Verweis auf die Include-Datei in meinen Expert Advisor eingefügt.

Ich kann nicht verstehen, warum.

Im Dateispeicherort Link Fehlercodes

http://clip2net.com/s/jkTd89

Ich danke Ihnen.

Verdächtiger Pfad: ../Programmdateien/... Eigentlich sollten alle Dateien in einem Pfad wie C:\Users\\***\AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include liegen.
 
barabashkakvn:
Verdächtiger Pfad: ../Programmdateien/... Eigentlich sollten sich alle Dateien in einem Pfad wie C:\Users\***\AppData\Roaming\MetaQuotes\Terminal\******************\MQL4\Include befinden.
Sie können das Terminal tatsächlich im Portable ausführen ;)
 
evillive:
Es ist sogar möglich, das Terminal in Portable zu starten ;)
Sie können /Portable switch verwenden, aber wir sind keine Telepathen, oder? Und ein solcher Schlüssel wird nur von wenigen Menschen benutzt.
 

Können Sie mir bitte sagen, wie ich die Daten des Indikators als Candlesticks oder nur als vertikale Balken wie hier anzeigen lassen kann:

Im Code selbst ist nicht klar, wie man das macht! Der Stil DRAW_HISTOGRAM zeichnet nur eine vertikale Linie auf jedem Balken vom unteren Rand des Fensters, aber keinen Kerzenständer.

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

#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:

Können Sie mir sagen, wie ich die Daten des Indikators als Candlesticks oder nur als vertikale Balken wie hier anzeigen lassen kann?

Im Code selbst ist nicht klar, wie man das macht! Der Stil DRAW_HISTOGRAM zeichnet nur eine vertikale Linie auf jedem Balken vom unteren Rand des Fensters, aber keinen Kerzenständer.

Am einfachsten ist es, in mql5 zu zeichnen, indem man den ZeichenstilDRAW_CANDLES oderDRAW_COLOR_CANDLES verwendet. Leider kann man in mql4 nicht einfach so Candlesticks zeichnen.
 
Awwl:

Können Sie mir sagen, wie ich die Daten des Indikators als Candlesticks oder nur als vertikale Balken wie hier anzeigen lassen kann?

Im Code selbst ist nicht klar, wie man das macht! Der Stil DRAW_HISTOGRAM zeichnet nur eine vertikale Linie auf jedem Balken vom unteren Rand des Fensters, aber keinen Kerzenständer.

Wenn Sie herausfinden, wie der Heiken Ashi-Indikator (im Terminal enthalten) funktioniert, werden Sie alles verstehen.
 
evillive:
Wenn Sie verstehen, wie der Heiken Ashi-Indikator aufgebaut ist (das Terminal wird mit ihm geliefert), werden Sie alles verstehen.

Das eingebaute Heiken Ashi sieht etwas unterentwickelt aus (ich frage mich, ob das nur bei mir auf dem 745 so ist?), aber ich kann mir vorstellen, wie es funktioniert. Und es ist unklar, wie WmiFor aufgebaut ist!

Im Heiken Ashi-Code wird eine Kerze aus 4 Balkenhistogrammen gezogen:

#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
  }

Das heißt, dass mit zunehmender Puffernummer (von 0 bis 3) neue Balken über die alten gezeichnet werden. Die Reihenfolge ist wie folgt:

NiedrigHoch - HochTief - Offen - Geschlossen.

Die Reihenfolge der Kerzenhalter sollte wie folgt sein, damit sie mit ihren Körpern und Schwänzen so aussehen, wie sie sein sollten:

max(Open,Close)//dicke farbige Linie// - min(Open,Close)//dickes Weiß// - High//dicke farbige Linie// - Low//dickes Weiß//.

Erstellen wir den Indikator, setzen wir ihn auf das Diagramm und sehen wir uns die Probleme an (siehe Abbildung).

Aber diese Methode hat wie Heiken Ashi einen Nachteil: Unter jeder "Kerze" entsteht eine weiße Schleife in der Hintergrundfarbe, die alles darunterliegende verdeckt. Aber mit WmiFor ist alles perfekt! Undokumentierte Funktionen?

Erstes Bild - Heiken Ashi (in einem separaten Fenster), zweites Bild - WmiFor, der Hintergrund ist zur Verdeutlichung hellgrün.