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: 3824
Beiträge: 36914
Benutzer: 6.076
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: Spitzmaus
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 5 Stunden
- Spitzmaus
vor 7 Stunden
- juleslesqu...
vor einem Tag
- hmf44
vor einem Tag
- Crossa
vor einem Tag
- snatshit

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 37
Gesamt: 38
Team: 0
Team:  
Benutzer:  peddy100x
Freunde anzeigen

Empfehlungen

Werbung

Like Tree6Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 05.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, meistens sind es immer nur "Kleinigkeiten", die einen verzweifeln lassen.
Deshalb empfehle ich jeden, an bestimmten Stellen des Codes Alert()-Funktionen einzubauen, mit einem spezifischen Text. Dann erkennt man relativ leicht, wo das Programm hinläuft oder eben nicht. Dann kann man die möglichen Fehlerquellen einengen, bis man halt genau die Stelle hat, wo die Säge klemmt.

Viel Erfolg!

traderdoc
Nordlicht likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #12 (permalink)  
Alt 18.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard Bedingungen

Hallo zusammen!

Möchte den Code erweitern.

Wenn der Stoch z.B. unten war, also z.B. unter 20, soll er nichts machen, sondern erst wenn er dreht und rauskommt, z.B. 21 einen Long eingehen.

Ich habe zwei "If" Bedingungen hintereinander gestellt. Das funktioniert aber nicht, weil er nun wohl auf die Erfüllung beider Bedingungen wartet.

Es soll aber erst die eine erfüllt werden, um dann die zweite zu nehmen.

Also irgendwas zwischen den beiden "If" Anweisungen fehlt. Bloß was?

PHP-Code:
      if(NeuePeriodeBegonnen == true)
         {
            
//Buy Signal Stoch 
            
if((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 80) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 80)))
                  {
                   if((((
iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)))
               {
                  
LongSignal true;
               }
               }
            else 
LongSignal =false
Vielen Dank für Eure Antworten
  #13 (permalink)  
Alt 18.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Habe es mit Datetime versucht. Funktioniert aber nicht und spielt Irre.

PHP-Code:
         {
            
//Buy Signal Stoch 
            
if((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 80) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 80)))
                  {
                     
datetime SignalZeit=TimeCurrent();
                  }
                  if(
SignalZeit!=EMPTY_VALUE)
                  {
                   if((((
iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)))
               
SignalZeit=EMPTY_VALUE;
               {
               
                  
LongSignal true;
               }
               } 
  #14 (permalink)  
Alt 19.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Nach gefühlten 100.000 Versuchen!

So geht es dann auch, wenn es dann passt.

PHP-Code:
         
            
//Sell Signal Stoch  
            
if(((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) < 79) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) < 79)) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN2) > 80)) 
                 
// { 
                   //  datetime SignalZeit=TimeCurrent(); 
  //                } 
    //              if(SignalZeit!=EMPTY_VALUE) 
      //            { 
        //           if((((iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 0) > 79) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_SIGNAL, 0) > 79))) 
          //     SignalZeit=EMPTY_VALUE; 
               

                
                  
ShortSignal true
               } 
               
            else 
ShortSignal =false;
           
           
            
//By Signal Stoch
            
if(((((iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN0) > 21) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_SIGNAL0) > 21) && iStochastic(NULL,0,K_PeriodeD_PeriodeVerlangsMODE_SMA0MODE_MAIN2) < 20))) 
        
//          { 
          //           SignalZeit=TimeCurrent(); 
            //      } 
              //    if(SignalZeit!=EMPTY_VALUE) 
                //  { 
                  // if((((iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 0) < 21) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_SIGNAL, 0) < 21))) 
            //   SignalZeit=EMPTY_VALUE; 
               

                
                  
LongSignal true
               } 
Bringt bloß leider überhaupt nichts, wenn nicht Range ist.

RRRRRRRRRR - Verzweifel
  #15 (permalink)  
Alt 20.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Nun, da sollten wir erst einmal klären, ob das Triggersignal auf der letzten geschlossenen Kerze liegen soll oder auf der aktuellen Kerze? D.h. soll bei einem Kerzenwechsel der Close-Kurs der letzten geschlossenen Kerze betrachtet werden, der dann unter 80 oder über 20 liegen soll oder soll eben das Signal kommen, sobald der Kurs der aktuellen Kerze unter 80 oder über 20 liegt?

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #16 (permalink)  
Alt 20.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

Moin mein lieber!

Hatte im stillen ein wenig die Hoffnung, dass Du dich meldest.

Das Signal sollte eigentlich kommen, sobald der Kurs die 21 überschreitet, bzw. die 79 unterschreitet.

Mir ist es jedoch nicht gelungen, die Bewegung unter 20 bzw. über 80, als Bedingung zu "verankern", die erfüllt sein muss, um dann über 21 bzw. unter 79 ein Signal zu erhalten.

Deswegen dieser Umweg über Perioden. Der dann auch noch direkt passen muss.

Eigentlich soll es egal sein, wie viel Kerzen (Perioden) zwischen z.B. unter 20 und über 21 entstehen.
  #17 (permalink)  
Alt 20.02.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.875
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Bin auf Dienstreise und könnte den Code nicht! testen.
Bei Kerzenwechsel wird die MAIN-Linie auf Kerze 2 und 1 ausgelesen und bei Verlassen der 80er bzw 20er Linie das Signal generiert, welche dann noch in der Ordersetzung umgesetzt werden muß.

Code:
//an entsprechender Stelle LongSignal und ShortSignal mit bool deklarieren und auf false setzen. Und datetime OldTime; deklarieren.
if (Time[0] != OldTime) { 
   if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) >= 80) && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) < 80) { 
      LongSignal = true;
   }
   if(iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 2) <= 20 && iStochastic(NULL,0,K_Periode, D_Periode, Verlangs, MODE_SMA, 0, MODE_MAIN, 1) > 20) { 
      ShortSignal = true;
   }
   OldTime = Time[0];
}
if (LongSignal) {
   int ticket = OrderSend(...);
   if (ticket > 0) LongSignal = false;
}
if (ShortSignal) {
   int ticket = OrderSend(...);
   if (ticket > 0) ShortSignal = false;
}
Viel Erfolg!

traderdoc
JoeDormann and Nordlicht like this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #18 (permalink)  
Alt 21.02.15
Mitglied
 
Registriert seit: Jan 2015
Ort: Norddeutschland
Beiträge: 42
Nordlicht befindet sich auf einem aufstrebenden Ast
Standard

P E R F E K T !!

Vielen Dank, läuft gut.

Noch viel Erfolg auf der Geschäftsreise.

Gruß
Thema geschlossen

Lesezeichen

Stichworte
mql4, programmierung, programmierung metatrader, stochastic, stochastic programmierung, stochastic signal


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 01:53 Uhr.



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