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)
-   -   Stochastik Alarm einfügen (http://www.expert-advisor.com/forum/showthread.php?t=5712)

next user 14.06.17 16:46

Zitat:

Zitat von BokiFX (Beitrag 38929)
Werf mal bitte nen Blick auf den Quellcode ob es passt?

Wenn du ihn postest...

BokiFX 14.06.17 16:47

Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von next user (Beitrag 38930)
Wenn du ihn postest...

Hat mich das Screen nicht hochladen lassen...

next user 14.06.17 16:51

:D Schon wieder beide "alarmRA[0]" :D

Ne, du musst nur die Änderungen vornehmen wie ich sagte, also von
Code:

if(alertdirection)
{
  if(ExtMapBuffer1[0] < alarmRA[0])
      notalert = true;
}
else
{
  if(ExtMapBuffer2[0] > alarmRA[1])
      notalert = true;
}

zu
Code:

if(alertdirection)
{
  if(ExtMapBuffer1[0] < StrToDouble(alarmRA[0]))
      notalert = true;
}
else
{
  if(ExtMapBuffer2[0] > StrToDouble(alarmRA[1]))
      notalert = true;
}


BokiFX 14.06.17 17:11

Also bei mir weiterhin die Wiederholungen. Bin mal raus für den Moment. :confused::confused: Ich setze mich später nochmal vor den Rechner, spätestens morgen früh. Wenn es dir nichts ausmacht mir deinen bearbeiteten ex.4 mq.4 zu senden. Wäre super.

next user 14.06.17 17:15

Liste der Anhänge anzeigen (Anzahl: 2)
Hmmm... schauen wir mal...

BokiFX 15.06.17 20:55

Hi nochmal. Also hab heute noch ein paar Tests gemacht. Die Funktionen laufen Super, jedoch doch ein bisschen spammy. Ich arbeite in niedrigen Timeframes. Könntest du mir bitte nochmal helfen?

Wäre es möglich das so zu programmieren das beide Alert (Sound, Mail) vor der Aktion bestätigt werden müssen?
Ich habe mir gedacht wenn die Stoch Signallinie über/unter Levelbereich (Beispiel: <20, 80>) bestätigt wird, im jeweiligen Timeframe,

und den AlarmReaktivate in Level, durch eine Zeitangabe in Minuten zu ersetzen?

next user 15.06.17 22:34

Zitat:

Zitat von BokiFX (Beitrag 38938)
Wäre es möglich das so zu programmieren das beide Alert (Sound, Mail) vor der Aktion bestätigt werden müssen?

Also beim aktivwerden des Alarms bestätigen, ob Sound abgespielt und Email gesendet werden soll?
Verstehe die Logik nicht.

Zitat:

Zitat von BokiFX (Beitrag 38938)
und den AlarmReaktivate in Level, durch eine Zeitangabe in Minuten zu ersetzen?

Kann ich machen. Allerdings ist zu beachten, das deine angegebenen Minuten immer das Minimum sind. Der Indikator arbeitet ja bei jedem Tick.
Wenn jetzt z.B. 13 Sekunden lang keine Kursveränderung kommt, so wären es bei 1 Minute nun 1M 13S.

Vielleicht wäre eine Kombination von Zeit und Grenze ja auch gut.

BokiFX 15.06.17 22:48

Zitat:

Zitat von next user (Beitrag 38941)
Also beim aktivwerden des Alarms bestätigen, ob Sound abgespielt und Email gesendet werden soll?
Verstehe die Logik nicht.

Ich habe ja als Alert..
Popup Fenster
Voice Sound
und eMail.

Und diese Alerts sollen erst aktiviert/gestartet werden wenn ein Wert im Stoch über/unter einem vordefiniertem Level (z.B. 20/80) bestätigt wurde. Also die Signalinie auf dem Level, oder drüber/darunter bestätigt wurde. Oft kreuzt sie die Leveleinstellung mehrmals solange die Kerze nicht abgeschlossen ist.


Zitat:

Zitat von next user (Beitrag 38941)
Kann ich machen. Allerdings ist zu beachten, das deine angegebenen Minuten immer das Minimum ist. Der Indikator arbeitet ja bei jedem Tick.
Wenn jetzt z.B. 13 Sekunden lang keine Kursveränderung kommt, so wären es bei 1 Minute nun 1M 13S.

Oke. Hast du da vielleicht eine bessere Lösung?

next user 15.06.17 22:58

Zitat:

Zitat von BokiFX (Beitrag 38942)
Und diese Alerts sollen erst aktiviert/gestartet werden wenn ein Wert im Stoch über/unter einem vordefiniertem Level (z.B. 20/80) bestätigt wurde.

Achso, ok.

Zitat:

Zitat von BokiFX (Beitrag 38942)
Oke. Hast du da vielleicht eine bessere Lösung?

Naja, die Lösung ist ja nicht schlecht. Die Ticks kommen meist ja recht schnell. Das erwähnte sollte nur als Hinweis dienen.

BokiFX 15.06.17 23:05

Ok. Könntest du mir da nochmal helfen bitte wenn es zeitlich bei dir geht?

next user 15.06.17 23:06

Liste der Anhänge anzeigen (Anzahl: 2)
So, ich habs mal gemacht, allerdings muss ich gleich auch weg.
Falls es noch Probleme / Vorschläge gibt, so poste sie bitte.
Werde dann nacher weiter schauen.

Schönen Abend/Nacht noch.

BokiFX 16.06.17 11:26

Hi nochmal. Die Veränderung das der Alert erst nach einer Bestätigung ausgelöst wird, PEEEEERFEKT. Danke nochmals :)

