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 8 Stunden
- Sundaytrad...
vor 15 Stunden
- TS_6
vor 2 Tagen
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak

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

Empfehlungen

Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 08.06.17
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Standard iCustom, IndexBuffer verwenden für Order

Hallo,

ich bin neu hier und auch in der Programmierung von MQL4.
Der Zeit versuche ich einen einfachen EA zu programmieren und ihn mit dem Strategietester zu prüfen.
Folgendes Problem habe ich:
den icustom habe ich erstellt , den Buffer dort eingetragen den ich haben möchte (z.B. 3) und nun soll dieser Buffer, wenn er gefüllt/geschrieben wird durch die Berechnung des Indis, eine Buy oder Sell Order auslösen.

Für die Buy Order fällt mir nur nicht ein wie die (if) Bedingung aussehen muss ?

Code:
  
void OnTick()
  
  
  
 
{
  {
   double UP=iCustom(NULL,0,"Examples \\Indi-Name",21,14,3,1);
   double DN=iCustom(NULL,0,"Examples \\Indi-Name",21,14,2,1);
   

 }
  
   if (OrdersTotal ()<1)
    if(UP )

int buy = OrderSend(Symbol(),OP_BUY,0.10,Ask,3,(Ask - 0.0100),(Ask + 0.0025),NULL,0,0,clrNONE);

if (DN)
int sell = OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Bid + 0.0100),(Bid - 0.0025),NULL,0,0,clrNONE);


{

}
}

Wenn mir jemand weiterhelfen würde, wäre ich sehr froh darüber

Gruß der Karabiner
  #2 (permalink)  
Alt 08.06.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Unter welchen Bedingungen, bzw. was willst du denn Abfragen, infolge dessen eine Order platziert werden soll?
Ich hab das irgendwie nicht richtig verstanden.
  #3 (permalink)  
Alt 08.06.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Als Erstes solltest Du Dir angewöhnen, einen strukturell klar gegliederten Code zu schreiben, auch wenn er nur kurz ist.

Code:
void OnTick() {
   double UP = iCustom(NULL,0,"Examples\\Indi-Name",21,14,3,1);
   double DN = iCustom(NULL,0,"Examples\\Indi-Name",21,14,2,1);
  
   if (OrdersTotal ()<1) {
      if (UP > ...)  {           //... ein Wert Deiner Wahl
         int buy = OrderSend(Symbol(),OP_BUY,0.10,Ask,3,(Ask - 0.0100),(Ask + 0.0025),NULL,0,0,clrNONE);
      }

      if (DN < ...)  {           //... ein Wert Deiner Wahl
         int sell = OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Bid + 0.0100),(Bid - 0.0025),NULL,0,0,clrNONE);
      }
   }
}
Die TP-Festlegung mit z.B. Ask + 0.0025 würde aber nur bei Wähungspaaren funktionieren, die mindestens 4 Kommastellen haben. Beim USDJPY mit einem Kurswert von z.B. 110.674 würde dann ein TP-Wert von 110.6765 resultieren, welchen der MT4 mit einem Fehler 130 quittiert (Invalid stops).

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #4 (permalink)  
Alt 08.06.17
Premium Mitglied
 
Registriert seit: May 2015
Beiträge: 367
next user befindet sich auf einem aufstrebenden Ast
Standard

Hey traderdoc,

hab erst durch deinen Code gesehen, das es wohl so
Code:
if(UP > ...)
if(DN < ...)
gemeint wahr.

@Karabiner:
Na siehst du, was das von traderdoc kritisierte anstellt
  #5 (permalink)  
Alt 08.06.17
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Standard

Hi,

schön das ihr geantwortet habt.

Also Hintergrund war das ich einen Signal Indi (Preis Signal, höchste und niedrigste =nen Pfeil) modifizieren wollte, in dem ich anstatt SetIndexArrow dort ne Zeit ausgeben wollte stattdessen. Das hab ich durch unwissen nicht auf die Reihe bekommen. Beim Googln und Youtuben bin ich dann über das automatisierte Traden gestolpert und das man sich diese EA selber erzeugen kann.

Also ich möchte immer, wenn der Iditor einen Pfeil setzt für long oder short, eine dementsprechende Order setzen ->buy oder sell. Um dann diesen EA auf seine profitabiltät zu testen.. Erstmal ne Spielerei .. Aber so lernt man es halt

Problem ist, wie setze ich die Order wenn ein z.B. "Up" Pfeil gesetzt wird? Das sollte im Buffer 3(oder 2, je nachdem wie es im Code des Indi geschrieben wurde) passieren

Gruß

Karabiner
  #6 (permalink)  
Alt 08.06.17
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Standard

Edit:

-Iditor
+ Indikator
  #7 (permalink)  
Alt 08.06.17
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Question

Zitat:
Zitat von traderdoc Beitrag anzeigen
Als Erstes solltest Du Dir angewöhnen, einen strukturell klar gegliederten Code zu schreiben, auch wenn er nur kurz ist.

Code:
void OnTick() {
   double UP = iCustom(NULL,0,"Examples\\Indi-Name",21,14,3,1);
   double DN = iCustom(NULL,0,"Examples\\Indi-Name",21,14,2,1);
  
   if (OrdersTotal ()<1) {
      if (UP > ...)  {           //... ein Wert Deiner Wahl
         int buy = OrderSend(Symbol(),OP_BUY,0.10,Ask,3,(Ask - 0.0100),(Ask + 0.0025),NULL,0,0,clrNONE);
      }

      if (DN < ...)  {           //... ein Wert Deiner Wahl
         int sell = OrderSend(Symbol(),OP_SELL,0.1,Bid,3,(Bid + 0.0100),(Bid - 0.0025),NULL,0,0,clrNONE);
      }
   }
}
Die TP-Festlegung mit z.B. Ask + 0.0025 würde aber nur bei Wähungspaaren funktionieren, die mindestens 4 Kommastellen haben. Beim USDJPY mit einem Kurswert von z.B. 110.674 würde dann ein TP-Wert von 110.6765 resultieren, welchen der MT4 mit einem Fehler 130 quittiert (Invalid stops).

traderdoc
Genau das ist der Erleuchtungshaken if(UP> von was ?)
  #8 (permalink)  
Alt 09.06.17
Neues Mitglied
 
Registriert seit: Jun 2017
Beiträge: 20
Karabiner befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

ich habe im Forum der forexfactory die passende Erklärung gefunden.
Trotzdem Danke für die Mühe und die Zeit meinen Beitrag zu lesen.
Vielleicht brauch ja jemand den Link zum Thema, daher häng ich ihn mal an.

https://www.forexfactory.com/showthread.php?t=285087

Gruß

Karabiner
  #9 (permalink)  
Alt 09.06.17
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Karabiner Beitrag anzeigen
Hallo,

ich habe im Forum der forexfactory die passende Erklärung gefunden.
Trotzdem Danke für die Mühe und die Zeit meinen Beitrag zu lesen.
Vielleicht brauch ja jemand den Link zum Thema, daher häng ich ihn mal an.

https://www.forexfactory.com/showthread.php?t=285087

Gruß

Karabiner
Wofür die passende Erklärung?
Die Lösung für Deine Fragestellung im Eingangspost wurde doch umfänglich beantwortet.

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

Lesezeichen

Stichworte
buffer, buy sell, icustom, mql4, order, programmierung, programmierung metatrader, programmierung mql4


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 03:09 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.
-----------------------------------------------------------------------------------------------------------------------------