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.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4058
Beiträge: 38492
Benutzer: 6.362
Aktive Benutzer: 242
Links: 80
Wir begrüßen unseren neuesten Benutzer: Blade-13
Mit 483 Benutzern waren die meisten Benutzer gleichzeitig online (21.04.16 um 17:12).
Neue Benutzer:
vor 12 Stunden
- Blade-13
vor 23 Stunden
- Dumbinatio...
vor einem Tag
- Börnie
vor 2 Tagen
- hsew67
vor 3 Tagen
- ontherocks...

Onlineuser
'Wer ist online' anzeigen Benutzer: 3
Gäste: 54
Gesamt: 57
Team: 0
Team:  
Benutzer:  Domke01, Leopold, traderdoc
Freunde anzeigen

Empfehlungen

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #1 (permalink)  
Alt 19.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard Abstand zu bestehenden Orders überprüfen

Hallo
Ich möchte, das bevor der EA eine Order öffnet, er überprüft ob schon eine order mit dem gleichen oder einem ähnliche wert besteht
Der abstand den er überprüfen soll ist in zwei Variablen gespeichert.
als wert soll true oder false herraus kommen.


PHP-Code:
bool AbstandStimmt

int AbstandOben
//mindestabstand über der Order
int AbstandUnten//mindestabstand unter der Order


void OnTick()
  {
//Abstand zu bestehenden Order ermitteln 
  
  
   
   
for(AbstandStimmt=true;)
     { 
      
bool Select OrderSelect(AbstandStimmtSELECT_BY_POSMODE_TRADES);

      if (
Select == True && OrderSymbol()== Symbol() && OrderMagicNumber()==MagicNumber && AktuellerKaufwert OrderPrice AbstandOben && AktuellerKaufwert OrderPrice AbstandUnten  
         
     }
   
   
  } 
Das mit den schleifen mit select Abfragen kapier ich nicht wirklich. Ich denke da immer an Mysql. Kann mir da jemand auf die sprünge helfen.
Für mich sieht stimmig aus. Aber metatrader sagt was anderes

gruss
Hippo
Mit Zitat antworten
  #2 (permalink)  
Alt 19.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 685
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Was für ein Abstand?


Sollen mehrere Orders in die gleiche Richtung geöffnet werden?
Mit Zitat antworten
  #3 (permalink)  
Alt 19.07.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 278
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Ich weis zwar nicht was genau du vor hast, aber da sind einige Fehler drin. Bitte lese dir mal die Doku zu Schleifen und OrderSelect durch:

https://docs.mql4.com/basis/operators/for
https://docs.mql4.com/trading/orderselect

Ich weis nämlich wirklich nicht wie ich dir helfen kann, bei dem Code.

---Leopold---
Mit Zitat antworten
  #4 (permalink)  
Alt 20.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard

Hallo

Allso, wenn ich da richtig verstanden habe dann wäre das eine Möglichkeit

Als erstes die Variablen
PHP-Code:
bool AbstandStimmt//gibt true oder false aus. wird später bei Order eröffnung abgefragt
double AktuellerKaufwert// Zu zahlender betrag bei order auslösung
int AbstandOben//mindestabstand über der zu Prüfenden Order. Ist der aktuelle Kaufkurs in diesem bereich soll die antwort false sein. 
int AbstandUnten//mindestabstand unter der zu Prüfenden Order. Ist der aktuelle Kaufkurs in diesem bereich soll die antwort false sein 
bool AbstandStimmt //gibt true oder false aus. wird später bei Order eröffnung abgefragt Nur bei True wird die Order ausgeführt.

int AbstandOben; //mindestabstand über der zu Prüfenden Order. Ist der aktuelle Kaufkurs in diesem bereich soll die antwort false sein.
int AbstandUnten; //mindestabstand unter der zu Prüfenden Order. Ist der aktuelle Kaufkurs in diesem bereich soll die antwort false sein.

nun wann es ausgefürt wird.
PHP-Code:
void OnTick() 
Die eröffnung der For schleife Standart ist "AbstandStimmt = Wahr. Wenn ergebniss false soll er dies in AbstandStimmt eintragen und kann aus der schleife aussteigen.

PHP-Code:
 for(AbstandStimmt =True;AbstandStimmt False;AbstandStimmt ++) // 
for schleife 
Jetzt soll das Ganze jede Order prüfen mit den vorgegebenen Bedingungen als ergebniss kommt true oder false raus

PHP-Code:
if (Select == True && OrderSymbol()== Symbol() && OrderMagicNumber()==MagicNumber && AktuellerKaufwert OrderPrice AbstandOben && AktuellerKaufwert OrderPrice AbstandUnten  ) ; 
Ist das so ungefähr richtig

gruss Micha
Mit Zitat antworten
  #5 (permalink)  
Alt 20.07.18
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 685
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hä? Was soll der Zweck von dem Ganzen sein?

Aber:

1. Order(s) suchen mit der for-Schleife
Code:
for(i=OrdersTotal()-1;i>=0;i--){
2. Order selektieren
Code:
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
3. Schaun was für Eine es ist. Bzw. wenns die Richtige zu sein scheint, danach Deine Bedingungen eintragen.
Code:
if((OrderType()==OP_SELL||OrderType()==OP_BUY)&&(OrderMagicNumber()==Buy_MagicNumber||OrderMagicNumber()==Sell_MagicNumber)&&OrderSymbol()==Symbol())bool IsInv=true;}}
So ganz seh ich da auch nicht durch. Aber aus Deinem Code werd ich noch weniger schlau.
Mit Zitat antworten
  #6 (permalink)  