Hab mir noch etwas überlegt. Könntest du mir bitte nochmal dabei helfen. Ich zähle einfach mal auf dann sagst mir was davon hälst.

-Ein weiteres Eingabefeld für "Popup Fenster Alert true/false".
Zusätzlich zum Text im Popup Fenster das Timeframe hinzufügen in dem der Alert ausgelöst wurde.
(Beispiel: 11:16:30 Alarm wurde aktiviert-> EURUSD. M5 - Level 80).
Zusätzlich Sichtbar im Chart wie Email (ON/OFF).

-Ein weiteres Eingabefeld für "SoundFiles Alert true/false"
Zusätzlich Sichtbar im Chart wie Email (ON/OFF).

next user 16.06.17 11:57

Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von BokiFX (Beitrag 38946)
-Ein weiteres Eingabefeld für "Popup Fenster Alert true/false".
Zusätzlich zum Text im Popup Fenster das Timeframe hinzufügen in dem der Alert ausgelöst wurde.
(Beispiel: 11:16:30 Alarm wurde aktiviert-> EURUSD. M5 - Level 80).
Zusätzlich Sichtbar im Chart wie Email (ON/OFF).

-Ein weiteres Eingabefeld für "SoundFiles Alert true/false"
Zusätzlich Sichtbar im Chart wie Email (ON/OFF).

Moment ...

EDIT:
Musste grad kurz was ändern. Hab vergessen, das Text auf 63 Zeichen beschränkt ist.

BokiFX 16.06.17 13:42

Perfekt. Tadellos. Danke Danke Danke :)

Nur nochmal eine Frage zum AlarmReactivate, bzw. deine Meinung dazu.

Ist es möglich den AlarmReactivate so zu verändern, so das er automatisch reaktiviert wird sobald die Signalline über/unterhalb des zuvor erreichten und bestätigten Levels (20/80) abschließt bzw. bestätigt wird?

Beispiel:
Reactivate wenn Signallinie unterhalb von Level 80 abgeschlossen/bestätigt wird.

Reactivate wenn Signallinie überhalb von Level 20 abgeschlossen/bestätigt wird)

Als Levelwert soll automatisch "LevelBottom und LevelTop" dienen.

