Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4
Startseite Registrieren Hilfe Community Kalender Heutige Beiträge Suchen

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43261
Benutzer: 7.223
Aktive Benutzer: 73
Links: 84
Wir begrüßen unseren neuesten Benutzer: TS_6
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 51 Minuten
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 325
Gesamt: 326
Team: 0
Team:  
Benutzer:  AM581
Freunde anzeigen

Empfehlungen

Like Tree1Likes
  • 1 Post By traderdoc
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 23.02.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard Operatoren umkehren durch eine Variable/Funktion?!?

Hallo,

sagt mal ist es möglich den Operator < oder > ,in der if() Bedingung, zu ersetzen durch eine Variable oder Funktion?!?

als beispiel Code:

Code:
  if ( ObjektA[0] < ObjektB[0] && ObjektA[0] > ObjektC[0])
wenn ich das in umgekehrter Richtung benötige brauch ich ja nur die Pfeile umkehren , Wenn man eine Lange Liste dieser abfragen hat, erspart man sich eben nen haufen Code.

hat jem nen tipp??


LG
  #2 (permalink)  
Alt 23.02.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ich glaube, man ist beim Umdrehen der Zeichen schneller.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #3 (permalink)  
Alt 23.02.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

auch bei ca. 500 solcher Bedingungen Doc???

So viele hab ich in etwas, für ein paar zeilen wäre das ned so dramatisch, da würd ich es einfach so stehen lassen.....
  #4 (permalink)  
Alt 23.02.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Trader6666 Beitrag anzeigen
auch bei ca. 500 solcher Bedingungen Doc???

So viele hab ich in etwas, für ein paar zeilen wäre das ned so dramatisch, da würd ich es einfach so stehen lassen.....
Dann machst Du prinzipiell was falsch.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 24.02.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

*lach* ja "prinzipiell" erfüllt der Befehl seinen zweck, aber du hast recht, Codetechnisch ist die Lösung mehr als Suboptimal,was sich da an Codezeilen sammelt is schon enorm, Anfänger die sich in der Programmierung versuchen, fällt es sichtlich schwer Objekt orientiert zu Coden,das abstrakte denken sich anzueignen ist echt ned leicht, deswegen sehen unsere Befehle wohl auch so gaga aus für euch Profis

Hab deswegen versucht es anders zu lösen.
Ich versuche eine Art Regler zu basten der Objekte je nach Position des Reglers, ein und ausblenden soll. Aber ich komm partou ned drauf wie ich das angehen soll


Der Regler darf sich ja nur stur nach links/rechts und oben/unten bewegen.
HLINE und VLINE gehen ja auch über den kompletten bildschirm kann ich auch ned nehemen, Wenn ich andere Objekte nehm dann kann ich die kreuz und quer ziehen.

Wenn du nenn Tipp hättest wäre ich dir echt sehr dankbar......zerbrech mir echt die ganze tage schon den kopf wie ich das anstellen kann komm leider ned selber drauf , im Anhang findest du ein Beispiel was ich meine
Angehängte Grafiken
Dateityp: png Bsp1.png (21,5 KB, 6x aufgerufen)
  #6 (permalink)  
Alt 24.02.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja, das ist nicht so einfach zu lösen.

Nehmen wir mal die senkrechte Linie mit den drei Haltepunkten in Deinem Bild und nehmen wir z.B. an, dass sich diese Trendlinie!! über der Kerze 3, also Time[3], befindet.
Soll die Trendlinie mittels
ObjectCreate("Test", OBJ_TREND, 0, Time[3], 1.0576, Time[3], 1.0556);
gezeichnet worden sein.
Würde man nun z.B. am unteren Haltepunktdie Linie statt senkrecht nach unten, diagonal nach unten ziehen, dann geht das nur in der Waagerechten in Schritten der Kerzen. Um die Linie, die nun z.B. unten über der Kerze 1 steht, wieder in die Senkrechte zu bringen, gibt es zwei Möglichkeiten:

1. Die permanente Setzung der Trendlinie auf die Zeit Time [3]
ObjectSet("Test", OBJPROP_TIME1, Time[3]);
ObjectSet("Test", OBJPROP_TIME2, Time[3]);

oder nach Abfage, ob sich die Trendlinie in der Senkrechten verändert hat:

if (ObjectGet("Test", OBJPROP_TIME1) != Time[3]) ObjectSet("Test", OBJPROP_TIME1, Time[3]);
if (ObjectGet("Test", OBJPROP_TIME2) != Time[3]) ObjectSet("Test", OBJPROP_TIME2, Time[3]);

Nachteil ist, dass die Linie nur dann wieder in die Senkrechte gebracht wird, wenn der nächste Tick kam.
Vorteil ist, die einfache Programmierung.

2. Man geht über die Funktion OnChartEvent() und lässt den EA auf das Ereignis
CHARTEVENT_OBJECT_DRAG sofort reagieren:

Code:
void OnChartEvent(const int id,            // Event ID 
                  const long& lparam,         // Parameter of type long event 
                  const double& dparam,     // Parameter of type double event 
                  const string& sparam) {   // Parameter of type string events
                   
   if (id == CHARTEVENT_OBJECT_DRAG) {
      if (sparam == "Test") { 
         ObjectSet("Test", OBJPROP_TIME1, Time[3]); 
         ObjectSet("Test", OBJPROP_TIME2, Time[3]); 
      }    
   }                
}
D.h. zieht man nun mit der Mouse an einem oberen oder unteren Haltepunkt nach rechts oder links und lässt die Mouse los, dann springt die Trendlinie sofort wieder in die Senkrechte.

traderdoc
Ca$hDigger likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 25.02.17
Mitglied
 
Registriert seit: Apr 2014
Beiträge: 118
Trader6666 befindet sich auf einem aufstrebenden Ast
Standard

hey doc viiiielen Dank für den Ansatz!!!!!!!!

so hatte ich es bisher noch nicht probiert, hab versucht immer mit ObjectMOve zu arbeiten, weiß noch ned obs gelingt aber denk ne verbesserung bekomm ich auf jeden fall hin

danke nochmal!!!

LG
Thema geschlossen

Lesezeichen

Stichworte
funktion, mql4, operation umkehren, programmierung, programmierung metatrader, programmierung mql4, variable


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 12:32 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.
-----------------------------------------------------------------------------------------------------------------------------