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: 4480
Beiträge: 40700
Benutzer: 6.862
Aktive Benutzer: 249
Links: 80
Wir begrüßen unseren neuesten Benutzer: ThaScorp
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- ThaScorp
vor 5 Tagen
- Guido
vor 6 Tagen
- danilo
vor einer Woche
- alex2012
vor einer Woche
- drater

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 79
Gesamt: 80
Team: 0
Team:  
Benutzer:  traderdoc
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 25.03.20
WD2 WD2 ist offline
Neues Mitglied
 
Registriert seit: Mar 2020
Beiträge: 7
WD2 befindet sich auf einem aufstrebenden Ast
Standard Indikator Werte

Hallo zusammen,

ich habe einen Indikator(ex4) der mir anzeigt wann ein Trend da ist. Entweder ist das Signal Rot oder Grün. Jetzt möchte ich gerne wenn das Signal 2 Bars lang rot ist ein Short Signal gesetzt wird und wenn das Signal 2 Bars grün ist ein Long Signal. Dabei soll er aber nur ein Signal pro richtung setzten und keine 1000 Eröffnen. Das soll ja mit einer Abfrage bool gehen aber richtig funktinoieren tut es bei mir nicht. Mein Code

Code:
//---
 HMAUP = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,1);
 HMADOWN = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,2);

   total=OrdersTotal();
   if(total<1)
     {
      
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ",AccountFreeMargin());
         return;
        }
      
      if(HMAUP == HMAUP && result == true && HMAUP==Open[3])
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"macd sample",16384,0,Green);
         result = false;
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("BUY order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening BUY order : ",GetLastError());
         return;
        }
      
      if(HMADOWN == HMADOWN && result == false)
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,"macd sample",16384,0,Red);
         result = true;
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
               Print("SELL order opened : ",OrderOpenPrice());
           }
         else
            Print("Error opening SELL order : ",GetLastError());
        }
Mit Zitat antworten
  #2 (permalink)  
Alt 25.03.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 949
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Was für ein Indikator?

Edit:Hast Du den Quellcode von dem Indi?
Mit Zitat antworten
  #3 (permalink)  
Alt 25.03.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.373
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Er hat doch geschrieben, dass es eine ex4-Datei ist!!!!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #4 (permalink)  
Alt 25.03.20
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 196
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Was für ein Indikator?

Edit:Hast Du den Quellcode von dem Indi?
Schade! Jetzt müssen wir auf die Source-Code-Analyse von MA-EA verzichten...
Bedaure ich sehr...

@WD2 wenn es kein Problem macht, poste die ex4-Datei. Ich denke, Dir kann geholfen werden!
Mit Zitat antworten
  #5 (permalink)  
Alt 25.03.20
WD2 WD2 ist offline
Neues Mitglied
 
Registriert seit: Mar 2020
Beiträge: 7
WD2 befindet sich auf einem aufstrebenden Ast
Standard

Hallo RetepM, anbei die ex4 datei. Ein bisschen habe ich schon probiert aber leider läuft es nicht so wie ich es mir vorstelle.
Angehängte Dateien
Dateityp: ex4 HMA Dynamic Color.ex4 (18,1 KB, 5x aufgerufen)
Mit Zitat antworten
  #6 (permalink)  
Alt 25.03.20
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.373
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

In den beiden Zeilen ist keine Kerze angesprochen:

HMAUP = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,1);
HMADOWN = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,2);

Die 1 und 2 sollten demnach die beiden Buffer sein und dahinter muss nun der Kerzenindex gestellt werden. Wenn auf zwei Bars dieselbe Farbe kommen muss, dann brauchst Du schon mal 2 Variablen für jedes Signal:

HMAUP1 = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,1,1);
HMAUP2 = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,1,2);

HMADOWN1 = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,2,1);
HMADOWN2 = iCustom(NULL,0,"HMA Dynamic Color",HMALine,false,false,false,2,2);

Was soll das
if(HMAUP == HMAUP
und
if(HMADOWN == HMADOWN
ergeben, außer ein permanentes true?

Da müssten dann stehen:

if (HMAUP1 == HMAUP2 ...

nachdem aber oben die beiden Variablen HMAUP1 und HMAUP2 auch wirklich dasselbe UP-Signal haben. Hätten sie beide kein!! Signal würde auch hier ein true folgen.

Das mal als erster Ansatz, auf den Rest kommst Du evtl. alleine oder andere.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #7 (permalink)  
Alt 26.03.20
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 196
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von WD2 Beitrag anzeigen
Hallo RetepM, anbei die ex4 datei. Ein bisschen habe ich schon probiert aber leider läuft es nicht so wie ich es mir vorstelle.
Hi, die gepostete ex4 läuft nicht. Wenn ich mir das im Original anschaue, dann gibt es dort einen Installer, dem ich nicht traue. Deshalb kann ich Dir im Moment nicht weiterhelfen, leider. Wenn ich mehr Zeit gucke ich aber nochmal.
Grüße
Mit Zitat antworten
  #8 (permalink)  
Alt 26.03.20
WD2 WD2 ist offline
Neues Mitglied
 
Registriert seit: Mar 2020
Beiträge: 7
WD2 befindet sich auf einem aufstrebenden Ast
Standard

Also ich bin etwas weiter gekommen aber jetzt hängt es bei einem Thema. Wenn die 2 sich kreuzen ist das Signal falsch. Also ganz einfach es soll grün sein für ein UP Trend und der HMA Indikator soll denn MA von unten nach oben kreuzen und es sollen höchstens 3 Kerzen davor über dem MA indikator sein bevor der HMA denn MA kreuzt. Übriegens habe ich einen anderen HMA Indikator gefunden der öffentlich ist. Euch beiden aber schonmal danke. @traderdoc @RetepM

Code:
      HMAUP0 = iCustom(NULL,0,"HMA_withAlerts",HMAPeriod,HMAMethod,HMAPrice,false,false,"HMA Color Change",0,0);
      HMAUP1 = iCustom(NULL,0,"HMA_withAlerts",HMAPeriod,HMAMethod,HMAPrice,false,false,"HMA Color Change",0,1);
      HMAUP2 = iCustom(NULL,0,"HMA_withAlerts",HMAPeriod,HMAMethod,HMAPrice,false,false,"HMA Color Change",0,2);

      HMADOWN1 = iCustom(NULL,0,"HMA_withAlerts",HMAPeriod,HMAMethod,HMAPrice,false,false,"HMA Color Change",1,1);
      HMADOWN2 = iCustom(NULL,0,"HMA_withAlerts",HMAPeriod,HMAMethod,HMAPrice,false,false,"HMA Color Change",1,2);
      
      MA1     = iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOSE,1);
      MA2     = iMA(NULL,0,MAPeriod,0,MODE_EMA,PRICE_CLOSE,2);

      double HMA    = (HMAUP1 == HMAUP2);
      double MA     = (HMAUP0 > MA1);
      
      if(HMAUP1 == HMAUP2 && HMAUP0 > MA1)
      {Comment("HMAUP is up");}
Angehängte Dateien
Dateityp: mq4 HMA_withAlerts.mq4 (11,0 KB, 4x aufgerufen)
Mit Zitat antworten
Antwort

Lesezeichen

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 +2. Es ist jetzt 10:38 Uhr.





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