Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.


Portalsuche


Werbung

Login
Benutzername:
Kennwort:


Statistik
Themen: 3824
Beiträge: 36929
Benutzer: 6.077
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: Batangenyo
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Stunden
- Batangenyo
vor 22 Stunden
- Spitzmaus
vor einem Tag
- juleslesqu...
vor 2 Tagen
- hmf44
vor 2 Tagen
- Crossa

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 63
Gesamt: 64
Team: 0
Team:  
Benutzer:  jimydirektsaft
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 03.02.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

hmm, irgendwo ist da der Wurm drin


hab jetzt ganz oben bei denn Externen Abfragen
Code:
double Du[]; // erstellt undbestimmte Anzahl an "Du" Variablen - Anzahl wird Später übertragen
int PeriodenVergleich = PeriodenLaenge;

bei int OnInit()

Code:
ArrayResize(Du,PeriodenVergleich-1); // weist dem "Du" Array die Extern Eingestellte Anzahl "PeriodenLaenge" zu (z.B. Du 0-9)
"PeriodenVergleich" hab ich ganz oben gleich fest auf denn Ursprungszustand von "PeriodenLaenge" gesetzt .... "PeriodenVergleich" ist also immer 10 auch wenn sich der wert von "PeriodenLaenge" ändert.

dann springt er in die

void OnTick()
:



Code:
Alert ("PeriodenLaenge =",DoubleToStr(PeriodenLaenge,0));
Alert ("PeriodenVergleich =",DoubleToStr(PeriodenVergleich,0));
Alert ("PeriodenStueckzahl =",DoubleToStr(PeriodenStueckzahl,0));
Alert ("BerechnungsFreigabe =",DoubleToStr(BerechnungsFreigabe,0));
Alert ("AnzahlMA20 =",DoubleToStr(AnzahlMA20));

//Du[9] = AnzahlMA20;
//Du[PeriodenLaenge-1] = AnzahlMA20;
//Alert ("ArayVariable DU  =",DoubleToStr(Du[9],2));

if (PeriodenLaenge<PeriodenVergleich+1 && PeriodenLaenge>0) //wenn "PeriodenLaenge" 0-9 (10Stück)
   {
   Alert ("Test 1 - PeriodenLaenge zwischen 0-9");
   Du[PeriodenLaenge-1] = AnzahlMA20; //Du[9]=AnzahlMA20 .... Du[8]=AnzahlMA20 ... ---> Du[0]=AnzahlMA20
   Alert ("Test 2");
   PeriodenLaenge--;    // 10-1=9 ... 9-1=8 ... 8-1=7 ---> 1-1=0
   Alert ("PeriodenLaenge =",DoubleToStr(PeriodenLaenge));
   }

Alert ("Test 3");
lasse mir über Alert die Werte anzeigen und
bis Test 1 ist die Welt noch in Ordnung

Alert ("Test 1 - PeriodenLaenge zwischen 0-9");
er springt also in die erste If Abfrage rein

nur ab hier läuft der EA dann nicht mehr weiter
beim Versuch dem Array DU[9] denn Wert AnzahlMA20 zu zuweisen:

Code:
Du[PeriodenLaenge-1] = AnzahlMA20; //Du[9]=AnzahlMA20 .... Du[8]=AnzahlMA20 ... ---> Du[0]=AnzahlMA20
   Alert ("Test 2");

er kommt dann offensichtlich nicht mal mehr aus der If Abfrage wieder heraus

denn "Test3" nach if {} wird nicht mehr im Alert Fenster Angezeigt

der EA hängt also irgendwie dort fest
  #12 (permalink)  
Alt 03.02.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

ok... ich hab denn fehler gefunden


hatte da nen denkfehler

int a [8] z.B erstellt ein Array mit 8 Felden

und nicht 9 .... hatte das vorher falsch verstanden ....

dachte es erstellt feld 0-8 .... also 9

ist aber nicht so

  #13 (permalink)  
Alt 03.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das Array muß Resized werden:

ArrayResize(Du,PeriodenVergleich);

D.h., wenn PeriodenVergleich = 10 ist, dann gibt es 10 Elemente, mit dem Index 0 bis 9.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #14 (permalink)  
Alt 03.02.15
Benutzerbild von markusrgb
Mitglied
 
Registriert seit: Jan 2015
Beiträge: 34
markusrgb befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Das Array muß Resized werden:

ArrayResize(Du,PeriodenVergleich);

D.h., wenn PeriodenVergleich = 10 ist, dann gibt es 10 Elemente, mit dem Index 0 bis 9.

traderdoc
ja, habs jetzt erst verstanden .... puhhh .... schwere geburt ...
aber aus fehlern lernt man ja immer noch am besten ....


hab da schon mal vor ner weile was interesantes gefunden ...

https://www.youtube.com/watch?v=v8Dz...E8203&index=58

nur bei denn Arrys war ich bis heut noch nicht
Thema geschlossen

Lesezeichen

Stichworte
double, double wert, mql4, programmierung, programmierung metatrader, wert


Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.



Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2017 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2017 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------