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

 
Danke,kosmos0975!
Ich werde es ausprobieren. Aber ich fürchte, dass es zum Beispiel bei Wochenstäben nicht funktioniert.
 
Können Sie mir bitte sagen, wo ich ein Codebeispiel für die Einfärbung der Indikatorlinie in verschiedenen Farben finden kann?
 
Leo59:
Können Sie mir bitte sagen, wo ich ein Codebeispiel finden kann, das die Indikatorlinie in verschiedenen Farben malt?
So viele Farben, so viele Puffer! Wenn Sie die Farbe ändern, ändern Sie den Puffer! Viele Beispiele in CodeBase!
 
Wie man einen Eintrag in der richtigen Zeile vornimmt ... in der tht-Datei...
 
borilunad:
So viele Farben, so viele Puffer! Solange sich die Farbe ändert, ändern Sie den Puffer! Jede Menge Beispiele in CodeBase!
Danke.
 
Was ist los? Warum gibt es blaue Flächen, die nicht berücksichtigt werden?
#property  indicator_separate_window
#property  indicator_buffers 3
#property   indicator_color1  Aqua
#property   indicator_width1  1
#property   indicator_color2  Red
#property   indicator_width2  1
#property   indicator_color3  Yellow
#property   indicator_width3  1

extern int       Fperiod=1;
extern int       Speriod=2;
extern int       Method=3;
extern int       PRICE_MODE=PRICE_WEIGHTED;

double   Buf0[];
double   Buf1[];                                
double   Buf2[];                                
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
   {
    SetIndexBuffer(0,Buf0);
    SetIndexBuffer(1,Buf1);
    SetIndexBuffer(2,Buf2);

    SetIndexStyle(0,DRAW_LINE);
    SetIndexStyle(1,DRAW_LINE);
    SetIndexStyle(2,DRAW_LINE);

    SetIndexEmptyValue(1,EMPTY_VALUE);   
    SetIndexEmptyValue(2,EMPTY_VALUE);   

    IndicatorShortName("Proba ");                
   
    SetIndexDrawBegin(0, 0);  
    SetIndexDrawBegin(1, 0);
    SetIndexDrawBegin(2, 0);

    return(0);
   }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
   {
    int i; 
    int limit;
    int counted_bars=IndicatorCounted();
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--;
    limit=Bars-counted_bars;
    for (i = limit;i>=0;i--)
        {  
         Buf0[i]=iMA(NULL,0,Fperiod,0,Method,PRICE_MODE,i)-iMA(NULL,0,Speriod,0,Method,PRICE_MODE,i);
         if(Buf0[i] > Buf0[i+1])
             {
              Buf1[i] = Buf0[i];
//              if(Buf0[i+1] > Buf0[i+2])
//                   Buf1[i+1] = Buf0[i+1];
//              else Buf2[i+1] = Buf0[i+1];
             }
         else
             {
              Buf2[i] = Buf0[i];
//              if(Buf0[i+1] < Buf0[i+2])
//                   Buf2[i+1] = Buf0[i+1];
//              else Buf1[i+1] = Buf0[i+1];
             }
        }              
    return(0);
   }


 
Ist es möglich, drei Charts mit unterschiedlichen Zeitrahmen im EA zu verknüpfen? Auf der Grundlage der Indikatorwerte in zwei Charts wird ein Ort und ein Währungspaar für den Einstieg gefunden, und auf der Grundlage des letzten dritten Charts werden Einstieg, Stopp und Gewinn berechnet und eine Position zum Einstieg eröffnet. Ist dies technisch möglich? Oder müssen Sie einen Expert Advisor speziell für einen bestimmten Zeitrahmen erstellen, damit er in einem Chart funktioniert? Dazu müssen nicht nur die Werte von Balken, Ticks oder Candlesticks aus Charts verschiedener Zeitrahmen gezählt werden, sondern auch die Werte von mindestens zwei Indikatoren analysiert und auf der Grundlage dieser Daten eine Order eröffnet werden.
 
