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: 3364
Beiträge: 33876
Benutzer: 5.354
Aktive Benutzer: 612
Links: 79
Wir begrüßen unseren neuesten Benutzer: thaiquocbao
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 2 Stunden
- thaiquocba...
vor 2 Stunden
- patte
vor 9 Stunden
- boomo
vor 20 Stunden
- swiftusa
vor 23 Stunden
- Heres

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 51
Gesamt: 53
Team: 0
Team:  
Benutzer:  mahnwache, SusanneH
Freunde anzeigen

Empfehlungen

Werbung

Like Tree5Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #191 (permalink)  
Alt 25.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
TimeCurrent(); steht da jetzt.

"datetime Time" oben soll klar machen, dass es sich bei der Eingabe daneben um Uhrzeiten handelt.
Ne, Time ist kein Wort, um eine Variable zu deklarieren! Und die Uhrzeit kann so nur als string verarbeitet werden. Da sollte der Compiler aber schon mächtig schimpfen.

Die 3 Zeilen darunter... tja, ich weiß auch nicht so recht. Das soll irgendwie die Werte definieren, die er bei den Order-Bedingungen checken soll.
Time F und Time T müßte eigentlich auch so geschrieben werden:
Time_F und Time_T oder TimeF und TimeT, aber nicht mit einem Freizeichen.
Hierbei wird nur die oben definierte Zeit nur an den aktellen Tag gehängt und in die Variablenform datetime umgewandelt - nicht mehr und nicht weniger.


Ich kapier noch weniger als vorher.
Ja, weil die z.T. grundlegende Basics fehlen und beim Zusammenstückeln von irgendwo her geholtem Code dann fast durchdreht, weil nix funktioniert und man auch nicht weiß, was man da eigentlich getan hat. Das ist nicht der richtige Weg!
D.h. schau Dir die Online-Hilfe genau an, z.T. mit den Beispielen, studiere funktionierenden Code und lerne darüber.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #192 (permalink)  
Alt 25.03.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 411
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Könnte mir bitte Jemand ganz langsam und ganz leicht verständlich in ganz kleinen Schritten erklären, wie ich das blöde Ding dazu kriege, z.B. nur zwischen 9 und 17 Uhr Orders aufzumachen und vor 9, bzw. nach 17 Uhr nur die Vorhandenen zu schließen, wenn entsprechende Signale kommen? In meinem MQL4 Buch steht zwar allerhand drin, das Zeit-Thema kommt aber viel zu kurz, geschweige denn steht da drin was ich brauche.


Amazon

Weiß Jemand nen Buch, dass in deutscher Sprache MQL4 ausführlicher behandelt?
Mit Zitat antworten
  #193 (permalink)  
Alt 25.03.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 193
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

Hab Dir doch schon einen möglichen Code dazu gepostet, sogar mit dem Code von Dir der eingeschlossen werden muss. Das ist der, den traderdoc auch schon mal beschrieben hat und der eigentlich ganz einfach ist. Steht eine Seite weiter vorn im Thread.

Ist das Buch eigentlich gut?
Mit Zitat antworten
  #194 (permalink)  
Alt 25.03.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 411
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Für nen Anfänger wie mich ist es gut, um die Grundlagen zu lernen. Hab noch nicht alles gelesen, steht ne Menge drin, was mich nicht wirklich interessiert. Vor allem vermisse ich mehr Infos über Time-Variablen und -Funktionen.
Mit Zitat antworten
  #195 (permalink)  
Alt 25.03.16
Mitglied
 
Registriert seit: Oct 2015
Ort: Karlshagen
Beiträge: 193
ralfbenker befindet sich auf einem aufstrebenden Ast
Standard

@MA-EA ich find das Klasse dass Du Dich jetzt da so reinkniest.
Mit den Zeitvariablen hatte ich anfangs auch Probleme.
Nimm einfach den Code von traderdoc. Der ist wirklich einfach und benötigt wenig Text.

