Der Indikator des Sultonow-Systems - Seite 25

 
Maxim Kuznetsov:

Händler arbeiten mit Excel. Es ist wie "Lackmuspapier". Wenn er sich nicht mit Tabellenkalkulationen auskennt, was zum Teufel ist er dann für ein Händler? Wie berechnet er Budgets und Geld?

Und wenn der Programmierer nicht in der Lage ist, eine Exceltabelle in ein MQL-Programm zu übersetzen, sollte er trotzdem üben :-)

Yusuf versucht, seine Argumente darzulegen (mit denen ich grundsätzlich nicht einverstanden bin), aber Sie tun etwas noch Schlimmeres - anstatt grundlegende Hilfe zu leisten, zwingen Sie ihn, unnötige Dinge zu lernen. Und gleichzeitig weiß jeder, dass er nicht mit der Programmierung beginnen und seine Formeln nicht auf mql übertragen wird. Man macht sich nur lustig und nimmt einem Menschen Monate oder sogar Jahre weg.

Hm, ja, ich kann mir nicht vorstellen, wie man direkt in eine Exceltabelle schreiben kann - da sitze ich selbst und entwirre das Gewirr - die Tabellen sind sehr kompliziert miteinander verwoben - also wird es Zeit kosten, das herauszufinden, und die Arbeit sollte auch nach TOR bewertet werden.

Außerdem habe ich, wiederum aus meiner Erfahrung, beim Umschreiben des Algorithmus in Excel logische Fehler gefunden, weil ich zusätzlich darüber nachgedacht habe, was ich schreibe - es ist oft bequem, in Excel zu fantasieren.

Außerdem empfehle ich, die Datei selbst anzuhängen.

Daher halte ich Ihre Argumente über den Zwang zum Lernen für unbegründet und unbelegt.

Wenn Sie dazu in der Lage sind, warum helfen Sie der Person nicht, indem Sie den TOR aus der Ferne telepathisch aus seinem Kopf lesen?

 

Ich bin es leid, Rätsel zu lösen. Machen Sie wie ich einen Screenshot auf der ersten Seite mit Erklärungen https://www.mql5.com/ru/forum/305148. Um die Informationen besser verdaulich zu machen, machen Sie die Berechnung auf einer flachen Geschichte, je weniger, desto besser (es wird viel leichter sein, Sie zu verstehen). Wenn Sie Hilfe brauchen, komprimieren Sie Ihre Textrollen, denn niemand wird einen großen Text lesen, geschweige denn verstehen.

Расчет коэффициентов
Расчет коэффициентов
  • 2019.02.28
  • www.mql5.com
Нужно погонать коэффициенты к 1-7 следующим образом: A1*k1+B1*k2=I1 A2*k1+B2*k2=I2 A3*k1+B3*k2+C3*k3=I3 A4*k1+B4*k2+C4*k3+D4*k4=I4 и так далее...
 

Die ersten Werte der verschobenen Reihe lauten wie folgt:

1.1376 1.1377 1.1375 1.1361 1.1358

wie Sie es haben:

x1 x2 x3 x4 y

1.1376 1.1376 1.1377 1.1375 1.1361

Also sind x1 und x2 die gleiche Zeile? Was ist mit CD5 passiert, das bei1,1358 beginnt?
 
Yousufkhodja Sultonov:

Korrigiert

Machen Sie einen Screenshot von der gesamten berechneten Tabelle.

 
forexman77:

Machen Sie einen Screenshot von der gesamten berechneten Tabelle.

Vorzugsweise eine Zip-Datei der Excel-Datei und stellen Sie Fragen dazu. Sonst wird das ewig so weitergehen. Am Ende wirst du Yusuf foltern. Nun, das kann er nicht.
 
Yuriy Asaulenko:
Sie sollten die Exceldatei zippen und Fragen dazu stellen. Sonst wird das ewig so weitergehen. Am Ende wirst du Yusuf foltern. Nun, das kann er nicht.

Gut überredet, posten Sie selbst einen Screenshot, tragen Sie zur Entwicklung bei. Ich werde morgen einen Blick darauf werfen.

Die Antwort, die Sie erhalten, ist die gleiche wie eine Begrüßung. Wenn Sie keine klaren Informationen haben, werden Sie keine Ergebnisse erzielen.

 
forexman77:

Machen Sie einen Screenshot von der gesamten berechneten Tabelle.

Keine Sorge, das Programm ist jetzt vollständig repariert.

 
Yuriy Asaulenko:
Es ist besser, die Excel-Datei zu zippen und Fragen dazu zu stellen. Sonst wird das ewig so weitergehen. Am Ende wirst du Yusuf foltern. Nun, das kann er nicht.

Yuri, verfolgen Sie die Nachrichten auch online?

 
Yousufkhodja Sultonov:

Yuri, verfolgen Sie die Nachrichten auch online?

Ja, sporadisch, aber ich bin immer noch davon überzeugt, dass es sich um eine Attrappe handelt, und dass die Ausbrüche im Nichts die Instabilität des Systems selbst sind.
 
Yousufkhodja Sultonov:

Hier ist also der Dummy-Indikator.

Dieser Dummy ist zum Beispiel ein einfacher MA-Indikator, der jedoch mit einigen Vereinfachungen auf Ihren Fall zugeschnitten ist, die zwar nicht optimal in Bezug auf die Leistung sind, aber weniger stressig für das Lernen.

Um Ihren Indikator zu erstellen, schreiben Sie einfach den Berechnungscode in den Funktionskörper

void Soltonov(int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos

zur Zeit gibt es eine Berechnung von MA mit Periode 13 in Form von 3 Zeilen.

Warum habe ich standardmäßig 13 genommen? Denn Sie haben selbst gesagt, dass Sie derzeit 13 Preiswerte für die Berechnung verwenden.

Diese 13 Werte befinden sich in einer Matrix X (X[0] bis X[12])

Sie führen einfach die Berechnung dieser 13 Werte im Hauptteil dieser Funktion durch und schreiben den Wert in den Indikatorpuffer SoltonovBuffer[pos]. Der gesamte Indikator wird automatisch gebildet.

//+------------------------------------------------------------------+
//|                                                     Soltunov.mq5 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com/ru/users/yosuf"
#property version   "1.00"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1
//--- plot Soltonov
#property indicator_label1  "Soltonov"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrMagenta
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

//--- indicator buffers
double         SoltonovBuffer[]; // это буфер линии индикатора
double         X[];              // это вспомогательный массив для значений цены
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,SoltonovBuffer,INDICATOR_DATA);  
   ArrayResize(X,13);                      // задаем размер динамического массива X - 13
   ArraySetAsSeries(X,true);               // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArraySetAsSeries(SoltonovBuffer,true);  // для удобства обучения устанавливаем индексацию массива как в таймсерии
   ArrayInitialize(SoltonovBuffer,EMPTY_VALUE); // инициализируем буфер индикатора пустыми значениями

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
  {
   int N=rates_total-prev_calculated;
   if(N>1 && rates_total>12) // если осуществляем первый вход или была задержка больше времени одного бара, выполняем инициализацию всех баров
     {
      for(int i=rates_total-1; i>11; i--)
        {
         ArrayCopy(X,price,0,i-12,13);
         Soltonov(rates_total-1-i);
        }
      ArrayCopy(X,price,0,rates_total-13,13);
      return(rates_total);
     }
   else if(N==1) ArrayCopy(X,price,0,rates_total-13,13);     // если новый бар
   else  X[0]=price[rates_total-1];                          // если новый тик без образования нового бара
   Soltonov(0);
   return(rates_total);
  }
//+------------------------------------------------------------------+
// Писать код в этой функции!
//+------------------------------------------------------------------+
void Soltonov(int pos) // основной расчет индикатора бара pos. В массиве X, размерностью 13 находятся значение цены 13 бар, начиная от позиции pos
                       // X[0]- значение цены бара с номером pos
                       // X[1]- значение цены бара с номером pos+1
                       // ....
                       // X[12]- значение цены бара с номером pos+12
  {
   double Sum=0;                         // создаем переменную для подсчета суммы баров
   for(int i=0;i<13;i++) Sum = Sum+X[i]; // суммируем 13 баров
   SoltonovBuffer[pos]=Sum/13;           // помещаем в значение индикаторного буфера среднее арифметическое 13 цен
  }
//+------------------------------------------------------------------+

Im MT5 drücken Sie F4 und gelangen zu ME (MetaEditor). Hier erstellen Sie einen benutzerdefinierten Indikator (Strg+N), geben Sie bei der Erstellung einen Namen an, z. B."Soltunov" (meiner ist der Standardname). Wenn der Code generiert wird, ersetzen Sie den gesamten Code durch meinen Dummy.

Und fangen Sie an, die Programmierung zu beherrschen.

Ich empfehle, die maximale Anzahl der Balken im Fenster in den MT5-Einstellungen auf nicht sehr groß einzustellen (5000 sind völlig ausreichend).

Sie brauchen keine Bücher zu lesen, um die Sprache MQL5 zu beherrschen. Es genügt, die Hilfe zu benutzen, indem Sie die Taste F1 drücken und zuerst auf die gewünschte Funktion oder das gewünschte Wort klicken. Verwenden Sie auch die Suchfunktion in der Hilfe.

sehen Sie das animierte Gif (klicken Sie auf das Bild):


Ich empfehle auch dringend, den in ME eingebauten Debugger mit Unterbrechungspunkteinstellungen sofort zu beherrschen, um durch das Programm zu schreiten und Variablenänderungen zu beobachten.

Siehe auch das animierte Gif.


Viel Glück, Yusuf!
Wenn Sie Fragen haben oder die Faustformel nicht hilfreich ist, zögern Sie nicht zu fragen.

Ich denke, die ganze Welt wird Ihnen helfen.

Dateien:
Soltonov.mq5  8 kb
Grund der Beschwerde: