HELP !!!! einen Indikator von MT4 zu MT5 konvertieren. - Seite 3

 
10937:
Oh, Sie wollen ein Delta (Differenz) sehen und damit erraten, in welche Richtung sich der Preis mehr neigt )))))
Nun, das ist der erste Gedanke, der einem Mann in den Sinn kommt, wenn er es erwähnt
 

Ich versuche, MT5 zu testen.

In MT4 verwende ich IchimokuAlert_v3 Indikator

Ich habe es von hier übernommenhttps://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797

Möge jemand mit guten Kenntnissen es für MT5 konvertieren.

Ich habe versucht, es mit der Methodik von hier zu konvertieren http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html

Kompilieren mit 55 Fehlern

 
Ваня:

Ich versuche, MT5 zu testen.

In MT4 verwende ich IchimokuAlert_v3 Indikator

Ich habe es von hier übernommen https://www.forex-tsd.com/forum/debates-discussions/1175-ichimoku-alert/page2#comment_418797

Möge jemand mit guten Kenntnissen es für MT5 konvertieren.

Ich habe versucht, es mit der Methodik von hier zu konvertieren http://metatrader5.blogspot.com/2009/10/rewrite-mql-4-to-mql-5-script.html

Beim Kompilieren treten 55 Fehler auf.

Es wird einfacher sein, Ishimoku von MT5 Lieferung zu öffnen.

Kopieren Sie einen Codeblock aus Ihrer Meldung hinein.

//----
   string Msg,Subj;
  
   if (AlertType == 1 || AlertType == 3)
   {
      if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
...
...
...
 
o_O:

wird es für Sie einfacher sein, Ishimoku aus der mt5-Lieferung zu öffnen.

Kopieren Sie einen Codeblock aus Ihrer Meldung hinein.

//----
   string Msg,Subj;
  
   if (AlertType == 1 || AlertType == 3)
   {
      if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
...
...
...

Ich danke Ihnen! Guter Mann.

Können Sie mir sagen, zwischen welchen Zeilen dieser Codeblock eingefügt werden soll?

Ich habe den Block an das Ende gesetzt. Ich habe 6 Compilerfehler.

Es ist eine Schuldzuweisung.

136 Zeile if (AlertType == 1 || AlertType == 3)

156 Zeile if (AlertType == 2 || AlertType == 3)

175 Zeile return(rates_total);

176 Zeile schwören auf die Klammer }

180 Zeile if (MsgAlerts) Alert(msgText);

181 Zeile if (eMailAlerts) SendMail(eMailSub, msgText);

//+------------------------------------------------------------------+
//|                                                     Ichimoku.mq5 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2010, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property description "Ichimoku Kinko Hyo"
//--- indicator settings
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_plots   4
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_LINE
#property indicator_type3   DRAW_FILLING
#property indicator_type4   DRAW_LINE
#property indicator_color1  Red
#property indicator_color2  Blue
#property indicator_color3  SandyBrown,Thistle
#property indicator_color4  Lime
#property indicator_label1  "Tenkan-sen"
#property indicator_label2  "Kijun-sen"
#property indicator_label3  "Senkou Span A;Senkou Span B"
#property indicator_label4  "Chikou Span"
//--- input parameters
input int InpTenkan=9;     // Tenkan-sen
input int InpKijun=26;     // Kijun-sen
input int InpSenkou=52;    // Senkou Span B
//--- indicator buffers
double    ExtTenkanBuffer[];
double    ExtKijunBuffer[];
double    ExtSpanABuffer[];
double    ExtSpanBBuffer[];
double    ExtChikouBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,ExtTenkanBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtKijunBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,ExtSpanABuffer,INDICATOR_DATA);
   SetIndexBuffer(3,ExtSpanBBuffer,INDICATOR_DATA);
   SetIndexBuffer(4,ExtChikouBuffer,INDICATOR_DATA);
//---
   IndicatorSetInteger(INDICATOR_DIGITS,_Digits+1);
//--- sets first bar from what index will be drawn
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,InpTenkan);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,InpKijun);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,InpSenkou-1);
//--- lines shifts when drawing
   PlotIndexSetInteger(2,PLOT_SHIFT,InpKijun);
   PlotIndexSetInteger(3,PLOT_SHIFT,-InpKijun);
//--- change labels for DataWindow
   PlotIndexSetString(0,PLOT_LABEL,"Tenkan-sen("+string(InpTenkan)+")");
   PlotIndexSetString(1,PLOT_LABEL,"Kijun-sen("+string(InpKijun)+")");
   PlotIndexSetString(2,PLOT_LABEL,"Senkou Span A;Senkou Span B("+string(InpSenkou)+")");
//--- initialization done
  }
//+------------------------------------------------------------------+
//| get highest value for range                                      |
//+------------------------------------------------------------------+
double Highest(const double&array[],int range,int fromIndex)
  {
   double res=0;
//---
   res=array[fromIndex];
   for(int i=fromIndex;i>fromIndex-range && i>=0;i--)
     {
      if(res<array[i]) res=array[i];
     }
//---
   return(res);
  }
//+------------------------------------------------------------------+
//| get lowest value for range                                       |
//+------------------------------------------------------------------+
double Lowest(const double&array[],int range,int fromIndex)
  {
   double res=0;
//---
   res=array[fromIndex];
   for(int i=fromIndex;i>fromIndex-range && i>=0;i--)
     {
      if(res>array[i]) res=array[i];
     }
//---
   return(res);
  }
//+------------------------------------------------------------------+
//| Ichimoku Kinko Hyo                                               |
//+------------------------------------------------------------------+
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[])
  {
   int limit;
//---
   if(prev_calculated==0) limit=0;
   else                   limit=prev_calculated-1;
//---
   for(int i=limit;i<rates_total && !IsStopped();i++)
     {
      ExtChikouBuffer[i]=close[i];
      //--- tenkan sen
      double _high=Highest(high,InpTenkan,i);
      double _low=Lowest(low,InpTenkan,i);
      ExtTenkanBuffer[i]=(_high+_low)/2.0;
      //--- kijun sen
      _high=Highest(high,InpKijun,i);
      _low=Lowest(low,InpKijun,i);
      ExtKijunBuffer[i]=(_high+_low)/2.0;
      //--- senkou span a
      ExtSpanABuffer[i]=(ExtTenkanBuffer[i]+ExtKijunBuffer[i])/2.0;
      //--- senkou span b
      _high=Highest(high,InpSenkou,i);
      _low=Lowest(low,InpSenkou,i);
      ExtSpanBBuffer[i]=(_high+_low)/2.0;
     }
//--- done
   return(rates_total);
  }
//+------------------------------------------------------------------+

//----
   string Msg,Subj;
  
   if (AlertType == 1 || AlertType == 3)
   {
      if (Tenkan_Buffer[1]>Kijun_Buffer[1] && Tenkan_Buffer[2]<Kijun_Buffer[2] && !UptrendAlert1)
      {
         Subj = "Tenkan crosses Kijun: "+Symbol()+" on M"+Period();
         Msg = "BUY Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
         UptrendAlert1 = true;
         DntrendAlert1 = false;
         DoAlerts(Msg,Subj);
      }
      if ( Tenkan_Buffer[1]<Kijun_Buffer[1] && Tenkan_Buffer[2]>Kijun_Buffer[2] && !DntrendAlert1)
      {  
         Subj = "Tenkan crosses Kijun: "+Symbol()+" on M"+Period();
         Msg = "SELL Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
         UptrendAlert1 = false;
         DntrendAlert1 = true;
         DoAlerts(Msg,Subj);
      }
   }
  
   if (AlertType == 2 || AlertType == 3)
   {
      if (Close[1]>Close[1+Kijun] && Close[2]<Close[2+Kijun] && !UptrendAlert2)
      {
         Subj = "Kijun crossed Price: "+Symbol()+" on M"+Period();
         Msg = "BUY Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
         DntrendAlert2 = false;
         UptrendAlert2 = true;
         DoAlerts(Msg,Subj);
      }
      if (Close[1]<Close[1+Kijun] && Close[2]>Close[2+Kijun] && !DntrendAlert2)
      {
         Subj = "Kijun crossed Price: "+Symbol()+" on M"+Period();
         Msg = "SELL Signal --- : "+Subj+ " @ "+DoubleToStr(Close[1],Digits) + ", @ " + TimeToStr(TimeLocal(),TIME_SECONDS);
         DntrendAlert2 = true;
         UptrendAlert2 = false;
         DoAlerts(Msg,Subj);
      }
   }
   return(rates_total);
}

void DoAlerts(string msgText, string eMailSub)
{
   if (MsgAlerts) Alert(msgText);
   if (eMailAlerts) SendMail(eMailSub, msgText);
}
//+------------------------------------------------------------------+
 
Ваня:

Ich danke Ihnen! Guter Mann.

Können Sie mir sagen, zwischen welchen Zeilen dieser Codeblock eingefügt werden soll?

Wenden Sie sich an Freelance, sie werden an den richtigen Stellen Code einfügen.
 
Evgeny Belyaev:
Wenden Sie sich an einen Freiberufler, der den Code an der richtigen Stelle einfügt.
Ich weiß nicht einmal, was "Freiberuflichkeit" ist.
 
Ваня:
Ich weiß nicht einmal, was "Freiberuflichkeit" ist.
Freiberuflich.
 
Ваня:
Ich weiß nicht einmal, was "Freiberuflichkeit" ist.
Tun Sie das?
 
Evgeny Belyaev:
Wissen Sie es jetzt?

Ja, ich habe den Eindruck, dass die Bevölkerung in russischsprachigen Threads aufhört, die russische Sprache zu verstehen.

Dieser Thread "HELP !!!! zur Konvertierung eines Indikators von MT4 zu MT5.

Was raten Sie mir, wohin zu gehen?

Die Begriffe der "Freiberuflichkeit":

II. Bestellvorgang

  1. Ein Auftrag durchläuft die folgenden Prozessschritte:
    1. Arbeitsvertrag
    2. TOR-Vereinbarung
    3. Prototyp/Modell
    4. Demonstration
    5. Lieferung der Arbeit
    6. Zahlung
 
Ваня:

Ja, ich habe den Eindruck, dass die Bevölkerung in russischsprachigen Threads aufhört, die russische Sprache zu verstehen.

Dieser Thread "HELP !!!! zur Konvertierung eines Indikators von MT4 zu MT5.

Was raten Sie mir, wohin zu gehen?

Die Begriffe der "Freiberuflichkeit":

    1. Zahlung

Ja, stellen Sie sich vor, was Sie vorschlagen, ist eine gewisse Anstrengung und damit Geld wert.

Jeder versteht die russische Sprache, aber "gegen Bezahlung" zu fummeln ist nicht sehr interessant.

Aber wenn Sie eine erfolgreiche Handelserfahrung gemacht haben, für die Sie einen Indikator benötigen, würde sich vielleicht jemand bereit erklären, etwas ohne Geld im Austausch für eine profitable Handelsidee zu tun. Aber in der Zwischenzeit wird es - rein um des "guten Rufs" willen - leider nicht viele Leute geben, die dazu bereit sind...