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: 36905
Benutzer: 6.074
Aktive Benutzer: 496
Links: 80
Wir begrüßen unseren neuesten Benutzer: hmf44
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 6 Stunden
- hmf44
vor 10 Stunden
- Crossa
vor 11 Stunden
- snatshit
vor einem Tag
- Roerich
vor einem Tag
- John_Liver...

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 53
Gesamt: 54
Team: 0
Team:  
Benutzer:  mahnwache
Freunde anzeigen

Empfehlungen

Werbung

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard iCustom

Gibt es eine Möglichkeit, dass die iCustom Funktion nur den Wert abfragt wenn der Bar geschlossen wird.
Im Moment bastel ich an einem EA und ich muss leider auf die Werte von 3 Indikatoren zugreifen. Allerdings brauche ich nur den Wert, der beim Close des letzten Bars bestand. Daher ist es in meinen Augen schlicht Leistungsverschwendung wenn ich den Wert bei jedem Tick abrufe. Aber gibt es einen Möglichkeit das zu ändern? Oder muss ich die Abfrage nur einfach in einer anderen Funktion unterbringen, als in der OnTick()?
  #2 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 199
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Jo gibt es:

double iCustom(
string symbol, // symbol
int timeframe, // timeframe
string name, // path/name of the custom indicator compiled program
... // custom indicator input parameters (if necessary)
int mode, // line index
int shift // shift
);


shift ist die Anzahl der Bars rückwärts gerechnet
Also shift=0 ist der aktuelle noch nicht geschlossene bar.
shift=1 wäre somit ein bar zurück und der letzte geschlossene bar.
shift=2 wäre dann zwei bars zurück der vorletzte geschlossene bar.
  #3 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 103
Lena befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für deine Antwort, ich meine das aber anders. Oder aber ich habe einen Denkfehler. Also, mir ist klar dass ich über den Wert "Shift" bestimme von welchem Bar ich den Wert Abfrage. Das ist aber nicht mein "Problem".

In meinem EA, von woaus ich den Wert abfrage sieht es grob so geschrieben aus.

void OnTick(){
LongSignal = iCustom(Symbol(),0,"IndikatorName",externeVar, Buffer, Shift);

Soweit ist auch alles in Ordnung und der Wert wird korrekt ausgelesen.
Aber dieser Aufruf erfolgt doch im EA bei jedem neuen Tick, oder?
Und hier wollte ich gerne wissen ob man es ändern kann, dass nämlich nur beim Close der Aufruf iCustom erfolgt. Ich weiß nicht ob meine Frage verständlich formuliert ist.
  #4 (permalink)  
Alt 04.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
if OldTime != Time[0]) {
   //Indikatorabfrage
   OldTime = Time[0];
}
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #5 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

@traderdoc

Worin genau besteht der Unterschied zwischen Pferd und Esel?
  #6 (permalink)  
Alt 04.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@pako, keine Ahnung, da kenne ich mich nicht aus.
Klär mich auf.
Was hat das mit dem Thread zu tun?
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #7 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

OldTime oder iCustom?
  #8 (permalink)  
Alt 04.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Code:
if (OldTime != Time[0]) {
   //Indikatorabfrage
   OldTime = Time[0];
}
Sorry, hatte eine Klammer vergessen.

OldTime oder iCustom?

Verstehe ich nicht.

traderdoc
ralfbenker likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #9 (permalink)  
Alt 04.03.16
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Code:

void OnTick()
{
    if(iCustom
}
Oder
Code:
void OnTick()
{
 if(OldTime
}
jeder tick wird abgefragt
  #10 (permalink)  
Alt 05.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.874
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja und? Was willst Du denn nun?
Sicherlich wird die if-Abfrage tickweise angesprungen, aber die
Indikatorabfrage wird nur ein einziges Mal beim Wechsel der Kerze
abgefragt. Und das wollte @Lena, nur einmal pro Kerze.

Zitat:
Soweit ist auch alles in Ordnung und der Wert wird korrekt ausgelesen.
Aber dieser Aufruf erfolgt doch im EA bei jedem neuen Tick, oder?
Und hier wollte ich gerne wissen ob man es ändern kann, dass nämlich nur beim Close der Aufruf iCustom erfolgt.
Du bist mir noch die Erklärung bzgl. des Unterschieds zwischen Pferd und Esel schuldig.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Thema geschlossen

Lesezeichen

Stichworte
icustom, icustom abfrage, icustom wert, mql4, programmierung, programmierung metatrader


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 22:05 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.
-----------------------------------------------------------------------------------------------------------------------------