Alt 20.07.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 278
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

nein, ich glaube nicht dass du das so willst.
Ich denke das sollte ungefähr so aussehn:

Code:
void OnTick()
   {
   Schleife für OrderSelect benötigst du damit du die Orders abfragen kannst (wie beim letzen Thema) außer du weist die Ticketnummer, dann würdest du keine Schleife benötigen.
      {
      In dieser Schleife benötigst du dann die if Abfrage die oben steht mit einer Operation (AbstandStimmt = False;)(Nach einer if Bedingung muss eine Operation stehn da sonst nichts ausgeführt wird)
      }
   Dann kannst du außerhalb der Schleife den Code schreiben, wass passieren soll wenn AbstandStimmt = False.
   }
https://docs.mql4.com/basis/operators/if

---Leopold---
Mit Zitat antworten
  #7 (permalink)  
Alt 20.07.18
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.095
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

@Hippo25, ohne Dir jetzt zu Nahe zu treten, aber so wird das nichts.
Dir fehlen die elementaren Grundlagen in der MQL-Programmierung und uns fehlen Informationen zu Deiner Idee.

Deshalb wäre es sehr von Vorteil, wenn Du Dich erst einmal näher mit MQL beschäftigst, indem Du bestehenden Code Zeile für Zeile sezierst und verstehst, wie programmiert wird und wie bestimmte Idden umgesetzt werden.

Alles andere würde hier in ellenlange Posts ausarten und im Endeffekt kommt wahrscheinlich doch nicht das heraus, was gewünscht war.

Ich kann mich auch nicht als Autofahr-Anfänger plötzlich in einen Formel1-Wagen setzen und vernünftig damit fahren. Irgendwie evtl., aber richtig nicht.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
Mit Zitat antworten
  #8 (permalink)  
Alt 20.07.18
Mitglied
 
Registriert seit: Jun 2016
Ort: Österreich
Beiträge: 278
Leopold befindet sich auf einem aufstrebenden Ast
Standard

Stimmt!

Da ist auch das Helfen ziemlich mühsam.

---Leopold---
Mit Zitat antworten
  #9 (permalink)  
Alt 21.07.18
Mitglied
 
Registriert seit: Jun 2018
Beiträge: 42
Hippo25 befindet sich auf einem aufstrebenden Ast
Standard OK werde das ganze nochmal am

OK
werde das ganze nochmal am nachlesen und Probieren
und melde mich danach nochmal.

danke
Hippo
Mit Zitat antworten
Antwort

Lesezeichen


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 +2. Es ist jetzt 22:45 Uhr.


Der Wavesnode - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2018 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.
-----------------------------------------------------------------------------------------------------------------------------