Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1172

 
Hallo zusammen, hat jemand eine .exe-Datei für Metatrader 4? Genau von den Entwicklern, nicht mit einem dc verbunden
 
a.lxrn:
Hallo zusammen, hat jemand eine .exe-Datei für Metatrader 4? Genau von den Entwicklern, nicht gebunden an irgendeine dc

die Datei nicht gebunden ist, nehmen Sie metatrader.exe und metaeditorium.exe aus einem beliebigen dtz und führen Sie sie in einem separaten Ordner aus und richten Sie das Konto ein. Auf der Website gibt es kein 4ka-Installationsprogramm. Aber wozu dient es?

 
Igor Makanu:

Legen Sie einen Fraktal-Indikator und einen Test-Expert Advisor mit dieser Funktion in einem Diagramm ab

und die gefundenen Werte an meine FunktionenMODE_UPPER und MODE_LOWER weitergeben

Sie müssen sich die Uhrzeit des Balkens merken, beim Erscheinen eines neuen Balkens ändert sich die Nummerierung, und die Öffnungszeit des Balkens ist immer konstant

D.h., wenn Sie meinen Code ausführen, merken Sie sich die Zeit des Balkens, in dem das Fraktal entdeckt wurde, führen Sie ihn dann erneut aus, suchen Sie den Balken und vergleichen Sie die Zeit des Balkens mit der gespeicherten - ist die Zeit anders, bedeutet das ein neues Fraktal

Ich habe es so gemacht:

if((Hour()>=9 && Minute()==15) && Hour()<23)
   {
    Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);;Alert("secondtime1 = ",secondtime1);
      secondprice1=iHigh(NULL,0,barfrup_1);Alert("secondprice1 = ",secondprice1);
      firsttime1=iTime(NULL,0,barfrup_2);Alert("firsttime1 = ",firsttime1);
      firstprice1=iHigh(NULL,0,barfrup_2);Alert("firstprice1 = ",firstprice1);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }}}

Zeichnet eine Linie. Wenn ich hinzufüge:

if(barfrup_1>3)  ObjectsDeleteAll();

Es löscht diese Zeile und das war's. Was ist los?

 
novichok2018:

Ich habe es so gemacht:

Zeichnet eine Linie. Wenn ich hinzufüge:

wird diese Linie gelöscht und das war's. Was ist los?

In einem Ihrer früheren Beiträge haben Sie sich darüber beschwert, dass Ihnen nicht geantwortet wurde. Erinnern Sie sich bitte daran, wie oft Ihnen gesagt wurde, dass Sie die Dokumentation lesen sollen und elementare Fragen von selbst verschwinden werden. Diese Frage ist wieder aus der Reihe "Rauchen Sie die Dokumentation", rauchen Sie vorsichtig, ohne ein Wort oder gar einen Satz auszulassen.

Glauben Sie, dass Sie einen vollständigen Namensvetter haben? Vervollständigen Sie also, dass Ihr Jahr und Ihr Geburtstag übereinstimmen, ganz zu schweigen von Ihrem Familiennamen, Vornamen und Vatersnamen.

ObjectCreate - Графические объекты - Справочник MQL4
ObjectCreate - Графические объекты - Справочник MQL4
  • docs.mql4.com
[in]  Индекс окна, в которое будет добавлен объект. Окно должно существовать (индекс окна должен быть большим или равным 0 и меньшим, чем WindowsTotal()), иначе функция возвратит false. При использовании функции на собственном графике осуществляется прямой доступ к графику (как это всегда было в MQL4) и возврат true означает успешное создание...
 
novichok2018:

Ich habe es so gemacht:

Zeichnet eine Linie. Wenn ich hinzufüge:

wird diese Linie gelöscht und das war's. Was ist los?

Lesen Sie meinen ersten Beitrag: Wer wird der Linie einen anderen Namen geben oder die Linie verlegen?

skizziert, schnell, es zeichnet etwas, das ich nicht verstehe, versuchen Sie, diesen Code zu verwenden, um Ihre Arbeit zu tun

//+------------------------------------------------------------------+
//|                                                 FractalTrend.mq4 |
//|                                                            IgorM |
//|                              https://www.mql5.com/ru/users/igorm |
//+------------------------------------------------------------------+
#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#include <ChartObjects\ChartObjectsLines.mqh>
CChartObjectTrend *UPLine, *DNLine;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
   delete UPLine;
   delete DNLine;
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   static datetime bar1 = 0;
   if(bar1 != Time[1])
   {
      delete UPLine;
      delete DNLine;
      int last_fractal = GetLastFractals(0, MODE_UPPER);
      int prev_fractal = GetLastFractals(last_fractal + 1, MODE_UPPER);
      UPLine = DrawTrendLine(MODE_UPPER, "UPLineFractal", prev_fractal, last_fractal, clrRed);
  
      last_fractal = GetLastFractals(0, MODE_LOWER);
      prev_fractal = GetLastFractals(last_fractal + 1, MODE_LOWER);
      DNLine = DrawTrendLine(MODE_LOWER, "DNLineFractal", prev_fractal, last_fractal, clrYellowGreen);
      bar1 = Time[1];
   }

}
//_______________________________________________________________________
CChartObjectTrend* DrawTrendLine(const int MODE, const string obj_name, const int bar2, const int bar1, const color clr)
{
   CChartObjectTrend *obj = new CChartObjectTrend;
   obj.Create(0, obj_name, 0, Time[bar2], MODE == MODE_UPPER ? High[bar2] : Low[bar2], Time[bar1], MODE == MODE_UPPER ? High[bar1] : Low[bar1]);
   obj.Color(clr);
   return obj;
}
//_______________________________________________________________________
int GetLastFractals(int bar, int mode) // bar - с какого бара начинать поиск, mode = MODE_UPPER или MODE_LOWER , результат № бара где найден фрактал
{
   int i = bar;
   while(i < Bars && iFractals(NULL, 0, mode, i) < _Point) i++;
   return(i);
}
//_______________________________________________________________________
 
