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

 
AlexeyVik:

Nach meinem Verständnis ist PC-- > MA dasselbe wie PC-1 > MA


Aber warum funktioniert es nicht in einer Kombination wie dieser?

Aber auf dem Bild unten passt das alles zusammen.


if (PC-->MA && Ask == MA)
OrderSend("EURUSD",OP_BUY,1,Ask,3,Ask-30*Point, Ask+30*Point);
 
inuboh:

Ja, aber warum funktioniert es nicht in dieser Kombination?

Aber auf dem Bild unten passt alles zusammen.


Lesen Sie über den Vergleich realer Zahlen
 
inuboh:

Aber warum funktioniert es nicht in einer Kombination wie dieser?

Obwohl auf dem Bild unten alles passt


Dort läuft nichts zusammen. Es kommt oft vor, dass der Preis höher ist als der MA des vorherigen Ticks und der Preis bereits niedriger ist als der MA des aktuellen Ticks, aber die exakte Gleichheit kommt nicht vor, oder sie kommt so selten vor, dass niemand sie je gesehen hat. Vor allem ist sie auf den Zecken der Tester nicht zu sehen. Sie ist auf dem Diagramm nicht zu sehen. Und eine ganze Einheit vom doppelten Preis abzuziehen und sie dann mit МА zu vergleichen, als"PC--> MA" - das passt überhaupt nicht, ein solcher Vergleich wird niemals die Wahrheit erreichen.

 

Ich wünsche Ihnen allen einen guten Tag. Ein kleiner Ratschlag...

Ich schreibe gerade einen Indikator. Ich benötige einen separaten Indikator im oberen Fenster - frische Daten (Tickwerte) sollen rechts - wie der Preis - mit einem grünen Pfeil gezeichnet werden.

Ich bearbeite den Indikator aus dem Tutorial - meine frischen Daten (neue Tick-Werte) werden auf der linken Seite gezeichnet - roter Pfeil...

Helfen Sie mir, ihre Zeichnung zu ändern. Auf der rechten Seite, wie der Preis und wie auf dem oberen Indikator in einem separaten Fenster des Terminals zu sein. Ich danke Ihnen.

//--------------------------------------------------------------------
// separatewindow.mq4 
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
#property indicator_separate_window // Отображение в отдельном окне
#property indicator_buffers 1       // Количество буферов
#property  indicator_color1 Blue     // Цвет первой линии
#property  indicator_color2 Red      // Цвет второй линии
 
extern int History  =100;           // Колич.баров в расчётной истории
//extern int Aver_Bars=5;             // Количество баров для расчёта
 
double Buf_0[];                     // Объявление индикаторного массива
int Count=0;                        // Глобальная перемен.
//--------------------------------------------------------------------
int init()                          // Специальная функция init()
  {
   SetIndexBuffer(0,Buf_0);         // Назначение массива буферу
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии
   //--- установим индексацию для буфера как в таймсерии
   ArraySetAsSeries(Buf_0,true);

   return(0);                          // Выход из спец. ф-ии init()
  }
//--------------------------------------------------------------------
int start()                         // Специальная функция start()
  {
   int i,                           // Индекс бара
   n,                               // Формальный параметр
   Counted_bars;                    // Количество просчитанных баров 
   double
   Sum_H,                           // Сумма значений High за период
   Sum_L;                           // Сумма значений Low  за период
//--------------------------------------------------------------------
 /*  Counted_bars=IndicatorCounted(); // Количество просчитанных баров 
   i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
   if (i>History-1)                 // Если много баров то ..
      i=History-1;                  // ..рассчитывать заданное колич.
 while(i>=0)                      // Цикл по непосчитанным барам
     {
        Sum_H=0;                      // Обнуление в начале цикла
      Sum_L=0;                      // Обнуление в начале цикла
      for(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений 
        {
         Sum_H=Sum_H + High[n];     // Накопление суммы макс.значений
         Sum_L=Sum_L + Low[n];      // Накопление суммы мин. значений
        }
      Buf_0[i]=(Sum_H-Sum_L)/Aver_Bars;// Знач. 0 буфера на i-ом баре
     
     
      i--;                          // Расчёт индекса следующего бара
      */
      double Price = NormalizeDouble(MarketInfo(_Symbol,MODE_BID),Digits); 
      Buf_0[Count] = Price;
                          
   Count++;                                     // Счётчик тиков
   Comment ("Новый тик ",Count,"   Цена = ",Price);// Сообщение
     
    
//--------------------------------------------------------------------
   return(0);                          // Выход из спец. ф-ии start()
  }
 
Hallo! Ich bin neu hier. Kann mir bitte jemand sagen oder mir einen Link geben, wo ich lernen kann, wie ich die volle Funktionalität von mt4 nutzen kann
 

Hallo zusammen!

Frage:

ticket = OrderSend(blah, blah, blah, ......................)

Nach der Überprüfung der Tutorial, Dokumentation, Artikel und Forum habe ich gesehen, dassTicket-Variable - einige setzen es innerhalb der OnTick() Funktion

- Andere legen sie nach außen (und machen sie damit extern).d.h. vor (nach außen hin, sie haben eine Statistik erstellt)

- einige deklarieren es einfach ( int ticket; )

- andere weisen ihm den Wert 0 zu (was einer einfachen Erklärung gleichkommt)

- andere weisen -1 zu

Wenn dies von Bedeutung ist (außer in Einzelfällen), könnte es zu Fehlern führen, und wenn ja, wie wird es korrigiert? ? ?

Ich danke Ihnen!

 
evillive:

Da passt nichts. Es kommt oft vor, dass der Kurs im vorherigen Tick über dem MA liegt und in diesem Tick bereits unter dem MA, aber die exakte Gleichheit kommt nicht vor, oder sie kommt so selten vor, dass niemand sie je gesehen hat. Vor allem ist sie auf den Zecken der Tester nicht zu sehen. Sie ist auf dem Diagramm nicht zu sehen. Nun, ziehen Sie eine ganze Einheit vom Preis ab und vergleichen Sie ihn dann mit MA, als"PC-- > MA" - das funktioniert überhaupt nicht, ein solcher Vergleich wird niemals die Wahrheit ergeben.

Ich habe es verstanden, danke! Sagen Sie mir einfach etwas für die Zukunft: Wenn ich zum Beispiel eine Linie habe (kann es eine Bewegung sein), wie soll ich schreiben, dass, wenn der Briefkurs diese Linie erreicht, ein Kaufauftrag eröffnet wird? ))
 
pavlo555:
Hallo, ich bin neu hier. Kann mir bitte jemand sagen, oder geben Sie mir einen Link, wo ich lernen kann, wie man die volle Funktionalität von mt4 verwenden

 
inuboh:
Ich habe es verstanden, danke! Können Sie mir etwas für die Zukunft sagen: Wenn ich zum Beispiel eine Linie habe (kann es eine Bewegung sein), wie kann ich schreiben, dass eine Kauforder eröffnet wird, wenn der Ask-Kurs diese Linie erreicht? ))
Wenn Ask(1) unter dem MA liegt und Ask(0) größer oder gleich dem MA ist, d. h. wenn der Kurs unter dem MA liegt, können Sie kaufen. Aber in der nächsten Periode kann der Preis "seine Meinung ändern" und noch tiefer fallen, das ist normal, so ist der Markt.
 
Ich danke Ihnen!