also:

PHP-Code:
if (TimeCurrent() >= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " Start
   && 
TimeCurrent() <= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " Ende))
{
//Hier jetzt einfügen was während der Zeitschleife passieren soll

und danach in geschweiften Klammern den Code, der in der Zeitbegrenzung abgearbeitet werden soll.
Mit Zitat antworten
  #196 (permalink)  
Alt 26.03.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 411
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Danke.

Was ich aber immer noch nicht kapiere (sofern ich überhaupt irgendwas geschnallt hab ), warum er in den beiden markierten Zeilen Semikolons will. Und vor allem an welcher Stelle?

Edit:Wenn ich "datetime" weg lasse, verschwinden zwar die roten Fehlermeldungen, dafür steht aber ne Warnung da:"expressions are not allowed on a global scope"
Angehängte Grafiken
Dateityp: jpg SemicolonExpected.jpg (169,6 KB, 4x aufgerufen)
Dateityp: jpg ExpressionsAreNotAllowed.jpg (171,0 KB, 3x aufgerufen)
Mit Zitat antworten
  #197 (permalink)  
Alt 26.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Ja sag mal, ich habe Dir doch schon in Post # 189 die Lösung geschrieben!

extern string Open_Orders_From = "09:00:00";
extern string Open_Orders_Till = "17:00:00";

Alle anderen Formulierungen in Deinen beiden Bildern sind Murks, weil entweder fehlt die Deklarierung oder sie ist da dann ist da Time so oder so falsch und die Angabe 09:00:00 kann kein Format der Variablen datetime sein!

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #198 (permalink)  
Alt 26.03.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 411
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Gibts keinen anderen Weg, als Text in Uhrzeit umzuwandeln und wieder zurück? Das ist mir nämlich irgendwie zu hoch.
Mit Zitat antworten
  #199 (permalink)  
Alt 26.03.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Gibts keinen anderen Weg, als Text in Uhrzeit umzuwandeln und wieder zurück? Das ist mir nämlich irgendwie zu hoch.
Ne, das ist nicht zu hoch, wenn man sich mal die Mühe macht und die Umwandlungsfunktionen näher ansieht. Die braucht man so oder so ständig.
Programmieren ist ein hochlogischer Prozeß. Da sollte man weniger fummeln, sondern mehr das Teil zwischen den Ohren benutzen.

traderdoc
pischinger likes this.
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #200 (permalink)  
Alt 26.03.16
Premium Mitglied
 
Registriert seit: Sep 2015
Beiträge: 411
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Wenn aber über die o.g. Angabe, dann als string:
extern string Open_Orders_From = "09:00:00";
extern string Open_Orders_Till = "17:00:00";

Das hätte dann folgende Schreibweise zur Folge:
datetime Time TC = TimeCurrent();
datetime Time F = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Open_Orders_From);
datetime Time T = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Open_Orders_Till);
Danke. Ist das jetzt richtig so:
Code:
//Globale Variablen
//Time
extern string Open_Orders_From = "09:00:00";
extern string Open_Orders_Till = "17:00:00";
Code:
//Time
datetime TC = TimeCurrent();
datetime F = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Open_Orders_From);
datetime T = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Open_Orders_Till);
Code:
//Open Trade
if (!IsInvested){
if (TC>F && TC<T && Spread<=Max_Spread && O>MA1 && LC>MA1 && MA1>MA2 && MA2>MA3) OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, Name + " Buy(#" + MagicNumber + ")", MagicNumber, 0, Blue);
if (TC>F && TC<T && Spread<=Max_Spread && O<MA1 && LC<MA1 && MA1<MA2 && MA2<MA3) OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, 0, 0, Name + " Sell(#" + MagicNumber + ")", MagicNumber, 0, Red);}
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
auftrag, biete, ea, expert advisor, gleitender durchschnitt, kleinanzeigen, suche


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:08 Uhr.



-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2016 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2016 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------