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: 43260
Benutzer: 7.224
Aktive Benutzer: 74
Links: 84
Wir begrüßen unseren neuesten Benutzer: Sundaytrader
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 18 Stunden
- Sundaytrad...
vor einem Tag
- TS_6
vor 3 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

Onlineuser
'Wer ist online' anzeigen Benutzer: 0
Gäste: 360
Gesamt: 360
Team: 0
Team:  
Benutzer:  
Freunde anzeigen

Empfehlungen

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #101 (permalink)  
Alt 31.08.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

Das schwierige dabei ist, dass ich deinen Text auch nicht mehr folgen kann *aarghhh

Ich geh nochmal durch. Wir haben vier Variablen bzw. Codeschnipsel:

//Schnipsel 1
bool START_TIMER = false;
int START_TICKS = 0;

// Schnipsel 2
EventSetTimer(3);

//Schnipsel 3
void OnTimer()
{
START_TIMER = true;
EventKillTimer();
}

//Schnipsel 4

START_TICKS++;

if(START_TICKS < 3 || !START_TIMER)
return 0;

So wie ich es jetzt verstanden habe, gehören Schnipsel 2 und Schnipsel 3 zusammen, da Zitat:

Zitat:
Füge dann noch folgendes in den Code
Schlussfolgernd müsste ich Zitat:
Zitat:
In der Init setzt du den Timer dann auf Sekunden deiner Wahl
diese Beiden zwischen
// Initialisierung
und
// Check for Display

setzen.

Funktioniert aber nicht: Fehlermeldung!

Ich bekomme es nicht hin
  #102 (permalink)  
Alt 31.08.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Ne, ne. Mach es einfach wie ich hier bereits gesagt habe.

Zitat:
Zitat von next user Beitrag anzeigen
Kurz nochmal etwas deutlicher:
  • Oben die beiden Variablen sind richtig.
  • Die Funktion OnTimer setzt du einfach irgendwo außerhalb jeder Funktion. Aber nur so, wie ich es erwähnt hatte, also ohne zusätzlichen Code.
  • In der init()-Funktion initialisierst du den Timer, indem du dort die Funktion EventSetTimer(3) plazierst.
  • In der start()-Funktion setzt du ganz oben den Code vom letzten Punkt ein. Dann macht das Return auch wieder Sinn.
Also Schnipsel 2 in die init-Funktion!
Schnipsel 3 als eigenen Code-Block irgendwo außerhalb jeder Funktion!
Schnipsel 4 ganz nach oben in der start-Funktion!
  #103 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

Es will einfach nicht

Jetzt hab ich zwar keine Fehler mehr beim kompilieren, aber jetzt werden auch keine Kerzen mehr angezeigt???

Nochmal.

Schnipsel 1
bool JUST_ONCE = false;
string SYM = Symbol();
int PER = Period();
bool START_TIMER = false;
int START_TICKS = 0;


sollte richtig sein

Schnipsel 2
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
IndicatorBuffers(3);
SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
//Kingbar 2.4 update begin
EventSetTimer(3);
//Kingbar 2.4 update end
}

Schnipsel 3

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()

{
//Kingbar 2.4. begin
START_TICKS++;

if(START_TICKS < 3 || !START_TIMER)
return 0;
//Kingbar 2.4. end


if(JUST_ONCE)
{
for(int i=0; i<Signal_Count; i++)
{
if(Signal_State[i] != -1)
{
switch(GetSignalState(i))
{
case -1: break;

und Schnipsel 4 (außerhalb)

else
CheckNewBars(0);

return(0);
}
// Kingbar 2.4 begin
void OnTimer()
{
START_TIMER = true;
EventKillTimer();
}
// Kingbar 2.4 end


//+------------------------------------------------------------------+ script ende
  #104 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

Hast du vielleicht noch etwas umgeändert, was ich nicht habe?
  #105 (permalink)  
Alt 01.09.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Alles richtig, bis auf:
Zitat:
Zitat von tomtomtom Beitrag anzeigen
Code:
Schnipsel 2
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   //---- indicator line
   IndicatorBuffers(3);
   SetIndexStyle(0,DRAW_HISTOGRAM,0,2);
   SetIndexStyle(1,DRAW_NONE);
   SetIndexBuffer(0,val1);
   SetIndexBuffer(1,val2);
   //----
   return(0);
//Kingbar 2.4 update begin
   EventSetTimer(3);
//Kingbar 2.4 update end
}
Hier platzierst du EventSetTimer(3); NACH return(0);. Somit wird EventSetTimer() garnicht mehr aufgerufen.
Ergebnis => Timer wird nicht gesetzt => OnTimer() wird nie aufgerufen => START_TIMER wird nie auf TRUE gesetzt => die Abfrage:
Code:
if(START_TICKS < 3 || !START_TIMER)
resultiert immer in return 0, weshalb du auch keine Signale mehr siehst, da der weitere Code in der start()-Funktion nie aufgerufen wird.
  #106 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

na sags doch gleich
  #107 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

jetzt haben wir uns n bierchen verdient

ich mach feierbabend für heute. es scheint zu funktionieren. wir kommen den ganzen näher.
wie läuft es bei dir mit deinem ea?
  #108 (permalink)  
Alt 01.09.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tomtomtom Beitrag anzeigen
na sags doch gleich
Sorry, dachte du kennst die Folge von einem return

Zitat:
Zitat von tomtomtom Beitrag anzeigen
wie läuft es bei dir mit deinem ea?
Macht heute später auch Feierabend...
  #109 (permalink)  
Alt 04.09.17
Mitglied
 
Registriert seit: Jul 2017
Beiträge: 56
tomtomtom befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Sorry, dachte du kennst die Folge von einem return
ääähhmmm....jaa natüüürlich

sooo..die erste maschine ist am laufen. noch nicht auf volllast, aber der indikator läuft wunderbar. ich will mal noch probieren, dass er schneller umschaltet. wenn ich in den zeiteinheiten umschalte. das dauert noch etwas.

muss sich aber erstmal hinten anstellen. jetzt gehts darum den server zum laufen zu bringen. der erste manuelle test der letzten zwei wochen lief. erstmal gut. 14% profit mit einem durchnschnittsdrawdown von 0,7%. bis auf eine ausnahme. aber das war menschlicher fehler.
lag nicht am indikator

wir kommen dem ganzen auf jeden fall näher...sehr schön. schöne zusammenarbeit mit dir!!!
Thema geschlossen

Lesezeichen

Stichworte
kopieren, linien, linien charts übernehmen, metatrader tools, mql4, objekte, programmierung, programmierung metatrader, programmierung mql4, timeframes linie, tool, tools


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 13:06 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.
-----------------------------------------------------------------------------------------------------------------------------