Alexey Viktorov:

In einem Ihrer früheren Beiträge haben Sie sich darüber beschwert, dass Sie keine Antwort erhalten haben. Bitte denken Sie daran, wie oft Sie aufgefordert wurden, die Unterlagen zu lesen, und elementare Fragen werden von selbst verschwinden. Diese Frage ist wieder aus der Reihe "Rauchen Sie die Dokumentation", rauchen Sie vorsichtig, ohne Wörter und vor allem ohne Sätze auszulassen.

Glauben Sie, dass Sie einen vollständigen Namensvetter haben? So voll, dass Ihr Jahr und Ihr Geburtstag gleich sind, ganz zu schweigen von Ihrem Familiennamen, Vornamen und Vatersnamen.

Ja, ich habe schon lange aus Ihren ersten "Ratschlägen" auf meine Fragen verstanden, dass Sie der härteste Kerl hier sind, und dass es für Sie "unangebracht" ist, zu erklären, was Ihnen elementar erscheint. Aber du kannst einfach nicht anders, als deinen Schwanz aufzupolstern. Wo sonst als im Thread für Neuankömmlinge!

 
Igor Makanu:

Lesen Sie meinen ersten Beitrag: Wer wird der Linie einen anderen Namen geben oder die Linie verschieben?

skizziert, hastig, etwas zeichnet, nicht verstanden, versuchen Sie diesen Code für Ihre Aufgabe zu tun

Ich danke Ihnen! Ich werde weiter graben.

 
novichok2018:

Seit Ihren ersten "Ratschlägen" auf meine Fragen habe ich längst begriffen, dass Sie hier der härteste Typ sind und dass es für Sie "unangebracht" ist, sich dazu herabzulassen, zu erklären, was Ihnen elementar erscheint. Aber du kannst einfach nicht anders, als deinen Schwanz aufzupolstern. Wo sonst als in einem Thread für Neueinsteiger!

Sie können doch nicht so ignorant sein, dass selbst diese Worte

Eindeutiger Objektname.

in der Dokumentation nicht sehen oder verstehen können. Das ist genau das, was ich versucht habe, Ihnen zu sagen. Aber offenbar ohne Erfolg. Nächstes Mal werde ich mein Bestes geben, um alles, was ich über dich denke, im Flüsterton zu sagen. Manche Neulinge bleiben für immer Neulinge. Das muss Ihr Schicksal sein. Saw, Shura, saw...

 

Meine Herren Kameraden@novichok2018 und@Alexey Viktorov, werden Sie nicht zu emotional! Sie sind einem konstruktiven Dialog abträglich! ....

)))))))))))

 
Igor Makanu:

Lesen Sie meinen ersten Beitrag: Wer wird der Linie einen anderen Namen geben oder die Linie verlegen?

skizziert, schnell, etwas zeichnet, nicht verstanden, versuchen Sie diesen Code, um Ihre Aufgabe zu tun

Das ist geschehen:

Fun_New_Bar();
    if(New_Bar)      
     {
     barfrup_1 = GetLastFractals(1,MODE_UPPER);Alert("barfrup_1 = ",barfrup_1);
     barfrup_2 = GetLastFractals(barfrup_1+1,MODE_UPPER);Alert("barfrup_2 = ",barfrup_2);
     if(barfrup_1==3)
     {
      secondtime1=iTime(NULL,0,barfrup_1);
      secondprice1=iHigh(NULL,0,barfrup_1);
      firsttime1=iTime(NULL,0,barfrup_2);
      firstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,firsttime1,firstprice1,secondtime1,secondprice1);
     }
      if(barfrup_1>3)  ObjectsDeleteAll();
      if(TimeCurrent()>secondtime1)
      {
      datetime Nsecondtime1=iTime(NULL,0,barfrup_1);
      double  Nsecondprice1=iHigh(NULL,0,barfrup_1);
      datetime Nfirsttime1=iTime(NULL,0,barfrup_2);
      double  Nfirstprice1=iHigh(NULL,0,barfrup_2);
      //рисуем новую трендовую линию High
      ObjectCreate("HighLine",OBJ_TREND,0,Nfirsttime1,Nfirstprice1,Nsecondtime1,Nsecondprice1);
      }
      }
 

Meiner Meinung nach ist es einfacher. In der Historie funktioniert es gut. Ich werde mich online über die Demo informieren, ich denke, sie wird auch funktionieren. Funktioniert das auch in der Praxis, wie Ihre Erfahrung zeigt?