Die Veränderung das man eine Zeitangabe als Eingabefeld hat ist zwar gut, aber mein Gedanke ist wenn es automatisiert passiert, erleichtert es das ganze noch ein wenig.

Was hältst du davon?

next user 16.06.17 13:51

Meinst du das so:

z.B.
- Level 20/80
- AlarmReactivate = 5 Min.

Jetzt soll AlarmReactivate nach Ablauf der 5 Min. nur aktiv werden, wenn das letzte, bestätigte Signal über 20 bzw. unter 80 ist?

Also eine Kombination von Zeit und Grenze? (Wie ich es vor ein paar Posts gemeint habe)

Zitat:

Zitat von BokiFX (Beitrag 38948)
Die Veränderung das man eine Zeitangabe als Eingabefeld hat ist zwar gut, aber mein Gedanke ist wenn es automatisiert passiert, erleichtert es das ganze noch ein wenig.

Was genau meinst du hier mit automatisiert?

BokiFX 16.06.17 14:29

Liste der Anhänge anzeigen (Anzahl: 1)
Beispiel, Alert Level 80:
Also, aktuell ist es ja so das Popup, Sound und Email Alert (1x) aktiviert werden, sobald die Signallinie über 80 bestätigt worden ist.
Das gleiche gilt bei Level 20.

Die Reaktivierung der Alerts, sollen erst aktiv werden sobald ein Wert unterhalb von Level 80 durch die Signallinie bestätigt worden ist. Gleiches Prinzip wie oben für die Aktivierung der Alerts. Hab ein Screen dazugefügt.

Gelber Pfeil, bestätigte Signallinie über 80 (Grenze) > Alert.
Grüner Pfeil, bestätigte Signallinie unter 80 (Grenze) > Alert Reactivate.

Daher denke ich könnte AlarmReactivate/Minuten wegfallen.



Zitat:

Zitat von next user (Beitrag 38949)

Also eine Kombination von Zeit und Grenze? (Wie ich es vor ein paar Posts gemeint habe)


Eine Kombination würde doch dann entfallen, oder? Faktor Zeit komplett weg lassen.

next user 16.06.17 14:37

Also so, wie es vorher war (bis auf die bestätigte Signallinie).
Wieso wolltest du dann überhaupt, dass ich die Zeit implementiere?

BokiFX 16.06.17 14:44

Zitat:

Zitat von next user (Beitrag 38951)
Wieso wolltest du dann überhaupt, dass ich die Zeit implementiere?


Weil mir das mit der bestätigten Signallinie erst eingefallen ist nachdem ich gesehen habe wie gut es beim AktivateAlert funktioniert. Das hat mich so sehr begeistert das ich mir gedacht habe das es beim ReactivateAlert auch funktionieren sollte. Wusste vorher keine bessere Lösung. Ich entschuldige mich dafür.

next user 16.06.17 15:03

Fällt dir noch etwas ein, bevor ich jetzt hochlade?

BokiFX 16.06.17 15:04

Zitat:

Zitat von next user (Beitrag 38954)
Fällt dir noch etwas ein, bevor ich jetzt hochlade?

Nein :o

Tut mir echt leid. Aber ich denke das es jetzt dann Perfekt sein wird.

next user 16.06.17 15:07

Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von BokiFX (Beitrag 38955)
Nein :o

Tut mir echt leid. Aber ich denke das es jetzt dann Perfekt sein wird.

Kein Problem, ich wollte jetzt nur nicht in'ner Minute erneut mit einer kleinen Änderung hochladen :D

BokiFX 16.06.17 15:11

Verständlich. Fülle mich auch schon etwas aufdringlich mit meinen ganzen Änderungen. Etwas schwierig ohne den Faktor Empathie im Forum.

Auf jeden Fall ein großes Dankeschön an dich.

next user 16.06.17 15:16

Zitat:

Zitat von BokiFX (Beitrag 38957)
Fülle mich auch schon etwas aufdringlich mit meinen ganzen Änderungen.

*Fühle

Ich habe die ganze Zeit etwas am Rechner zu tun, deshalb hab ich dieses Forum parallel in'nem Tab.
Wenn ich keine Lust gehabt hätte, dann würde ich dir auch nicht helfen, also alles gut. :cool:

BokiFX 16.06.17 15:20

Zitat:

Zitat von next user (Beitrag 38958)
*Fühle

:D haha
Wenn es so anfängt sollte man ne Pause einlegen. Bin mal raus. Danke nochmal. Ich gebe dir später ein Feedback sobald ich die Tests durch hab.

BokiFX 16.06.17 19:51

Liste der Anhänge anzeigen (Anzahl: 5)
Hab es jetzt nochmal getestet. Er wiederholt mir wieder die einzeln Alerts. So lange die Signallinie sich im Levelbereich bewegt, werden die Alerts aktiviert und wiederholt. Ich hab in deine Datei die du mir geschickt hast noch die Sounds eingefügt. Könntest du bitte bei Gelegenheit mal schauen ob nicht ich vielleicht einen Fehler gemacht hab. Es eilt nicht.

next user 16.06.17 22:40

Liste der Anhänge anzeigen (Anzahl: 1)
Hab jetz mal kurz geschaut und gesehen, das ich einen kleinen Fehler gemacht habe:
Unten muss es anstatt
Code:

if(ExtMapBuffer2[1] > LevelBottom)
            notalert = true;

so heißen
Code:

if(ExtMapBuffer1[1] > LevelBottom)
            notalert = true;

Dadurch hat er die erste Linie beim Signal, aber die 2 beim Reaktivieren genutzt und besonders im M1-Chart sind diese ja schnell mal auseinander.

Diese mögliche Ursache bestätigen auch deine Screens, wo die meisten ja den unteren Level nutzen (der mit dem Fehler).

Ich hab es jetzt eben noch getestet. Dürfte daran gelegen haben, also änder bei dir mal das oben genannte.
Der oberste Alarm im Screen ist nach der Korrektur aktiv geworden. Danach gab es dieses Problem nicht mehr bei mir.

BokiFX 16.06.17 22:51

Liste der Anhänge anzeigen (Anzahl: 1)
Super. Hab es geändert. Test läuft.

BokiFX 16.06.17 23:02

Hat nicht mehr ausgereicht für einen Test. Werde es Montag früh nochmal testen. Ich gebe dir bescheid. Nochmals vielen Dank für deine Unterstützung. Hilft mir sehr und vor allem sind es meine ersten Schritte in der Programmiersprache. Wünsch dir noch ein schönes Wochenende.

next user 16.06.17 23:06

Market Closed, hehe.

Wünsche dir auch noch ein schönes Wochenende.
Wir hören uns Montag wieder. :cool:

BokiFX 19.06.17 13:51

Liste der Anhänge anzeigen (Anzahl: 3)
Zitat:

Zitat von next user (Beitrag 38965)
Market Closed, hehe.

Ja, ich habe gedacht das ich noch einen Test durch bekomme. Macht nichts, heute geht es weiter.

Und Hallo nochmal :)

Also die aktuellen Einstellungen laufen PERFEKT.

Eine Bitte hätte ich nur noch. Ich möchte versuchen mich mit diesem Indikator daran zu gewöhnen, ohne die Punkte und den Pfeilen zu arbeiten. Könntest du sie mir bitte nur deaktivieren?

next user 19.06.17 14:25

Füge in deinem Code folgendes ein (nicht verwirren lassen :D):

Von
Code:

extern bool      DrawConfirmArrow=true;
zu
Code:

extern bool      DrawConfirmArrow=true;
extern bool      DrawConfirmDot=true;

Von
Code:

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,NULL);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,NULL);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,ExtMapBuffer4);

zu
Code:

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,NULL);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,NULL);
 
if(DrawConfirmDot)
{
  SetIndexStyle(2,DRAW_ARROW);
  SetIndexArrow(2,159);
  SetIndexBuffer(2,ExtMapBuffer3);
  SetIndexStyle(3,DRAW_ARROW);
  SetIndexArrow(3,159);
  SetIndexBuffer(3,ExtMapBuffer4);
}

Damit kannst du es bequem bei den Eingabeparametern einstellen, falls du sie doch mal aktiv haben möchtest.

================================================== =======

Wenn du komplett (immer) weg haben möchtest, so mache im Code folgendes:
(Beachte, dass ist NICHT notwendig, allerdings wenn du die Codeteile wirklich nicht nutzen wirst, so solltest du sie besser auskommentieren oder löschen)

Von
Code:

extern int        MainHP=3;
extern int        SignalHP=3;
extern bool      DrawConfirmArrow=true;

zu
Code:

/*
extern int        MainHP=3;
extern int        SignalHP=3;
extern bool      DrawConfirmArrow=true;
*/

Von
Code:

double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];

zu
Code:

double ExtMapBuffer1[];
double ExtMapBuffer2[];
/*
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
double ExtMapBuffer6[];
*/

Von
Code:

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,NULL);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,NULL);
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,ExtMapBuffer4);

if(DrawConfirmArrow)
{
  SetIndexStyle(4,DRAW_ARROW);
  SetIndexArrow(4,234);//(4,159);
  SetIndexBuffer(4,ExtMapBuffer5);
  SetIndexStyle(5,DRAW_ARROW);
  SetIndexArrow(5,233);//(5,159);
  SetIndexBuffer(5,ExtMapBuffer6);
}

SetIndexEmptyValue(5,0.0);   
SetIndexDrawBegin(0,K+D+S);
SetIndexDrawBegin(1,K+D+S); 
SetIndexDrawBegin(2,K+D+S); 
SetIndexDrawBegin(3,K+D+S); 
SetIndexDrawBegin(4,K+D+S); 
SetIndexDrawBegin(5,K+D+S); 
IndicatorShortName("S_p");

zu
Code:

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexLabel(0,NULL);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexLabel(1,NULL);
/*
SetIndexStyle(2,DRAW_ARROW);
SetIndexArrow(2,159);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(3,159);
SetIndexBuffer(3,ExtMapBuffer4);

if(DrawConfirmArrow)
{
  SetIndexStyle(4,DRAW_ARROW);
  SetIndexArrow(4,234);//(4,159);
  SetIndexBuffer(4,ExtMapBuffer5);
  SetIndexStyle(5,DRAW_ARROW);
  SetIndexArrow(5,233);//(5,159);
  SetIndexBuffer(5,ExtMapBuffer6);
}

SetIndexEmptyValue(5,0.0); 
SetIndexDrawBegin(2,K+D+S); 
SetIndexDrawBegin(3,K+D+S); 
SetIndexDrawBegin(4,K+D+S); 
SetIndexDrawBegin(5,K+D+S);
*/     
SetIndexDrawBegin(0,K+D+S);
SetIndexDrawBegin(1,K+D+S);
IndicatorShortName("S_p");

Von
Code:

if(ArrayMaximum(ExtMapBuffer1,MainHP*2+1,i)==i+MainHP)
  ExtMapBuffer3[i+MainHP]=ExtMapBuffer1[i+MainHP];
if(ArrayMinimum(ExtMapBuffer1,MainHP*2+1,i)==i+MainHP)
  ExtMapBuffer4[i+MainHP]=ExtMapBuffer1[i+MainHP];   

if(ArrayMaximum(ExtMapBuffer2,SignalHP*2+1,i)==i+SignalHP)
  ExtMapBuffer5[i+SignalHP]=ExtMapBuffer2[i+SignalHP];
if(ArrayMinimum(ExtMapBuffer2,SignalHP*2+1,i)==i+SignalHP)
  ExtMapBuffer6[i+SignalHP]=ExtMapBuffer2[i+SignalHP];

zu
Code:

