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

 
Evgeniy Oshurkevich:

Grüße an alle! Ich habe ein Problem bei der Erstellung meines ersten Indikators. Ich habe bisher immer nur Expert Advisors erstellt. Ich habe nie gelernt, wie man ein Lehrbuch benutzt, aber jemand hat mir einen einfachen Expert Advisor geschickt und ich habe angefangen, darin herumzustochern, und dann wurde ich süchtig. Das war vor 5-7 Jahren. Jetzt wollte ich unbedingt einen Indikator erstellen. Auch hier habe ich mir das Tutorial und die Dokumentation angesehen. Ich bin da so dumm, als ob es nicht meine Sprache wäre.

Das Problem besteht darin, einen Indikator zu erstellen, der die maximale Anzahl von bullischen und bearischen Kerzen anzeigt. Sagen Sie mir wenigstens, wo ich anfangen soll. Oder geben Sie mir einen ähnlichen Indikator wie diesen.

https://www.mql5.com/ru/code/19416

https://www.mql5.com/ru/code/19418

Candle_row
Candle_row
  • Stimmen: 15
  • 2017.11.22
  • Vitaly Muzichenko
  • www.mql5.com
Индикатор отслеживает непрерывную последовательность баров одного направления и ставит на них метки. В индикаторе есть Alert для оповещения при последовательном направлении N-свечей. mCandle_row - только в главном окне. sCandle_row - с графиком в подокне. Входные параметры Font size arrow - размер шрифта; Bull arrow candle - цвет Bull...
 

OHHHHHHHHH! Ich danke Ihnen!!!

 

kann keine saubere (nicht vermittelte) MT4 finden, bitte geben Sie mir einen Link

 
PAzar:

Ich kann nicht finden, sauber (nicht Brokerage) MT4, bitte geben Sie mir den Link

Forum für Handel, automatisierte Handelssysteme und Strategietests

Neue Version von MetaTrader 4 build 1090

Alexey Viktorov, 2017.07.17 08:51

Senden Sie ihm zwei Dateien aus Ihrem mt4

1. terminal.exe

2. metaeditor.exe

Weitere Aktionen

1. Erstellen Sie ein Verzeichnis am gewünschten Ort auf dem gewünschten Laufwerk.

2. Legen Sie diese 2 Dateien dort ab.

3. Erstellen Sie eine Verknüpfung zu terminal.exe mit dem Schalter /portable, falls gewünscht.

4. Führen Sie das Terminal mit der erstellten Verknüpfung aus und geben Sie das Feld ein. Alle erforderlichen Dateien und Ordner werden erstellt und alle EAs, Indikatoren und Skripte werden geladen.

5. Melden Sie sich bei Ihrem Konto an oder registrieren Sie ein neues Demokonto.

ALLE...


Oder in dieser Nachricht.
Помогите!!! MT4 при установке требует прокси сервер
Помогите!!! MT4 при установке требует прокси сервер
  • 2018.05.31
  • www.mql5.com
Помогите узнать решение этой вечной долбанной проблемы о которой уже писано переписано, но ни одного реально внятного ответа я так нигде и не нашел...
 
Guten Tag, bitte helfen Sie mir, eine Funktion mit der Auswahl des Symbols "öffne nicht mehr als zwei Signale auf einer m5 Kerze" zu schreiben.
 
Alexey Viktorov:

Zweite Möglichkeit.

Ich danke Ihnen.

Taras Slobodyanik:

Wenn Sie abrunden, müssen Sie +1 machen, damit die Berechnung korrekt ist.

Ich danke Ihnen.

Ziel: keine Zecke, Alarm. Kein Alarm, was ist los?

#property strict
//--- input parameters
input int s_clo=2;
input int Period_=13,
Shift_=0;
input     ENUM_MA_METHOD Method_MA_=MODE_SMA;
input ENUM_APPLIED_PRICE Apply_to_=PRICE_CLOSE;
double ma_fast;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- create timer
   EventSetTimer(60);

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//--- destroy timer
   EventKillTimer();

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
ma_fast=0;
   if(SecondsToCandleClose(Symbol(),0)<=s_clo){ ma_fast=ma(Period_,Shift_,Method_MA_,Apply_to_,0); Alert("a",ma_fast);}
   Comment("ma_fast ",ma_fast);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
long SecondsToCandleClose(const string symbol_name,const ENUM_TIMEFRAMES timeframe)
  {
   datetime array[];
   return(CopyTime(symbol_name,timeframe,0,1,array)==1 ? PeriodSeconds(timeframe)+array[0]-TimeCurrent() : 0);
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   RefreshRates();
   OnTick();
  }
//+------------------------------------------------------------------+
double ma(int period,int ma_shift,ENUM_MA_METHOD ma_method,ENUM_APPLIED_PRICE ap_price,int shift)
  {
   return(ND(iMA(NULL,(int)0,period,ma_shift,ma_method,ap_price,shift)));
  }
  //
  double ND(double A)
  {
   return(NormalizeDouble(A,Digits));
  }
  //
 
PolarSeaman:

Ich danke Ihnen.

Ich danke Ihnen.

Kein Häkchen, kein Alarm. Kein Alarm, was ist los?

//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   RefreshRates();
   OnTick();
  }

Was hat das alles für einen Sinn? Welchen Zweck erfüllt der Timer mit OnTick(), der bereits bei jedem neuen Tick ausgeführt wird? Warum sollte es die Daten ständig unnötig aktualisieren? Sie werden mit jeder neuen Zecke aktualisiert. Und ihre erzwungene Aktualisierung ist für lange Berechnungen erforderlich - dann können die Ticks übersprungen werden. Und die Daten sollten nur kurz vor der Ausführung von Operationen aktualisiert werden, wenn sie benötigt werden, und nicht unüberlegt im Zeitablauf.

 
Artyom Trishkin:

Wozu ist das alles gut? Welchen Zweck hat der Timer, der OnTick() auslöst, das bereits bei jedem neuen Tick ausgelöst wird?

Ohne Tick brauche ich also einen Alarm zwei Sekunden vor dem Schließen des Balkens.

https://www.mql5.com/ru/forum/213937#comment_5633888
Как работать в режиме OnTimer() ?
Как работать в режиме OnTimer() ?
  • 2017.08.20
  • www.mql5.com
Здравствуйте, уважаемые! Как правильно запустить советник с функцией OnTimer...
 
PolarSeaman:

Ich brauche also eine Warnung zwei Sekunden bevor der Balken ohne Tick schließt.

https://www.mql5.com/ru/forum/213937#comment_5633888

Und? Warum sollte ich OnTick() in einem Timer ausführen wollen? Und warum sollte ich dort eine Datenaktualisierung vornehmen?

 
Artyom Trishkin:

Warum sollten Sie die Daten dort aktualisieren?

Ich bin nicht selbst darauf gekommen"Stellen Sie einfach sicher, dass Sie die Daten in OnTimer() aktualisieren, damit Ihr Code funktioniert. "

Inwiefern ist das notwendig?

Grund der Beschwerde: