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: 4642
Beiträge: 41799
Benutzer: 7.010
Aktive Benutzer: 171
Links: 82
Wir begrüßen unseren neuesten Benutzer: Beef_Poppi
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor einem Tag
- Beef_Poppi
vor einer Woche
- Innocent
vor einer Woche
- Olaf4476
vor einer Woche
- bobbyandex...
vor einer Woche
- boboyelang

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 73
Gesamt: 74
Team: 0
Team:  
Benutzer:  Indikator-Trading
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2011
Beiträge: 41
derumuro befindet sich auf einem aufstrebenden Ast
Standard Arrow am letzten Bar finden

Hallo,
ich suche ein Arrow am letzten Bar. Wie kann man das programmieren?

- das Arrow heißt z.B. "Name + Präfix"
- Suche nur nach "Name"
- am letzten oder vorletztem Bar suchen.

Ich wollte zuerst das Arrow über den Indicatorbuffer abfragen, aber da friert mir das Programm ein.

Danke!
Mit Zitat antworten
  #2 (permalink)  
Alt vor einer Woche
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 475
AVT befindet sich auf einem aufstrebenden Ast
Standard

Das sind verdammt wenig Informationen für eine Lösung.
1. Woher kommt der Arrow, aus einem Indikator?
2. Wie wird der erzeugt, über einen Buffer oder ein Objekt?
3. Bei einem Buffer: wie sieht der Wert aus, wenn kein Arrow da ist?

Anmerkung: Name ist entweder Präfix+BasisName oder BasisName+Suffix.
Und dann muß Du schon wissen, ob das nun die aktuelle oder vorige Kerze sein soll, oder ob Du so lange suchen willst bis Du einen Arrow findest.

Also, die ganze Anfrage noch mal präziser, bitte.
AVT
Mit Zitat antworten
  #3 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2011
Beiträge: 41
derumuro befindet sich auf einem aufstrebenden Ast
Standard

Im Indikatorbuffer steht der Preis für das Arrow. Dieser wird dann über ObjectCreate() erzeugt (wenn ich den Code richtig gelesen habe).

Da ich nicht sicher bin, ob das Arrow immer an der aktuellen Kerze erscheint,
würde ich gerne die letzten beiden Kerzen über eine for-Schleife absuchen lasen.

Beim Namen des Arrows habe ich mich wahrscheinlich etwas ungenau ausgedrückt.
Name = "abc" + Präfix
mit SringFind(Name,"abc",0) bekomme ich dann "abc".

Falls noch weitere Infos gebraucht werden, bitte fragen.

Danke
derumuro

Geändert von derumuro (vor einer Woche um 19:37 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt vor einer Woche
AVT AVT ist offline
Premium Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 475
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von derumuro Beitrag anzeigen
Im Indikatorbuffer steht der Preis für das Arrow. Dieser wird dann über ObjectCreate() erzeugt (wenn ich den Code richtig gelesen habe).

Da ich nicht sicher bin, ob das Arrow immer an der aktuellen Kerze erscheint,
würde ich gerne die letzten beiden Kerzen über eine for-Schleife absuchen lasen.

Beim Namen des Arrows habe ich mich wahrscheinlich etwas ungenau ausgedrückt.
Name = "abc" + Präfix
mit SringFind(Name,"abc",0) bekomme ich dann "abc".

Falls noch weitere Infos gebraucht werden, bitte fragen.

Danke
derumuro
Für 2 Kerzen brauchst Du keine Schleife. Wenn Du mehrere Indikatoren und/oder Objekte hast, brauchst Du für die Objekte die Schleife

Code:
bool Result=false;
// === fange beim letzten/neusten Objekt an zu suchen
for(int i=0; i<ObjectsTotal()-1; i++) 
{
   string Search="abc"; //wonach suchen wir
   string obj_name=ObjectName(i); //Name des jeweiligen Objektes
   if(obj_name==Search) //wenn der Name "abc" lautet
   {
      // === hat der Pfeil dieselbe Zeit wie die laufende Kerze
      if(ObjectGetInteger(0,obj_name,OBJPROP_TIME)==Time[0]) Result=true;
      // === hat der Pfeil dieselbe Zeit wie die vergangene Kerze
      if(ObjectGetInteger(0,obj_name,OBJPROP_TIME)==Time[1]) Result=true;
   }
}
if(Result==true) Print("Pfeil auf letzter oder aktueller Kerze");
Bei dem Namen mußt Du eventuell noch was ändern - Du brauchst den vollständigen Namen des Pfeil-Objektes.
In etwa so geht die Abfrage, kannst Du aber noch mit weiteren Bedingungen erweitern, z.B. wenn Objekte kein Pfeil ist, dann continue.

Hoffe, das hilft Dir schon weiter. AVT
Mit Zitat antworten
  #5 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Sep 2011
Beiträge: 41
derumuro befindet sich auf einem aufstrebenden Ast
Standard

Guten Morgen AVT,

dein Code funktioniert ! Danke dafür !

Da jeder neue Arrow einen anderen Namen hat (Präfix ändert sich ständig), musste ich nur noch eine kleine Änderung vornehmen.

aus
Code:
if(name == "abc") ....
wurde
Code:
if(StringSubstr(name,0,3) == "abc").....
Danke nochmals !
derumuro

Geändert von derumuro (vor einer Woche um 10:28 Uhr)
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 +1. Es ist jetzt 23:15 Uhr.





Die Suchmaschine - Der Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2021 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.
-----------------------------------------------------------------------------------------------------------------------------