[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 484

 
Hallo!
//+------------------------------------------------------------------+
//|                                               Indicator_MACD.mq4 |
//|                                                                  |
//|                                                                  |
//+------------------------------------------------------------------+
// Modify Vinin
#property copyright ""
#property link      ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int       Fast_EMA=13;
extern int       Slow_EMA=21;
extern double    N = 0.001221;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double MACD[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(3);
   SetIndexStyle(0,DRAW_ARROW, EMPTY, 3);
   SetIndexArrow(0,233);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW, EMPTY, 3);
   SetIndexArrow(1,234);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
   SetIndexBuffer(2,MACD);
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   int limit = Bars-counted_bars-1;
   
   for(int i = limit; i>= 0; i--) {
      ExtMapBuffer2[i] = EMPTY;
      ExtMapBuffer1[i] = EMPTY;
      MACD[i]=iMACD(NULL,0,Fast_EMA,Slow_EMA,1,1,MODE_MAIN, i);
      if (((MACD[i]-N)*(MACD[i+1]-N)<0) || ((MACD[i]+N)*(MACD[i+1]+N)<0))
      {
       if( MACD[i] <-N) ExtMapBuffer2[i] = High[i]+iATR(Symbol(), 0, 14, i);
       if( MACD[i] > N) ExtMapBuffer1[i] = Low[i] -iATR(Symbol(), 0, 14, i); 
      }
   }
   return(0);
}
//+------------------------------------------------------------------+
Hier ist der Code des Indikators (gezwickt und geändert mit VIN - vielen Dank).
Alles gut, scheint Sinn zu machen....... Ich wollte es ein bisschen umgestalten. ABER. Die Idee ist MACD an der Unterseite beginnt zu wachsen (ALLE seine Werte sind weniger als der Wert N) hier und setzen Sie den Pfeil BAY,
für SHEL vice versa. Ich habe versucht, die Handelsbedingungen zu ändern (die Änderung der Werte von < auf > hat nicht funktioniert). Wenn der MACD zu wachsen beginnt (er ist negativ), fällt der Zeitpunkt des Erscheinens des Pfeils mit einer Handelsbedingung zusammen. Scheint richtig zu sein...... ABER die Pfeile sind zu viel erschienen...........
Bitte sagen Sie mir!!!!!!!!!!!!!!
 
Swetten >>:
Есть МАКД с параметрами 9 и 12.

Верно ли, что он показывает разницу между МА с периодами 9 и 12? А то у меня какой-то разбег в цифрах.

Überprüfung der Übereinstimmung von ma_method, applied_price in MA und MAKD.

 
Bitte um Rat!
Alle MACD-Werte sind in einem eindimensionalen Array MACD[] enthalten, ich möchte sie in Stapeln (alle 10 Elemente) auf Maxima und Minima prüfen und sie im Indikator zeichnen.
Hier ist der Code:
for(i=0; i<limit; i=i+10)
       {
         int k = i;
         for(k=i; k<i+10; k++)
             {       
              x10[k] = MACD[k];  
             }
         int maxValueIdx=ArrayMaximum(x10);
         int minValueIdx=ArrayMinimum(x10);    
         MAX[k] = maxValueIdx;
         MIN[k] = minValueIdx;
       }
Warum ist sie nicht gezeichnet?
 
Noterday писал(а) >>
Bitte um Rat!
Alle MACD-Werte sind in einem eindimensionalen Array MACD[] enthalten, ich möchte sie in Stapeln (alle 10 Elemente) für Hochs und Tiefs zu überprüfen, und zeichnen Sie sie in den Indikator.
Hier ist der Code:
Warum ist sie nicht gezeichnet?


Wie groß ist das Feld x10?

10?
Dann sollten Sie es so umschreiben:

for(i=0; i<limit; i+=10)
       {
         int k;
         for(k=0; k<10; k++)
             {       
              x10[k] = MACD[i+k];  
             }
         int maxValueIdx=ArrayMaximum(x10);
         int minValueIdx=ArrayMinimum(x10);    
         MAX[i] = maxValueIdx;
         MIN[i] = minValueIdx;
       }
und es ist nicht klar, was genau Sie in den MAX- und MIN-Arrays wollen
 
Die Situation ist wie folgt, ich eröffne einen Auftrag mit orderSend, 1 lot, ich schließe ihn mit orderClose, 0.5 lot.... Wie bringe ich einen neuen Auftrag mit einem anderen Ticker dazu, den neu eröffneten Auftrag zu übernehmen?
 
Xors писал(а) >>
Die Situation ist wie folgt, ich eröffne einen Auftrag mit orderSend, 1 lot, ich schließe ihn mit orderClose, 0.5 lot.... Die Hälfte davon wird geschlossen und ein neuer Auftrag mit einem anderen Ticket eröffnet. Wie kann ich das Ticket des neu eröffneten Auftrags schnell abholen?


auf keinen Fall.
Die einzige Möglichkeit besteht darin, eine Brute-Force-Methode unter den offenen und schwebenden Aufträgen durchzuführen.

 
baltik писал(а) >>

lots=UseLots();
if (Lose==0) return(0);
i=OrderSend(Symbol(),OP_BUY,UseLots(),NormalizeDouble(Ask, Digits),Slippage,Ask-StopLoss*Point,Ask+TakeProfit*Point,EA,magic,0,Blue);

lots=UseLots();
if (Lose==0) return(0);
i=OrderSend(Symbol(),OP_SELL,UseLots(),NormalizeDouble(Bid, Digits),Slippage,Bid+StopLoss*Point,Bid-TakeProfit*Point,EA,magic,0,Red);

Fehler 4107 bei 1 von 10 Aufträgen oder bei 3 von 25 unterschiedlich im Tester


Und wie hoch ist der gemeldete Schlupfwert und wie lautet die Angabe mit 5 oder 4 Dezimalstellen.
 
granit77 >>:

Проверьте соответствие ma_method, applied_price в МА и МАКД.

Schon jetzt. Für MA waren es 120 statt 12. Ich war erstaunt! :)

 
Wie erfahre ich die Währung meiner Bestellung?(Für Futures)
 
Noterday писал(а) >>
Bitte um Rat!
Alle MACD-Werte sind in einem eindimensionalen Array MACD[] enthalten, ich möchte sie in Stapeln (alle 10 Elemente) für Hochs und Tiefs zu überprüfen, und zeichnen Sie sie in den Indikator.
Hier ist der Code:
Warum ist sie nicht gezeichnet?
ArrayResize(MAX,Bars);
ArrayResize(MIN,Bars);
int k=1;
for(i=0; i<limit; i++)
       {
        MACD[i]= trali vali;
         if(i==10*k){k++;
          for(int r=0; r<10; r++)
          MAX[r]=MACD[ArrayMaximum(MACD,10,i-10)];
         
          for(int r=0; r<10; r++)
          MIN[r]=MACD[ArrayMinimum(MACD,10,i-10)];
         }
       }
Aber ich muss mir einen Bezugspunkt suchen!