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

 
MakarFX:
Falsch, es braucht die Zeit der vorherigen Kerze

Nun, man kann auch die Nullkerze telepathieren :), denn es ist die letzte Kerze, nicht die vorherige.

Wenn wir eine psychische Analyse durchführen, können wir annehmen, dass wir nach dem Wert innerhalb einer Stundenkerze suchen, was uns zu meinem vorherigen Beitrag über iLowest und iHighest zurückbringt.

 
ANDREY:

Ich danke Ihnen.

PapaYozh hatte Recht, denn je nach Zustand

if (Bid - iLow( NULL ,PERIOD_H1,1)>=0.0030)

Sie suchen nicht nach einem Tiefstand, sondern nach einem Pullback von einem Tiefstand.

 
PapaYozh:

Ja, ich habe nicht aufgepasst.

Ich habe nicht aufgepasst...

 
Vladislav Andruschenko:


es einfach lassen?


Nun gerade überprüft. es ist nicht in mt5 ausgeführt. bauen flatt 2940

Oder haben Sie OnCalculate entfernt?



aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :-) ein Skript erstellt und in den Indikatorenordner gelegt

Einzigartig.

Sie haben das Skript einfach in den Indikatorenordner gesteckt und das Terminal hat es verschlungen.

Ja, das ist der Trick/das Problem... Zuerst verwirrte er die Ordner, dann hielt er es für eine Besonderheit... Eine gute Funktion ist die einmalige Ausführung nach oninit.

 
Valeriy Yastremskiy:

Ja, das ist der Trick/das Problem... Zuerst habe ich die Ordner verwechselt, dann habe ich es als eine Funktion angesehen... Eine gute Funktion ist die einmalige Ausführung nach oninit.

Es handelt sich also nur um ein Skript, das im Chart-Thread ausgeführt wird.

 

Makar, Sie haben einen Link zu einem Indikator mit einer Antwort auf meine Frage angegeben. Nichts funktioniert (ich habe es aus dem Bauch heraus gemacht, ich habe nicht den Verstand dafür. Ich brauche Ihre Hilfe!

https://www.mql5.com/ru/forum/160683/page1465#comment_22167585

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2021.05.03
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
ifitstrue:

Makar, Sie haben einen Link zu einem Indikator mit einer Antwort auf meine Frage angegeben. Nichts funktioniert (ich habe es aus dem Bauch heraus gemacht, ich habe nicht den Verstand dafür. Ich brauche Ihre Hilfe!

https://www.mql5.com/ru/forum/160683/page1465#comment_22167585

//+------------------------------------------------------------------+
//|                                                   MTF_Moving.mq4 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                             https://www.mql5.com/ru/users/melnik |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com/ru/users/melnik"
#property version   "1.00"
#property strict
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_width1 2
#property indicator_width2 2
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_type1 DRAW_LINE
#property indicator_type2 DRAW_LINE

double ma_buffer_high[];
double ma_buffer_low[];

//--- input parameters
input int                     PeriodMaHigh   =1;            //Period High Ma
input int                     PeriodMaLow    =1;            //Period Low Ma
input ENUM_APPLIED_PRICE      PriceMaH       =PRICE_HIGH;   //Applied price
input ENUM_APPLIED_PRICE      PriceMaL       =PRICE_LOW;    //Applied price
input ENUM_MA_METHOD          MethodMa       =MODE_SMA;     //Method Ma
input ENUM_TIMEFRAMES         Timeframe      =PERIOD_D1;    //Timeframe for calculate

ENUM_TIMEFRAMES prd;

int index=-1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0, ma_buffer_high, INDICATOR_DATA);
   SetIndexBuffer(1, ma_buffer_low, INDICATOR_DATA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   if((rates_total-prev_calculated-PeriodMaHigh)<=0)return(0);
  
   if(Period()>Timeframe) prd=PERIOD_CURRENT;
   if(Period()<=Timeframe) prd=prd=Timeframe;
  
   for(int i=rates_total-prev_calculated-PeriodMaHigh-1;i>=0;i--)
   {
      if(TimeMinute(time[i])==0)index=iBarShift(Symbol(), prd, time[i], false);
      
      ma_buffer_high[i]=iMA(Symbol(), prd, PeriodMaHigh, 0, MethodMa, PriceMaH, index+1);
      ma_buffer_low[i] =iMA(Symbol(), prd, PeriodMaLow, 0, MethodMa, PriceMaL, index+1);
   }
  
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
MakarFX:

Ich habe versucht, ein solches Bild zu machen.

Dateien:
2.png  31 kb
 

Das sieht dann so aus.

Dateien:
3.png  26 kb
 
ifitstrue:

Das geht so.

Wenn Sie sich für den Vortag interessieren, sehen Sie sich den vorherigen Beitrag an,

und wenn es der aktuelle Tag ist, korrigieren Sie ihn.

      ma_buffer_high[i]=iMA(Symbol(), prd, PeriodMaHigh, 0, MethodMa, PriceMaH, index);
      ma_buffer_low[i] =iMA(Symbol(), prd, PeriodMaLow, 0, MethodMa, PriceMaL, index);
Grund der Beschwerde: