Hilfe bei der Codierung - Seite 31

 

Bei der Arbeit an einem multidimensionalen Array blockiere ich bei einer so einfachen Sache.

Hallo Misters,

Ich versuche gerade, eine Zelle aus einem Array in einer Bildschirmzeile zu erhalten (gleiche Ergebnismeldung), es fehlt etwas, es ist sicher, aber den ganzen Tag auf sie und ich verstehe nicht, warum.

Hilfe wäre so gut ... ..

das ist es :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#Eigenschaft Copyright ""

#eigenschaft link ""

#property indicator_chart_window

extern int Münze = 1 ;

extern int X_Col = 700 ;

extern int Y_Ligne = 30 ;

extern string FontCar = "Arial" ;

extern int TailCar = 14 ;

extern color Couleur = Lime ;

extern int X = 1;

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion |

//+------------------------------------------------------------------+

string Tab1dim[2];

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];

int init()

{

//---- Indikatoren

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Funktion zur Deinitialisierung des Indikators |

//+------------------------------------------------------------------+

int deinit()

{

//----

ObjectDelete("R");

//----

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

//----

Tab1dim[2]={"tab1-c0","tab1C1"};

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER,Coin );

ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1",affich,TailCar, FontCar , Couleur );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

Alert(affich);

//----

return(0);

}

//+------------------------------------------------------------------+

Vielen Dank im Voraus.

 

...

Versuchen Sie es so(Array Initialisierung ist anders gemacht) :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_chart_window

extern int Coin = 1 ;

extern int X_Col = 10 ;

extern int Y_Ligne = 10 ;

extern string FontCar = "Arial" ;

extern int TailCar = 14 ;

extern color Couleur = Lime ;

extern int X = 1;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

string Tab1dim[] = {"tab1-c0","tab1C1"};

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];

int init()

{

//---- indicators

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

ObjectDelete("A1");

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//----

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER,Coin );

ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1",affich,TailCar, FontCar , Couleur );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

//----

return(0);

}

//+------------------------------------------------------------------+

Ilevna:
Hallo meine Herren,

Ich versuche gerade, eine Zelle aus einem Array in einer Bildschirmzeile zu erhalten (gleiche Ergebnismeldung Alert), es vermissen etwas ist es sicher, aber den ganzen Tag auf sie und ich verstehe nicht, warum.

Hilfe wäre so gut ... ..

das ist es :

vielen Dank im Voraus.
 
mladen:
Versuchen Sie es so (die Array-Initialisierung wird anders durchgeführt) :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |**************

Vielen Dank, das ist gut gelaufen, aber ich verstehe nicht, warum es notwendig ist, denn normalerweise könnten wir deklarieren, oder im globalen Bereich, oder innerhalb einer Funktion, etwas wie sie im Handbuch geschrieben : double Tab2Dim[2*n-3]; oder sonst

int [] values =new int[3];

Werte[0]=5;

values[1]=values[0]*2;

values[2]=values[1]*2;

aber es ist schön für meinen Feierabend, danke Sir.

 

...

Sie können dieses Problem teilweise mit der Funktion ArrayResize() umgehen (auf diese Weise können Sie Arrays mit dynamischer Größe haben)

Das Problem ist, dass ArrayResize() nur für eindimensionale Arrays und die erste Dimension eines Arrays funktioniert (wenn Sie z.B. array[][2] haben, können Sie die Größe mit ArrayResize() in etwa wie folgt ändern array[anySize][2]). Jede weitere Dimension (ab der zweiten Dimension f arrays) muss eine konstante Größe haben, die zur Kompilierungszeit bekannt ist

Ilevna:
Vielen Dank, das läuft gut, aber ich verstehe nicht, warum es notwendig ist, denn normalerweise könnten wir deklarieren, oder im globalen Bereich, oder innerhalb einer Funktion, etwas wie sie in der Anleitung geschrieben: double Tab2Dim[2*n-3]; oder sonst

int [] values =new int[3];

values[0]=5;

values[1]=values[0]*2;

values[2]=values[1]*2;

aber es ist gut für meinen Feierabend, danke Sir.
 

Hilfe zu meinem Bandindikator

Hallo zusammen,

nachdem ich viele Bandindikatoren ausprobiert habe, wie z.B. jband,tmaband usw.. schließlich habe ich eine Entscheidung getroffen, meine eigenen Band-Indikator zu schreiben,

die beigefügte finden Sie die meine Band-Indikator, aber wenn EA rufen Sie es Low Band Linie gibt eine Null-Divisor, ich sah meinen Code gibt es keine zeor Divisor in dort,

Wenn Sie entweder eine Idee oder Erfahrung wie diese haben, lassen Sie mich bitte helfen, Problem zu lösen.

Vielen Dank im Voraus....

Dateien:
aband.gif  20 kb
 

...

Ohne den Quellcode (oder ohne den Code für den Aufruf des benutzerdefinierten Indikators) ist es unmöglich, etwas zu sagen. Wenn Ihr Indikator funktioniert, dann liegt der Fehler in Ihrem EA

kemal44:
Hallo zusammen,

nachdem ich viele Bandindikatoren ausprobiert habe, wie z.B. jband,tmaband etc. Schließlich habe ich mich entschlossen, meinen eigenen Band-Indikator zu schreiben,

die beigefügte finden Sie die meine Band-Indikator, aber wenn EA rufen Sie es Low-Band-Linie gibt einen Null-Divisor, sah ich meinen Code gibt es keine zeor Divisor in dort,

Wenn Sie eine entweder Idee oder Erfahrung wie diese haben, lassen Sie mich bitte helfen, Problem zu lösen.

vielen Dank im Voraus....
 

Brauche Hilfe bei der Kodierung eines MA Crossover EA

Hallo Leute,

Ich frage mich, ob mir jemand helfen könnte, einen MA Crossover EA zu kodieren, damit ich ihn benutzen kann, wenn ich mal nicht am Computer bin.

Die Idee ist diese.

1-Minuten-Chart - 3 EMA und 8 SMA

Wenn 3 EMA unter 8 SMA kreuzt, verkaufen Sie das Währungspaar mit TP und SL auf die Parameter voreingestellt.

Wenn 3 EMA über 8 SMA kreuzt, kaufen Sie das Währungspaar mit TP und SL, die in den Parametern voreingestellt sind.

Ich weiß nicht, ob es möglich ist, eine solche einfache MA ea Code, aber würde sehr zu schätzen wissen, wenn jemand mir eine Hand geben könnte.

Ich danke Ihnen im Voraus!

 

...

Haben Sie diesen Thread überprüft: https: //www.mql5.com/en/forum/general?

jacktrader:
Hallo Jungs,

Ich frage mich, ob mir jemand helfen könnte, einen MA Crossover ea zu kodieren, damit ich ihn benutzen kann, wenn ich mal nicht am Computer bin.

Die Idee ist diese.

1-Minuten-Chart - 3 EMA und 8 SMA

Wenn 3 EMA unter 8 SMA kreuzt, verkaufen Sie das Währungspaar mit TP und SL auf die Parameter voreingestellt.

Wenn 3 EMA über 8 SMA kreuzt, kaufen Sie das Währungspaar mit TP und SL, die in den Parametern voreingestellt sind.

Ich weiß nicht, ob es möglich ist, eine solche einfache MA ea Code, aber würde sehr zu schätzen wissen, wenn jemand mir eine Hand geben könnte.

Vielen Dank im Voraus!
 
kemal44:
Hallo zusammen!

nachdem ich viele Bandindikatoren ausprobiert habe, wie z.B. jband, tmaband usw.. schließlich habe ich eine Entscheidung getroffen, meine eigene Band-Indikator zu schreiben,

die beigefügte finden Sie die meine Band-Indikator, aber wenn EA rufen Sie es Low-Band-Linie gibt einen Null-Divisor, sah ich meinen Code gibt es keine zeor Divisor in dort,

Wenn Sie eine entweder Idee oder Erfahrung wie diese haben, lassen Sie mich bitte helfen, Problem zu lösen.

vielen Dank im Voraus....

HIER ist der Code für Band ind.

EA ruft das mittlere und obere Signal auf, aber das untere Band ist das Problem für mich,

//+------------------------------------------------------------------+

//| IndicatorPlan.mq4 |

//| Urheberrecht © 2007, MetaQuotes Software Corp. |

//| MetaTrader 5 Handelsplattform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "Urheberrecht © 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

//---- Zeichnen des Indikators im Hauptfenster

#property indicator_chart_window

//---- Anzahl der Indikatorpuffer

#property indicator_buffers 3

//---- Farbe des Indikators

#property indicator_color1 Gold

#eigenschaft indicator_color2 Magenta

#eigenschaft indicator_color3 BlauViolett

//---- EINGABEPARAMETER DES INDIKATORS

extern int MBand_Periode = 15;

extern int AufwärtsBand_Periode = 15;

extern int DnBand_Periode = 15;

extern int ABand_Zeitrahmen =15;

extern int shift =0;

//---- Indikatorpuffer

double Ind_Buffer0[];

double Ind_Buffer1[];

double Ind_Buffer2[];

double Ind_Buffer3[];

double Ind_Buffer4[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion

//+------------------------------------------------------------------+

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName("ABand "+ABand_Timeframe);

//---- definiert den Ausführungsstil des Graphen

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0, "MBand "+MBand_Periode);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2, "UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1, "DnBand "+DnBand_Periode);

//---- 3 Indikatorpuffer werden für die Berechnung verwendet

Indikatorpuffer(5);

SetIndexPuffer(0, Ind_Puffer0);

SetIndexPuffer(1, Ind_Puffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexPuffer(4, Ind_Puffer4);

//---- óñòàíîâêà íîìåğà áàğà, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ.

//---- Óñòàíîâêà ôîğìàòà òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà

IndicatorDigits(Digits);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- Ende der Initialisierung

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà

if(Balken < MBand_Periode + UpBand_Periode + DnBand_Periode)

return(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Bars)

{

ArraySetAsSeries(Ind_Buffer0, false);

ArraySetAsSeries(Ind_Buffer1, false);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Puffer4, false);

//----

ArrayResize(Ind_Buffer0, Balken);

ArrayResize(Ind_Buffer1, Balken);

ArrayResize(Ind_Buffer2, Balken);

ArrayResize(Ind_Buffer3, Balken);

ArrayResize(Ind_Puffer4, Balken);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Puffer3, true);

ArraySetAsSeries(Ind_Puffer4, true);

}

//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

static int IndCounted;

//----+ Einfügen von Variablen mit einem Gleitkomma

double Resalt0, Resalt1, Resalt2;

double Preis;

//----+ Einfügen von Integer-Variablen und Abrufen von berechneten Balken

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- Überprüfung auf mögliche Fehler

if(gezählte_Balken < 0)

return(-1);

//---- der zuletzt berechnete Balken muss neu berechnet werden

if(gezählte_Balken > 0)

counted_bars--;

//---- definiert die Nummer des ältesten Balkens,

// ab dem neue Balken neu berechnet werden sollen

limit = Bars - counted_bars - 1;

//---- legt die Nummer des ältesten Balkens fest,

// ab dem neue Balken neu berechnet werden

MaxBar = Bars - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- Initialisierung von Null

if(limit > MaxBar)

{

limit = MaxBar;

for(bar = Bars - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Puffer1 = 0,0;

Ind_Puffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ DER ERSTE ZYKLUS DER INDIKATORBERECHNUNG

i=Bars-DnBand_Period;

if(gezählte_Balken>DnBand_Periode) i=Balken-gezählte_Balken-1;

while(i>=0)

{

i=Balken-DnBand_Periode;

if(gezählte_Balken>DnBand_Periode) i=Balken-gezählt_Balken-1;

while(i>=0)

{

double min=1000000;

k=i+DnBand_Periode-1;

while(k>=i)

{

Preis=Resalt1[k];

if(min>Preis) min=Preis;

k--;

}

Ind_Buffer1=min;

i--;

}

}

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ DER ZWEITE ZYKLUS DER INDIKATORBERECHNUNG

{

i=Bars-UpBand_Period;

if(gezählte_Balken>UpBand_Periode) i=Balken-gezählte_Balken-1;

while(i>=0)

{

double max=-1000000;

k=i+UpBand_Period-1;

while(k>=i)

{

Preis=Resalt2[k];

if(max<Preis) max=Preis;

k--;

}

Ind_Buffer2=max;

i--;

}

}

//---- Signalleitung ist ein einfacher Mittelwert für die Bewegung

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);

}

//----+ DER HAUPTZYKLUS DER INDIKATORBERECHNUNG

//---- Signallinie ist ein einfacher gleitender Durchschnitt

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

return(0);

}

//+------------------------------------------------------------------+

 

...

Können Sie posten, wie Sie den iCustom() Aufruf verwenden?

kemal44:
HIER ist der Code für Band ind.

EA Call Mid und Up Signal, aber Low Band ist das Problem für mich,

//+------------------------------------------------------------------+

//| IndicatorPlan.mq4 |

//| Urheberrecht © 2007, MetaQuotes Software Corp. |

//| MetaTrader 5 Handelsplattform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "Urheberrecht © 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

//---- Zeichnen des Indikators im Hauptfenster

#property indicator_chart_window

//---- Anzahl der Indikatorpuffer

#property indicator_buffers 3

//---- Farbe des Indikators

#property indicator_color1 Gold

#eigenschaft indicator_color2 Magenta

#eigenschaft indicator_color3 BlauViolett

//---- EINGABEPARAMETER DES INDIKATORS

extern int MBand_Periode = 15;

extern int AufwärtsBand_Periode = 15;

extern int DnBand_Periode = 15;

extern int ABand_Zeitrahmen =15;

extern int shift =0;

//---- Indikatorpuffer

double Ind_Buffer0[];

double Ind_Buffer1[];

double Ind_Buffer2[];

double Ind_Buffer3[];

double Ind_Buffer4[];

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Initialisierungsfunktion

//+------------------------------------------------------------------+

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName("ABand "+ABand_Timeframe);

//---- definiert den Ausführungsstil des Graphen

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0, "MBand "+MBand_Periode);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2, "UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1, "DnBand "+DnBand_Periode);

//---- 3 Indikatorpuffer werden für die Berechnung verwendet

Indikatorpuffer(5);

SetIndexPuffer(0, Ind_Puffer0);

SetIndexPuffer(1, Ind_Puffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexPuffer(4, Ind_Puffer4);

//---- óñòàíîâêà íîìåğà áàğà, íà÷èíàÿ ñ êîòîğîãî áóäåò îòğèñîâûâàòüñÿ èíäèêàòîğ.

//---- Óñòàíîâêà ôîğìàòà òî÷íîñòè îòîáğàæåíèÿ èíäèêàòîğà

IndicatorDigits(Digits);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- Ende der Initialisierung

return(0);

}

//+------------------------------------------------------------------+

//| Benutzerdefinierte Indikator-Iterationsfunktion |

//+------------------------------------------------------------------+

int start()

{

//---- Ïğîâåğêà êîëè÷åñòâà áàğîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ğàñ÷¸òà

if(Balken < MBand_Periode + UpBand_Periode + DnBand_Periode)

return(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Bars)

{

ArraySetAsSeries(Ind_Buffer0, false);

ArraySetAsSeries(Ind_Buffer1, false);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Puffer4, false);

//----

ArrayResize(Ind_Buffer0, Balken);

ArrayResize(Ind_Buffer1, Balken);

ArrayResize(Ind_Buffer2, Balken);

ArrayResize(Ind_Buffer3, Balken);

ArrayResize(Ind_Puffer4, Balken);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Puffer3, true);

ArraySetAsSeries(Ind_Puffer4, true);

}

//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

static int IndCounted;

//----+ Einfügen von Variablen mit einem Gleitkomma

double Resalt0, Resalt1, Resalt2;

double Preis;

//----+ Einfügen von Integer-Variablen und Abrufen von berechneten Balken

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- Überprüfung auf mögliche Fehler

if(gezählte_Balken < 0)

return(-1);

//---- der zuletzt berechnete Balken muss neu berechnet werden

if(gezählte_Balken > 0)

counted_bars--;

//---- definiert die Nummer des ältesten Balkens,

// ab dem neue Balken neu berechnet werden sollen

limit = Bars - counted_bars - 1;

//---- legt die Nummer des ältesten Balkens fest,

// ab dem neue Balken neu berechnet werden

MaxBar = Bars - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- Initialisierung von Null

if(limit > MaxBar)

{

limit = MaxBar;

for(bar = Bars - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Puffer1 = 0,0;

Ind_Puffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ DER ERSTE ZYKLUS DER INDIKATORBERECHNUNG

i=Bars-DnBand_Period;

if(gezählte_Balken>DnBand_Periode) i=Balken-gezählte_Balken-1;

while(i>=0)

{

i=Balken-DnBand_Periode;

if(gezählte_Balken>DnBand_Periode) i=Balken-gezählt_Balken-1;

while(i>=0)

{

double min=1000000;

k=i+DnBand_Periode-1;

while(k>=i)

{

Preis=Resalt1[k];

if(min>Preis) min=Preis;

k--;

}

Ind_Buffer1=min;

i--;

}

}

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ DER ZWEITE ZYKLUS DER INDIKATORBERECHNUNG

{

i=Bars-UpBand_Period;

if(gezählte_Balken>UpBand_Periode) i=Balken-gezählte_Balken-1;

while(i>=0)

{

double max=-1000000;

k=i+UpBand_Period-1;

while(k>=i)

{

Preis=Resalt2[k];

if(max<Preis) max=Preis;

k--;

}

Ind_Buffer2=max;

i--;

}

}

//---- Signalleitung ist ein einfacher Mittelwert für die Bewegung

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);

}

//----+ DER HAUPTZYKLUS DER INDIKATORBERECHNUNG

//---- Signallinie ist ein einfacher gleitender Durchschnitt

for(i=0; i<limit; i++)

{

// Hier Code der Variablen Resalt0 Berechnung

// basierend auf den Werten des Puffers UpBand[]

// und der externen Variable0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

return(0);

}

//+------------------------------------------------------------------+