Ich war das Schreiben einer Funktion für die Erkennung von Flytrap und blieb in etwas, das ich nicht verstehe. if-Anweisung funktioniert nicht. vielleicht habe ich etwas falsch irgendwo geschrieben, ich möchte, dass Sie einen neuen Blick zu nehmen, weil ich nicht verstehe, warum. Ich habe sogar ein Video aus dem Debugger, der zeigt, dass die Werte gleich sind, aber es funktioniert nicht. bitte setzen Sie mein Gehirn wieder in place))))
{
      int size = ArrayRange(arrayMinLow,0);
      int digits = MarketInfo (symbol,MODE_DIGITS);
      
      double spreadFlat = highLine - lowLine;
      
     
      int directionFlat = -1;
      int slew = 0;
      for (int i = 0; i<size; i++){
            double hl =arrayMinLow[i][0];
            double ol = arrayMinLow[i][1];
            double cl = arrayMinLow[i][2];
            double ll = arrayMinLow[i][3];
            
            if (hl == highLine || ol == highLine){                                      //вот тут не срабатывает

                  if( directionFlat == -1 || directionFlat == 0)
                        slew++;

                  directionFlat = 1;
            }else if  (cl == lowLine|| ll ==lowLine){
               
                  if( directionFlat == -1 || directionFlat == 1)
                        slew++;               
               
                  directionFlat = 0;
               
           }
                  
      
      }
      
      if(slew >=4 )
         return true;
         
      return false;   
      
      

}




Videolink https://www.youtube.com/watch?v=k9Zo0SgrMCA
 
Deniskaaa:
Ist es möglich, drei Charts mit unterschiedlichen Zeitrahmen im EA zu verknüpfen? Auf der Grundlage der Indikatorwerte in zwei Charts wird ein Ort und ein Währungspaar für den Einstieg gefunden, und auf der Grundlage des letzten dritten Charts werden ein Einstiegspunkt, ein Stopp und ein Gewinn berechnet und eine Position für den Einstieg eröffnet. Ist dies technisch möglich? Oder müssen Sie einen EA speziell für einen bestimmten Zeitrahmen erstellen, um in einem Chart zu arbeiten? Wir sollten nicht nur die Werte von Balken, Ticks oder Candlesticks aus Charts verschiedener Zeitrahmen zählen, sondern die Werte von mindestens zwei Indikatoren analysieren und eine Order auf der Grundlage des dritten Indikators eröffnen.
Alles ist möglich! Siehe Dokumentation oder Hilfe in MetaEditor!
 
pycha:

Hallo, ich war das Schreiben einer Funktion für die Erkennung von flytags und blieb in etwas, das ich nicht verstehe. if-Anweisung funktioniert nicht. vielleicht schrieb ich etwas falsch irgendwo, ich möchte, dass Sie einen neuen Blick zu nehmen, weil ich nicht verstehe, warum. Ich habe sogar ein Video aus dem Debugger, zeigt, dass die Werte gleich sind, aber es funktioniert nicht. bitte setzen Sie mein Gehirn in den Ort der))))


Code:

bool  checkLine(double highLine , double lowLine, double &arrayMinLow[][5] )
{
      int size = ArrayRange(arrayMinLow,0);
      int digits = MarketInfo (symbol,MODE_DIGITS);
      
      double spreadFlat = highLine - lowLine;
      
     
      int directionFlat = -1;
      int slew = 0;
      for (int i = 0; i<size; i++){
            double hl =arrayMinLow[i][0];
            double ol = arrayMinLow[i][1];
            double cl = arrayMinLow[i][2];
            double ll = arrayMinLow[i][3];
            
            if (hl == highLine || ol == highLine){                                      //вот тут не срабатывает

                  if( directionFlat == -1 || directionFlat == 0)
                        slew++;

                  directionFlat = 1;
            }else if  (cl == lowLine|| ll ==lowLine){
               
                  if( directionFlat == -1 || directionFlat == 1)
                        slew++;               
               
                  directionFlat = 0;
               
           }
                  
      
      }
      
      if(slew >=4 )
         return true;
         
      return false;   
      
      

}





Verwenden Sie die Schaltfläche SRC, um den Code einzufügen, nicht das Bild! Fragen Sie den Autor dieser Idee und des Videos um Rat!