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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43251
Benutzer: 7.219
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Hopfen&Malz
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Hopfen&Mal...
vor 2 Tagen
- frankmicha...
vor einer Woche
- DFeck
vor einer Woche
- bb1107
vor 2 Wochen
- rg-trader

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 246
Gesamt: 246
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #71 (permalink)  
Alt 19.06.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

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

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];             
*/
  #72 (permalink)  
Alt 19.06.17
Mitglied
 
Registriert seit: Apr 2017
Ort: Augsburg
Beiträge: 63
BokiFX befindet sich auf einem aufstrebenden Ast
Standard

DANKESCHÖN

Zitat:
Zitat von next user Beitrag anzeigen
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?
  #73 (permalink)  
Alt 19.06.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Jap. Das Auskommentierte löschen.
Allerdings nur, wenn du dir sicher bist, dass du es nicht
brauchen wirst.
Daher habe ich es erstmal auskommentiert.
  #74 (permalink)  
Alt 22.03.18
Mitglied
 
Registriert seit: Apr 2017
Ort: Augsburg
Beiträge: 63
BokiFX befindet sich auf einem aufstrebenden Ast
Standard stochastic-signal Hintergrund Farbe

Hallo alle miteinander. Ich war die letzten Monate gesundheitlich außer Gefecht. Jetzt geht es weiter 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.
  #75 (permalink)  
Alt 22.03.18
Mitglied
 
Registriert seit: Apr 2017
Ort: Augsburg
Beiträge: 63
BokiFX befindet sich auf einem aufstrebenden Ast
Standard Indikator

Hier noch der Indikator dazu
Angehängte Dateien
Dateityp: ex4 stochastic-signals.ex4 (24,2 KB, 0x aufgerufen)
Dateityp: mq4 stochastic-signals.mq4 (25,9 KB, 2x aufgerufen)
  #76 (permalink)  
Alt 22.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

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.
  #77 (permalink)  
Alt 22.03.18
Mitglied
 
Registriert seit: Apr 2017
Ort: Augsburg
Beiträge: 63
BokiFX befindet sich auf einem aufstrebenden Ast
Standard Rechteck

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.
Angehängte Grafiken
Dateityp: jpg 2018-03-22 at 15-49-21.jpg (25,4 KB, 12x aufgerufen)
  #78 (permalink)  
Alt 23.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BokiFX Beitrag anzeigen
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.
  #79 (permalink)  
Alt 23.03.18
Mitglied
 
Registriert seit: Apr 2017
Ort: Augsburg
Beiträge: 63
BokiFX befindet sich auf einem aufstrebenden Ast
Standard

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
  #80 (permalink)  
Alt 23.03.18
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von BokiFX Beitrag anzeigen
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);
Thema geschlossen

Lesezeichen

Stichworte
alarm, alarm einfügen, mql4, programmierung, programmierung metatrader, programmierung mql4, stochastik alarm einfügen

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





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