|
Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4. |
|
Themen-Optionen | Thema durchsuchen | Ansicht |
|
|||
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]) hat jem nen tipp?? LG |
|
|||
Ich glaube, man ist beim Umdrehen der Zeichen schneller.
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
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..... |
|
|||
Zitat:
traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
*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 |
|
|||
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]); } } } traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis. |
|
|||
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 |
Lesezeichen |
Stichworte |
funktion, mql4, operation umkehren, programmierung, programmierung metatrader, programmierung mql4, variable |
|
|