/*     
if(ArrayMaximum(ExtMapBuffer1,MainHP*2+1,i)==i+MainHP)
  ExtMapBuffer3[i+MainHP]=ExtMapBuffer1[i+MainHP];
if(ArrayMinimum(ExtMapBuffer1,MainHP*2+1,i)==i+MainHP)
  ExtMapBuffer4[i+MainHP]=ExtMapBuffer1[i+MainHP];   

if(ArrayMaximum(ExtMapBuffer2,SignalHP*2+1,i)==i+SignalHP)
  ExtMapBuffer5[i+SignalHP]=ExtMapBuffer2[i+SignalHP];
if(ArrayMinimum(ExtMapBuffer2,SignalHP*2+1,i)==i+SignalHP)
  ExtMapBuffer6[i+SignalHP]=ExtMapBuffer2[i+SignalHP];           
*/


BokiFX 19.06.17 16:22

DANKESCHÖN

Zitat:

Zitat von next user (Beitrag 38981)
Wenn du komplett (immer) weg haben möchtest, so mache im Code folgendes:
(Beachte, dass ist NICHT notwendig, allerdings wenn du die Codeteile wirklich nicht nutzen wirst, so solltest du sie besser auskommentieren oder löschen)

Korrigiere mich bitte falls ich Falsch liege. Löschen würde bedeuten das alle Bereiche die ich jetzt mit /* */ gekennzeichnet habe, löschen müsste?

next user 19.06.17 17:14

Jap. Das Auskommentierte löschen.
Allerdings nur, wenn du dir sicher bist, dass du es nicht
brauchen wirst.
Daher habe ich es erstmal auskommentiert.

BokiFX 22.03.18 10:54

stochastic-signal Hintergrund Farbe
 
Hallo alle miteinander. Ich war die letzten Monate gesundheitlich außer Gefecht. Jetzt geht es weiter :D jupiii

Bei meinen (Fehl-) Trades die ich regelmäßig nach analysiere erkenne ich immer wieder das gleiche Problem. Während den schnellen Phasen im kleinen Timeframe vernachlässige ich unbewusst den Stochastik Indikator der so ziemlich am wichtigsten ist in meiner Strategie.

Nun mein Anliegen. Könnte mir jemand bitte helfen den „stochastic-signal“ so umzuprogrammieren, oder eine Lösung vorschlagen, dass er mir zu den bestehenden Signalen wie Email, Sound und Popup, in einer definierten Ebene z.B. 80, die komplette Hintergrundfarbe im Bereich des Indikators in einer auswählbaren Farbe automatisch verändert. Zum Beispiel Grün. So das ich Visuell eine weitere Bestätigung habe und ich mich währen der Grünphase voll auf den Preischart konzentrieren kann. Unterschreitet die Hauptlinie die Ebene 80 wieder und die aktuelle Kerze schließt dabei ab, soll die Hintergrundfarbe automatisch wieder zurück zur ursprünglichen weißen Hintergrundfarbe wechseln.

Das gleiche Prinzip für die entgegengesetzte Ebene 20.

Wichtig zu wissen, der „stochastic-signal“ vergibt nur ein Signal wenn die Hauptlinie sich z.B. über Ebene 80 befindet und die aktuelle Kerze abgeschlossen ist.

Ich hoffe das mir jemand mit meinem Problem helfen kann und bedanke mich im Voraus für eine Lösung oder Tipp.

BokiFX 22.03.18 11:15

Indikator
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hier noch der Indikator dazu

next user 22.03.18 15:22

Soweit ich weiß, gibt es für das Chartfenster, sowie für alle Subwindows nur eine einzige Hintergrundfarbe (Farbe des Chartfensters).

Du könntest aber sowas machen wie z.B. einen Rechteck in den Hintergrund setzen.

BokiFX 22.03.18 15:50

Rechteck
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi next user. Danke für deine Antwort. Genau so habe ich mir das öfter mal mit dem Rechteck eingebetet um zu sehen wie es wirkt, so kam auch die Idee zu Stande.

Nur wäre es Toll wenn der Indikator sozusagen dieses farbige Rechteck in den definierten Ebenen automatisch aktiviert in denen ich es benötige, z.B. Ebene über 80 oder unter 20 die ich festlege. Und natürlich wieder deaktiviert sobald die Ebene wieder in die entgegensetzte Richtung durchbrochen wird.

next user 23.03.18 06:42

Zitat:

Zitat von BokiFX (Beitrag 40645)
Nur wäre es Toll wenn der Indikator sozusagen dieses farbige Rechteck in den definierten Ebenen automatisch aktiviert in denen ich es benötige, z.B. Ebene über 80 oder unter 20 die ich festlege. Und natürlich wieder deaktiviert sobald die Ebene wieder in die entgegensetzte Richtung durchbrochen wird.

Da hast du im Indikator doch schon alles, was du dazu brauchst...
  • In
    Code:

    if(ExtMapBuffer1[1] > LevelTop)
    setzt du die Farbe bei oberen Durchbruch.
  • In
    Code:

    else if(ExtMapBuffer1[1] < LevelBottom)
    setzt du die Farbe bei unteren Durchbruch.
  • Danach setzt du noch ein "else" hinten ran und setzt dort die Farbe bei keinem Durchbruch.

BokiFX 23.03.18 11:11

Sorry next user, bin in Sachen Pro-Sprache noch keinen Schritt weiter gekommen. Mag bestimmt easy für die Profis sein, aber die Zeit habe ich im Moment leider nicht meinen Fokus dahingehend zu verlagern. Muss mich nach der langen Pause erst wieder an das Traden konzentrieren.

Wäre dir sehr Dankbar wenn mir damit helfen würdest, ansonsten vielen Dank dafür:)

next user 23.03.18 17:06

Zitat:

Zitat von BokiFX (Beitrag 40655)
Sorry next user, bin in Sachen Pro-Sprache noch keinen Schritt weiter gekommen. Mag bestimmt easy für die Profis sein, aber die Zeit habe ich im Moment leider nicht meinen Fokus dahingehend zu verlagern. Muss mich nach der langen Pause erst wieder an das Traden konzentrieren.

Wäre dir sehr Dankbar wenn mir damit helfen würdest, ansonsten vielen Dank dafür:)

Kein Problem. Ich dachte nur, da du das Rechteck reinbekommen hast, das du dann auch damit keine Probleme hättest.

Aber ist ja auch nach langer Zeit erstmal wieder "umstellen" im Kopf.

Deinen Code musst du um die roten Zeilen erweitern. Den Code aber an die richtige Stelle setzen.
Code:

if(ExtMapBuffer1[1] > LevelTop)
{
  // Über bestätigter, oberer Ebene -> z.B. Grün
  ObjectSetInteger(0,"DEIN RECHTECK",OBJPROP_COLOR,clrGreen);

  if(SoundAlert)
      PlaySound(soundDatei);
  if(PopupAlert) 
      Alert("Alarm wurde aktiviert -> ",Symbol()," im ",t_period," - ","Level ",LevelTop);
     
  // weiterer Code ...
}
else if(ExtMapBuffer1[1] < LevelBottom)
{
  // Unter bestätigter, unterer Ebene -> z.B. Rot
  ObjectSetInteger(0,"DEIN RECHTECK",OBJPROP_COLOR,clrRed);

  if(SoundAlert)
      PlaySound(soundDatei);
  if(PopupAlert) 
      Alert("Alarm wurde aktiviert -> ",Symbol()," im ",t_period," - ","Level ",LevelBottom);
     
  // weiterer Code ...
}
else // Dieses else musst du noch erstellen!
  // Zwischen den Ebenen, also KEIN Signal -> z.B. Grau (hier Standardfarbe, mit der du das Rechteck erstellt hast...)
  ObjectSetInteger(0,"DEIN RECHTECK",OBJPROP_COLOR,clrGray);



Alle Zeitangaben in WEZ +2. Es ist jetzt 09: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