Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools

Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools (http://www.expert-advisor.com/forum/index.php)
-   Programmierung MQL4 (http://www.expert-advisor.com/forum/forumdisplay.php?f=220)
-   -   Versuchs - EA mit Indikator - wer kann mir helfen? (http://www.expert-advisor.com/forum/showthread.php?t=5956)

next user 13.03.18 13:16

Zitat:

Zitat von Angel (Beitrag 40538)
Was mache ich nur falsch?

Die Farbkonstanten (clr...) sind Integer-Werte, somit gehören diese nicht in eine String-Variable.

Angel 13.03.18 14:20

Ok, Super, Danke!!!
Nun sieht es wie folgt aus:

PHP-Code:

int start()
 { 
 
int Col//Seltsamerweise muss ich die Variable HIER definieren. Bei Definition im Bereich OnInit oder noch weiter oben gibt´s ne Fehlermeldung!
  
if (Ask>(iOpen(Symbol(),PERIOD_D1,0)))
      {
Col=33150;
      }
   else (
Col=25000);
 
  
ObjectDelete(0"RECHTECK");   
        
ObjectCreate(0,"RECHTECK",OBJ_RECTANGLE,0,iTime(Symbol(),PERIOD_D1,0),iOpen(Symbol(),PERIOD_D1,0),Time[0],iClose(Symbol(),PERIOD_D1,0));
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_BGCOLOR,clrYellow);
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_COLOR,Col);
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_SELECTABLE,true);
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_SELECTED,true);
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_FILL,true);
  
ObjectSetInteger(0,"RECHTECK",OBJPROP_BACK,true);


  
ObjectMove("RECHTECK",1,Time[0],iClose(Symbol(),PERIOD_D1,0));
    


´Wie gesagt, mir ist es nicht einsichtig, warum ich die int-Variable "Col" in der OnTick-Funktion definieren muss und nicht oben bei der OnInit oder noch weiter oben, sozusagen als "globale" Variable.

Die Zahlenwerte für "Col" habe ich einfach mal durchprobiert. Es gibt sicher ein System bzw. Umwandlung der vorhandenen in einen Zahlencode?!

next user 13.03.18 14:51

Zitat:

Zitat von Angel (Beitrag 40550)
Wie gesagt, mir ist es nicht einsichtig, warum ich die int-Variable "Col" in der OnTick-Funktion definieren muss und nicht oben bei der OnInit oder noch weiter oben, sozusagen als "globale" Variable.

Musst du nicht. In OnInit() kannst du sie nicht erstellen, da das auch nur eine Funktion ist, und diese Variable dann NUR dort
"bekannt" ist. Definiere sie einfach außerhalb jeder Funktion (global im Code), dann kannst du sie auch überall ansprechen.

Zitat:

Zitat von Angel (Beitrag 40550)
Die Zahlenwerte für "Col" habe ich einfach mal durchprobiert. Es gibt sicher ein System bzw. Umwandlung der vorhandenen in einen Zahlencode?!

Wozu umwandeln?
Hier sind die möglichen Konstanten.
Oder du erstellst deinen eigenen RGB-Wert mit
Code:

C'R,G,B';
...
C'200,200,200';

Schau auch mal hier.

Angel 13.03.18 15:25

Wow. Stimmt. Ich hatte "Col" im OnInit Bereich definiert. Jetzt ganz außerhalb von allem, klappt es.
Dank!
Nun, RGB kann ich nun mit C´R´G´B´einstellen und der Variablen "Col" zuweisen. Kann ich die einzelnen Werte R / G / B eigentlich auch - jede für sich - als Variablen erstellen? Muss ich mir nachher mal ansehen. Jetzt brauche ich nur noch die "Hutzel", mittig für oben und unten. Wow, was für eine Arbeit.
Jetzt hole ich erstmal meine Kleine aus der Schule...

Danke für Deine Hilfe, ohne Dich hätte ich die Kiste schon längst in die Ecke geworfen! ;-)

Angel 14.03.18 01:28

Ok.. Nun tut sich für mich ein neues Problem auf, nämlich wie ich den Docht oben drauf setze. Im Prinzip sind es ja 2 sich bewegende Rechtecke.
Das große habe ich nun.
Das Kleine ist in der Y-Achse durch iHigh und iClose und iOpen begrenzt.
Das bekomme ich irgendwie hin. Analog dazu die Lunte.
Nur die X-Achse.. in der Regel betrachtet man diese grooooße Tageskerze aus niedrigeren Zeitebenen wie M1/M5/M15/M30/H1/H4.
Vielleicht gibt es ja eine Funktion, die ausgibt, wieviele Kerzen im jeweiligen Timeframe vorhanden sind? Den Wert würde ich halbieren, links und rechts einige Kerzen hinzuaddieren / subtrahieren und schon gibt es nen Docht.. unten noch die ObjectMove-Funktion.. Aber ich fürchte, das wird ddoch wieder schwerer... Hat jemand eine Idee?
Das Ganze soll mir nur als Grundlage / Verständnis dienen. Wenn er fertig ist, stelle ich den Code hier rein, vielleicht ist ja der eine oder andere daran interessiert.

Angel 14.03.18 06:24

Moin, ganz kurzer Gedankeneinwurf, bevor ich zur Arbeit fahre:

PHP-Code:

iBarShift(_Symbol,0,iTime(_Symbol,PERIOD_D1,0)) 

ist schon mal der Anfang des Rätsels Lösung..! ;-) (Glaube ich..)

Angel 19.03.18 23:54

So, ich habe mich, so gut es ging, mit der Thematik befasst.
Hintergrund war eigentlich, aus niedrigeren als dem Tageschart n-Tageskerzen in den Chart zu zeichnen. Dazu muss man die vergangenen Ankerpunkte erfassen UND den heutigen Chart zu künftigen Ankerpunkten machen lassen.
Ich gehe davon aus, dass man mit dieser Methode auch die einzelnen Punkte, aus der zB. die MA einer SMA10 im H1 besteht, festhalten / verwenden kann, so zB auch die Steigung errechnen lassen könnte oder auch die genauen Schnittpunkte mehrerer MA festellen könnte.

Hat jemand eine Idee?

Angel 20.03.18 21:15

Mit anderen Worten:

Weiß jemand, wie ich den Wert einer MA zum Zeitpunkt X ermitteln kann?

Angel 20.03.18 22:56

Ich werde das Thema wohl in einem extra Thread einbringen, da es losgelöst von den anderen Themen ist.


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:03 Uhr.

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.1
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum