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: 36914
Benutzer: 6.077
Aktive Benutzer: 493
Links: 80
Wir begrüßen unseren neuesten Benutzer: Batangenyo
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 17 Stunden
- Batangenyo
vor einem Tag
- Spitzmaus
vor einem Tag
- juleslesqu...
vor 2 Tagen
- hmf44
vor 2 Tagen
- Crossa

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 48
Gesamt: 51
Team: 0
Team:  
Benutzer:  Domke01, kamü, Stier
Freunde anzeigen

Empfehlungen

Werbung

Antwort
 
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
Mit Zitat antworten
  #102 (permalink)  
Alt 31.08.17
Mitglied
 
Registriert seit: May 2015
Beiträge: 250
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!
Mit Zitat antworten
  #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
Mit Zitat antworten
  #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?
Mit Zitat antworten
  #105 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: May 2015
Beiträge: 250
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.
Mit Zitat antworten
  #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
Mit Zitat antworten
  #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?
Mit Zitat antworten
  #108 (permalink)  
Alt 01.09.17
Mitglied
 
Registriert seit: May 2015
Beiträge: 250
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...
Mit Zitat antworten
  #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!!!
Mit Zitat antworten
Antwort

Lesezeichen

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


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 10:29 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.
-----------------------------------------------------------------------------------------------------------------------------