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: 3364
Beiträge: 34415
Benutzer: 5.354
Aktive Benutzer: 612
Links: 79
Wir begrüßen unseren neuesten Benutzer: thaiquocbao
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 17 Minuten
- thaiquocba...
vor 24 Minuten
- patte
vor 7 Stunden
- boomo
vor 18 Stunden
- swiftusa
vor 21 Stunden
- Heres

Onlineuser
'Wer ist online' anzeigen Benutzer: 4
Gäste: 51
Gesamt: 55
Team: 0
Team:  
Benutzer:  MA-EA, patte, thaiquocbao, UForex
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 03.10.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 63
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard Array Resizen..aber wie?!?

Hi Zuassammen,

steck grad ein wenig fest, Array´s sind leider mein Alptraum
Ich hoffe jem kann mir weiter helfen.

Ich versuche Werte im M5 auszulesen. Beginnen möchte ich immer am Anfang eines Tages. Bis dahin ganz einfach. Nur wie bekomme ich es hin das dass Array die ausgerechnete Anzahl der Kerzen seit Beginn des angefangenen Tages übernimmt?!? Habs mit ArrayResize probiert und versucht die ermittelten Kerzen vom Tagesbeginn rein zu nehmen , aber der fliegt sofort aus dem Array. Habs auch so versucht: AO[Tagesbeginn] , wollt er aber ned annehmen , obwohl da ein int dran hängt,was ich auch ned nachvollziehen kann, vllt könnte mir das auch jem erklären.

Der Versuch mit iAO(Symbol(),0,(iHighest(Symbol(),0,MODE_HIGH,Tage sbeginn,1)) ) ging auch schief weil da falsche Werte raus kamen. Wenn ich nen Wert unter 288 angeben (Anzahl der Kerzen bei M5 für 24H )flieg ich natürlich da auch raus. Screenshot hab ich auch eingebunden, Anbei mein Code:

Code:
int BarCount = 0;
int OnInit()
  {
//---


//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
int start()
{

if(BarCount != Bars)
  {
   Peaks();
   BarCount = Bars;
  }
return(0);
}
//+------------------------------------------------------------------+



void Peaks()
{
datetime heute  = Time[0],Beginn  = heute - heute % 86400; // Ermittlung eines neuen Tages
         int Tagesbeginn = iBarShift(NULL,0, Beginn,true);
double   AO[210];

//ArrayResize(AO,Tagesbeginn,0);

double   wert;

      for(int i=0 ; i<=Tagesbeginn; i++) 
      {  
         wert  = iAO(Symbol(),0,i);
         AO[i] = wert;            
      }   

      int maxValueIdx=ArrayMaximum(AO,WHOLE_ARRAY,0);
      int minValueIdx=ArrayMinimum(AO,WHOLE_ARRAY,0);
      double  Letztes_AO_Hoch          =  AO[maxValueIdx];                                  
      double  Letztes_AO_Tief          =  AO[minValueIdx];  
      
      double  Letztes_Hoch = High[iHighest(Symbol(),0,MODE_HIGH,Tagesbeginn,1)];
      double  Letztes_Tief =  Low[iLowest (Symbol(),0,MODE_LOW ,Tagesbeginn,1)];
      
      
      Comment("AO_Hoch: " ,Letztes_AO_Hoch,"\nAO_TIEF :",Letztes_AO_Tief,"\nKerzen seit Tagesbeginn:",Tagesbeginn
             ,"\nHoch: " ,Letztes_Hoch,"\nTIEF :",Letztes_Tief,"\nBeginn: ",Beginn);

}
LG
Angehängte Grafiken
Dateityp: png GBPUSDM5.png (26,7 KB, 7x aufgerufen)
Mit Zitat antworten
  #2 (permalink)  
Alt 03.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das Erste, was auffällt ist diese Zeile:

for(int i=0 ; i<=Tagesbeginn; i++)

muss lauten

ArrayResize(AO,Tagesbeginn);

for(int i=0 ; i<Tagesbeginn; i++),

weil, wenn Tagesbeginn die Dimension darstellt die Felder von 0 bis Tagesbeginn-1 laufen und das Feld AO[Tagesbeginn] wäre somit Out of Range.

double AO[];
in den globalen Variablen deklarieren!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #3 (permalink)  
Alt 05.10.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 63
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

danke Doc!!! hat super funktioniert
Mit Zitat antworten
  #4 (permalink)  
Alt 10.10.16
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 63
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

vllt ist einer so nett und kann mir ne Anfängerfrage beantworten?!

Wieso lassen sich keine Variablen in Arrays rein hauen?!?
als Beispiel:


Code:
int W= 20;
int S = 12;

int Y[] = {W,S};

Direkte Zuweisung so wie hier funktioniert ja auch

Code:
int w = 10;

bspl[0]= w;
Wenn es doch geht , würd ich mich über ein kurzes Beispiel/Erklärung freuen. Habs versucht zu googlen aber leider ohne Erfolg oder ich hab eben falsch gesucht.

LG
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
array, array resize, arrays, arrays resizen, mql4, programmierung, programmierung metatrader, resize


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 21:16 Uhr.



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