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)
-   -   Ganz einfaches Skript (http://www.expert-advisor.com/forum/showthread.php?t=3396)

Aleksandra 31.12.13 09:50

Ganz einfaches Skript
 
Guten Morgen,
ich habe von Programmierung überhaupt keine Ahnung wollte mir aber ein skipt schreiben, welches mir einen Alarm ausgiebt sobald der vorige Bar positiv geschlossen hat.
Meine Frage: Läuft das Skript so lange, bis der vorige Bar positiv ist und ein Signal ausgegeben wird? Oder läuft das Skript einmal durch und gibt bei eingetretenem Ereignis ein Signal und wird sonst nur beendet?


//
extern bool AlertPopups=true;
extern bool AlertSounds=true;
extern string SoundFileLongAlert = "alert.wav";
extern string SoundFileShortAlert = "alert.wav";
extern bool AlertEmails=false;
extern bool AlertNotifications=false;
//

int start()
{
if (Close[1] - Open[1] > 0)
doAlerts(Symbol()+" Positiver Bar",SoundFileShortAlert);
}

//
void doAlerts(string message,string SoundFile) {
if (AlertPopups) Alert(message);
if (AlertSounds) PlaySound(SoundFile);
if (AlertEmails) SendMail(WindowExpertName()+" "+message,message);
if (AlertNotifications) SendNotification(message);
}

traderdoc 31.12.13 12:43

Ein Script läuft einmalig durch, d.h. es würde nur einmal ein Signal ausgegeben, falls überhaupt eines anliegt.

traderdoc

Aleksandra 31.12.13 14:50

Danke für die Antwort.
Dann gibt es keine Möglichkeit ein Skript zu schreiben, dass solange durchläuft, bis eine bestimmte Situation eintritt.
Wie in meinem Fall, dass das Skript ein Signal ausgibt wenn "irgendwann" der vorige Bar positiv geschlossen hat.
Ein Konkretes Beispiel: Ich aktiviere das Skript, es entstehen anschließend noch 2 negative Bar und dann ein positiver. Es wird ein Signal nach dem positiven Bar gegeben.

traderdoc 31.12.13 16:33

Ein Script wird das nicht erledigen können (nur mit einer unendlichen internen Schleife - macht man aber nicht!)
Die Lösung wäre ein Indikator oder ein EA.

traderdoc

Aleksandra 31.12.13 17:22

Ein Indikator oder EA wären in meinem Fall leider keine Lösung weil diese eben konstant im Hintergrund laufen. Was ich will ist aber nur eine temporäre suche nach eben einem posotiven bzw negativen Bar.
Hintergrund: Hat der Preis bestimmte Zonen erreicht wo ich bei den nächsten 2-3 Bar von einem Richtungswechsel ausgehe wäre es schön, wenn ich mich so hätte alamieren können. Da ich mit Renkos arbeite kann es nämich teilweise sehr lange dauern, bis sich dann ein neuer Bar fertig gebildet hat.
Aber wenn das nicht möglich ist muss ich mir eine andere Lösung überlegen.

Kann ich anstatt einer Endlosschleife eine Schleife programmieren die das Script nur 3 oder 4 Perioden (Bar) laufen lässt. Würde meinen Zweck auch erfüllen.

traderdoc 31.12.13 17:51

Richtig ist, dass nur ein EA laufen kann.
Falsch ist, dass nicht mehrere Indikatoren laufen können.

Lösungen:

1. Den Alert in den bestehenden EA integrieren.
2. Einen Indikator schreiben.

traderdoc

Aleksandra 31.12.13 18:42

Zitat:

Richtig ist, dass nur ein EA laufen kann.
Falsch ist, dass nicht mehrere Indikatoren laufen können.

Lösungen:

1. Den Alert in den bestehenden EA integrieren.
2. Einen Indikator schreiben.
In wieweit hängt das mit meiner Frage bzw Problem zusammen?

traderdoc 31.12.13 18:46

Na, Du suchst doch eine Umsetzungsmöglichkeit für Dein Problem, oder nicht?
Ich habe Dir in meinem letzten Post zwei Lösungen geschrieben.

traderdoc

fxdaytrader 01.01.14 18:35

Zitat:

Zitat von Aleksandra (Beitrag 24545)
Ein Konkretes Beispiel: Ich aktiviere das Skript, es entstehen anschließend noch 2 negative Bar und dann ein positiver. Es wird ein Signal nach dem positiven Bar gegeben.

Wie der doc schon sagt -> Indikator oder EA. :)

Soll das Ganze nur einmalig ablaufen kann man das doch regeln.
Ganz simpel bspw. anfangs wird eine variable bool done=false gesetzt.

Ist das von Dir gewünschte Ereignis eingetreten wird done=true. Und der indikator/ea läuft nur weiter wenn done=false ist. Fertig wäre die Laube :cool:

Aleksandra 03.01.14 10:52

Ich danke Euch beiden.
Habe es tatsächlich geschafft mir einen Indikator zu basteln der bisher genau das macht was ich will.

Aber eine Frage habe ich noch. Ich habe den Signalton abgeändert, zumindest habe ich eine andere Sounddatei angegeben. Und bevor die Frage kommt, ja... diese Datei existiert auch und ist im richtigen Ordner. Trotzdem wird immer der nervige "alert" abgespielt. Ich werde noch wahnsinnig!
Weiß jemand woran das kiegen kann?


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