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: 3367
Beiträge: 33887
Benutzer: 5.356
Aktive Benutzer: 613
Links: 79
Wir begrüßen unseren neuesten Benutzer: Mogelbaum
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor einer Stunde
- Mogelbaum
vor 16 Stunden
- romahanove...
vor einem Tag
- thaiquocba...
vor einem Tag
- patte
vor einem Tag
- boomo

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 29
Gesamt: 30
Team: 0
Team:  
Benutzer:  GenosseX
Freunde anzeigen

Empfehlungen

Werbung

Like Tree2Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 02.10.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard Vier einfache Fragen zu Quelltexten (MQ4)

Moin zusammen,

ich habe mir mal Quelltexte von EAs angesehen (also die MQ4 Dateien) und habe dazu vier einfache Fragen:

1) Die Zeilen, die mit // beginnen, sind reine Kommentarzeilen?

2) Absätze, die mit / beginnen und mit / enden, sind auch nur Kommentare?
z.B.
Code:
/**
 * hier steht ein Text in einem Absatz
 * hier steht auch Text
 */
3) Was machen Zeilen, die mit einer Raute ( # ) beginnen?

4) Man kann ja eine Zeile Code einfügen, die dafür sorgt, dass ein von diesem EA ausgeführter Trade mit einem Kommentar versehen wird (z.B.: Strategie 1). Dies ist nützlich, wenn man einen EA mit verschiedenen Settings auf einem Demokonto laufen läßt. Wie müßte der Code für so eine Zeile aussehen und wo füge ich den am besten ein?

Vielen Dank für Antworten

Gruß an alle

Andreas
__________________
Is there anybody out there?

Geändert von Aktien Andy (02.10.16 um 11:47 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02.10.16
Mitglied
 
Registriert seit: Mar 2016
Beiträge: 39
SusanneH befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

das ist alles soweit richtig:
PHP-Code:
//ich bin ein reiner einzeiliger Kommentar

//für eine nächste Kommentarzeile muss ich wieder die // machen 
Zusammenhängende Kommentarblöcke kannst du hingegen mit /* .... */ machen.
PHP-Code:
/* hier beginnt der Kommentarblock
dasfdas
---zwischendrinnen bleibt alles ein Kommentar
dfasdaf
und hier ist er wieder aus */ 

Einem Trade einen Kommentar mitgeben kannst du direkt beim Erstellen des Trades:
PHP-Code:
bool LongOrder=OrderSend(NULL,OP_BUY,LotSize,Ask,3,SL1,TP1,"Hier sitzt der Kommentrar - Strategie 1",MagicNumber,0,CLR_NONE); 
Aktien Andy likes this.
Mit Zitat antworten
  #3 (permalink)  
Alt 02.10.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard

Das mit den Kommentaren ist mir dann soweit klar; Danke!

Das mit dem Kommentar noch nicht so: Muss ich da so viele Parameter angeben? Mir reicht es, wenn ich da einen einfachen Text erzeige, der dann in der Tradehistorie auftaucht (z.B.: Strategie 1.....oder eben Strategie 2)

Und warum muss die Kommentarzeile eine Boolsche Variable sein??

Gruß

Andreas
__________________
Is there anybody out there?
Mit Zitat antworten
  #4 (permalink)  
Alt 02.10.16
Mitglied
 
Registriert seit: Mar 2016
Beiträge: 39
SusanneH befindet sich auf einem aufstrebenden Ast
Standard

Hierbei handelt es sich um die eigentlichen OrderSend() Funktion mit der du Trades abschickst/eröffnest.

In dieser Funktion kannst du eben auch einen Kommentar mitschicken, der dann in deiner History sichtbar ist.

PHP-Code:
int  OrderSend
   
string   symbol,              // symbol 
   
int      cmd,                 // operation 
   
double   volume,              // volume 
   
double   price,               // price 
   
int      slippage,            // slippage 
   
double   stoploss,            // stop loss 
   
double   takeprofit,          // take profit 
   
string   comment=NULL,        // comment 
   
int      magic=0,             // magic number 
   
datetime expiration=0,        // pending order expiration 
   
color    arrow_color=clrNONE  // color 
   
); 
Mit Zitat antworten
  #5 (permalink)  
Alt 02.10.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard

Hhmmm....geht das nicht auch einfacher? So dass man irgendwo am Anfang, wo alle Variablen stehen, eine Zeile einfügt, die sagt, dass er bei jeder Order einen Kommentar mitsendet?

Und was ist mi Zeilen, die mit # anfangen?

Gruß

Andreas
__________________
Is there anybody out there?
Mit Zitat antworten
  #6 (permalink)  
Alt 02.10.16
Benutzerbild von Kronenchakra
Mitglied
 
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 120
Kronenchakra befindet sich auf einem aufstrebenden Ast
Standard

Zeilen die mit # beginnen sind sogenannte Compilerdirektiven die vom Precompiler abgearbeitet werden.

#property
#include
#define
#undef
#ifdef

etc.

ujuju, da ist noch viel Lernen angesagt!
Die MQL-Referenz ist recht übersichtlich, da steht (fast) alles drin.
Sind halt mehr als 4000 Seiten !

@SusanneH: Bitte C++ nicht PHP

LG vom OPA-Trader
Mit Zitat antworten
  #7 (permalink)  
Alt 02.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Bei OrderSend() wird die TicketNumber als int zurückgegeben, d.h. es müsste lauten:

int LongOrder=OrderSend(NULL,OP_BUY,LotSize,Ask,3,SL1, TP1,"Hier sitzt der Kommentrar - Strategie 1",MagicNumber,0,CLR_NONE);

und nicht bool LongOrder = ...

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #8 (permalink)  
Alt 02.10.16
Zyr Zyr ist offline
Neues Mitglied
 
Registriert seit: Aug 2013
Beiträge: 27
Zyr befindet sich auf einem aufstrebenden Ast
Standard

@ Traderdoc
Soweit korrekt will man aber nur abfragen ob es geklappt hat reicht bool, da alle intiger <> 0 denn Wahrheitswert true haben ist es dann egal.
Mit Zitat antworten
  #9 (permalink)  
Alt 02.10.16
Benutzerbild von Aktien Andy
Premium Mitglied
 
Registriert seit: Oct 2014
Beiträge: 442
Aktien Andy befindet sich auf einem aufstrebenden Ast
Standard

Uff, was habe ich da nur losgetrten

Was sind Compilerdirektiven? Kann ich die Zeilen löschen?

Muss ich die Anmerkung Strategie 1 direkt in die Zeile mit der Orderausführung reinschreiben? Kann ich da nicht einfach irgendwo am Anfang eine Zeile einfügen, dass er immer Strategie 1 schreibt?

Gruß

Andreas
__________________
Is there anybody out there?
Mit Zitat antworten
  #10 (permalink)  
Alt 02.10.16
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 1.522
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Zyr Beitrag anzeigen
@ Traderdoc
Soweit korrekt will man aber nur abfragen ob es geklappt hat reicht bool, da alle intiger <> 0 denn Wahrheitswert true haben ist es dann egal.
Also ich habe mir angewöhnt, erstens die Funktionen mit ihren Rückgaben auch so zu verwenden, wie sie angedacht sind und zweitens bringen solche Spitzfindigkeiten nur Verunsicherungen bei Programmierern, die noch nicht die nötige Erfahrung besitzen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
kommentar, kommentarzeile, kommtentarblock, mql4, programmierung, programmierung metatrader, quelltext, quelltexte


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 01:02 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.
-----------------------------------------------------------------------------------------------------------------------------