Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Expert-Advisors

Expert-Advisors Expert-Advisors für Metatrader 4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4978
Beiträge: 43264
Benutzer: 7.223
Aktive Benutzer: 73
Links: 84
Wir begrüßen unseren neuesten Benutzer: Mane
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 21 Stunden
- Mane
vor 2 Wochen
- AlbertZiz
vor 2 Wochen
- michak
vor 2 Wochen
- Amateur
vor 2 Wochen
- infos1982

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

Empfehlungen

Like Tree2Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #41 (permalink)  
Alt 29.11.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.


Im Anhang ein erster Versuch, zu hedgen und immer wieder die Order-Anzahl zu erhöhen, statt den Einsatz. Er sollen erst mal ein Sell und ein Buy öffnen. Je nachdem in wessen Richtung der Kurs geht, sollen nach einer bestimmten Bewegung 2 Weitere Orders in die Richtung geöffnet werden, beim nächsten mal 4 Weitere Orders und immer so weiter. Wenn irgendwann ein bestimmter "Gewinn-Bereich" erreicht wurde, sollen sämtliche Orders geschlossen, alle Zähler zurück gesetzt und das ganze Spiel von vorn begonnen werden. Sollte der Kurs vorher drehen, müssten doppelt so viele Orders in die neue Richtung geöffnet werden (wenn ich mich nicht irre ). Klingt eigentlich einfach, ist es für mich Anfänger aber nicht.


Im Anhang ein erster Ansatz, so einen EA zu proggen. Sind haufenweise Fehler drin und viele Sachen sind noch lange nicht fertig. Wär dankbar für jeden Tipp oder Hinweis, wie man das Ding proggen könnte/müsste.
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (20,8 KB, 4x aufgerufen)
  #42 (permalink)  
Alt 30.11.20
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

16 Compilerfehler... lass dir von TraderDoc helfen, der macht dir bestimmt einen Freundschaftspreis
Ca$hDigger likes this.
  #43 (permalink)  
Alt 30.11.20
Premium Mitglied
 
Registriert seit: Jun 2013
Beiträge: 364
Ca$hDigger befindet sich auf einem aufstrebenden Ast
Standard

Ganz meine Rede
Zitat:
Zitat von Ca$hDigger Beitrag anzeigen
@Martin
schau doch mal in traderdocs Signatur oder anders gesagt, lass dir das Ding einfach professionell von jemanden schreiben.
Ab einem bestimmten Punkt sollte man die Sachen outsourcen am Ende hat man sonst Wochen seiner Lebenszeit verschwendet und trotzdem noch Buggy Code
Selbst Profis outsourcen noch mache Sachen weil es ein Anderer in einem bestimmten Bereich einfach schneller und besser kann ist völlig normal.
  #44 (permalink)  
Alt 30.11.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Die Fehler im Code sind nicht das Problem, sondern die Umsetzung der Strategie. Wie gesagt ist der EA noch lange nicht fertig.

Mehrmals müssen Orders gesucht, selektiert, ihre Werte geprüft, Berechnungen gemacht und mehrere Werte gezählt/erhöht/multipliziert und zum Schluss zurück gesetzt werden.


Zur Strategie noch mal:

1.
Eine 1.Sell- und eine 1.Buy-Order öffnen

2.
Von deren OrderOpenPrice() wird ne Art Distanz berechnet. Wenn der jeweilige Ask/Bid drüber/drunter ist, soll ne weitere Order in Gewinn-Richtung geöffnet werden. Sollte der Kurs danach drehn, müssten doppelt so viele Orders in die andere Richtung geöffnet werden, also muss eine Variable immer die Orders einer Richtung zählen und dann multipliziert werden.

3.
Wenn die neuen Orders auch in Gewinn-Richtung gehn, muss von deren OOP() wieder ne Distanz berechnet werden, bei der weitere Orders geöffnet und deren Anzahl wieder multipliziert wird, für den Fall, dass der Kurs doch noch dreht.

4.
Wenn irgendwann eine der 1. Orders eine bestimmte Distanz zu ihrem OOP() erreicht, sollen alle noch offenen Orders geschlossen und alle geänderten Werte auf 0 zurück gesetzt werden. Dann soll das Ganze von vorn los gehn.
  #45 (permalink)  
Alt 02.12.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Im Anhang die neueste Version. Beim Kompilieren gibts keine Fehlermeldungen. Mit Sicherheit ist aber noch der ein oder andere Wurm drin und bestimmt kann man Einiges besser und einfacher machen.

Wär dankbar für Tipps.

Ich glaube, man kann das Gerät am Ehesten mit nem Schneeballsystem vergleichen. Um so weiter Ask/Bid in Gewinn-Richtung der jeweiligen Sell/Buy-Orders gehn, desto mehr Orders werden nach und nach in diese Richtung geöffnet. Zumindest soll das Ding irgendwann mal so funktionieren.

Nacht.
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (33,7 KB, 2x aufgerufen)
  #46 (permalink)  
Alt 03.12.20
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Abend.

Im Anhang die neueste Version. Sollte besser funktionieren als die von gestern. Zumindest, wenn sie irgendwann mal tat/tut was sie soll.


Frage zu meinem Lieblings-Thema:for-Schleife.

Wenn der EA eine bestimmte Anzahl von Orders öffnen soll, und dabei gleich die Werte erhöhen soll, die ihm sagen, wie viele Sell-/Buy-Orders er später vielleicht mal öffnen soll, ist das dann wenigstens ein bißchen richtig? Die Anzahl, die er beim nächsten Mal öffnen soll, wird im Lauf des Programms immer wieder erhöht. Oder sollte sie zumindest.
Code:
// ...FirstSell öffnen:
  if(IsTradeAllowed()==true){
    TI_FiSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,0.0,NULL,MN_FirstSel,clrYellow);
    if(IsTradeContextBusy()==true)Sleep(slMS);
    Opened_Sel++;
    Need_Sel = Opened_Sel * OrdersNeed_Multi;}

// ...FirstBuy öffnen:
  if(IsTradeAllowed()==true){
    TI_FiBuy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL_Buy,0.0,NULL,MN_FirstBuy,clrOrange);
    if(IsTradeContextBusy()==true)Sleep(slMS);
    Opened_Buy++;
    Need_Buy = Opened_Buy * OrdersNeed_Multi;}

 }
Code:
//=============================================================================================================
 // O P E N   F I R S T   N E X T   O R D E R S
//=============================================================================================================
// Wenn nur FirstSell und FirstBuy offen sind,
// bei entsprechenden Bedingungen
// next Sel / next Buy öffnen.
if(fiSH==true&&fiLO==true&&neSH==false&&neLO==false){
//-----------------------------------------------------------------------------------------------------------*/

// Wenn FirstSell Bedingungen erfüllt,
// next Sell öffnen.
if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){ // ?
      
    FiSelOOP_DistONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO*_Point,_Digits);

    if(Bid <= FiSelOOP_DistONO){
  
      FL_opSel=Opened_Sel; // ?
      FL_neSel=Need_Sel;  // ?
      for( k=FL_opSel ; k<FL_neSel ; k--){
        if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,0.0,NULL,MN_NextSel,clrYellow);
        if(IsTradeContextBusy()==true)Sleep(slMS);

        Opened_Sel++;

        Need_Sel = Opened_Sel * OrdersNeed_Multi;

        Need_Buy = Need_Sel * OrdersNeed_Multi;}

} } }

//-----------------------------------------------------------------------------------------------------------*/

// Wenn 1.Buy Bedingungen erfüllt,
// next Buy öffnen.
if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){
       
    FiBuyOOP_DistONO=NormalizeDouble( OrderOpenPrice() + Dist_ONO*_Point,_Digits);

    if(Ask>=FiBuyOOP_DistONO){
    
      FL_opBuy=Opened_Buy; // ?
      FL_neBuy=Need_Buy;  // ?
      for( l=FL_opBuy ; l<FL_neBuy ; l--){
        if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,Bid,Slippage,SL_Buy,0.0,NULL,MN_NextBuy,clrYellow);
        if(IsTradeContextBusy()==true)Sleep(slMS);
          
        Opened_Buy++;
      
        Need_Buy = Opened_Buy * OrdersNeed_Multi;
          
        Need_Sel = Need_Buy * OrdersNeed_Multi;}

} } }

//-----------------------------------------------------------------------------------------------------------*/
 }
Code:
//=============================================================================================================
 // C H E C K   F I R S T   O R D E R S   A N D   O P E N   N E X T   O R D E R S
//=============================================================================================================
// Wenn FirstSell und FirstBuy offen sind...
if(fiSH==true&&fiLO==true){
// ...und nextSell oder nextBuy offen sind,
if(neSH==true||neLO==true){
// Weitere nextOrders öffnen,
// wenn Bedingungen erfüllt sind.
//-----------------------------------------------------------------------------------------------------------*/
// next Sell über Ticket auswählen.     
if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){

//  Prüfen, ob nextSell OpenNextOrder-Dist erreicht hat.
    NeSelOOP_DistONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO*_Point,_Digits );
    if(Bid <= NeSelOOP_DistONO){

//    Wenn ja, FirstSell über Ticket auswählen.
      if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
        if(OrderSymbol()==Symbol()){ // ?
   
//        Prüfen, ob 1.Sell Gewinn-Distanz erreicht hat.
          FiSelOOP_DistCAO=NormalizeDouble( OrderOpenPrice() - Dist_CAO *_Point,_Digits);
          if( Ask > FiSelOOP_DistCAO ){

//          Wenn 1.Sell Gewinn-Distanz nicht erreicht hat, weitere Sell-Orders öffnen.
            FL_opSel=Opened_Sel; // ?
            FL_neSel=Need_Sel;  // ?
            for( n=FL_opSel ; n<FL_neSel ; n--){
              if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,0.0,NULL,MN_NextSel,clrYellow);
              if(IsTradeContextBusy()==true)Sleep(slMS);

              Opened_Sel++;

              Need_Sel = Opened_Sel * OrdersNeed_Multi;

              Need_Buy = Need_Sel * OrdersNeed_Multi;}

} } } } } }

//-----------------------------------------------------------------------------------------------------------*/

// NextBuy über Ticket auswählen.
if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){

//  Prüfen, ob NextBuy OpenNextOrder-Dist erreicht hat.
    NeBuyOOP_DistONO=NormalizeDouble(OrderOpenPrice() + Dist_ONO*_Point,_Digits);
    if(Ask >= NeBuyOOP_DistONO){

//    Wenn ja, FirstBuy über Ticket auswählen.
      if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
        if(OrderSymbol()==Symbol()){
    
//        Prüfen, ob 1.Buy Gewinn-Distanz erreicht hat.   
          FiBuyOOP_DistCAO=NormalizeDouble( OrderOpenPrice() + Dist_CAO*_Point,_Digits);

//          Wenn 1.Buy Gewinn-Distanz nicht erreicht hat
//          weitere Buy-Orders öffnen.
            if(Bid < FiBuyOOP_DistCAO){

              FL_opBuy=Opened_Buy; // ?
              FL_neBuy=Need_Buy;  // ?
              for( o=FL_opBuy ; o<FL_neBuy ; o--){
                if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,Bid,Slippage,SL_Buy,0.0,NULL,MN_NextBuy,clrYellow);
                if(IsTradeContextBusy()==true)Sleep(slMS);
          
                Opened_Buy++;
      
                Need_Buy = Opened_Buy * OrdersNeed_Multi;
          
                Need_Sel = Need_Buy * OrdersNeed_Multi;}

} } } } } }

//-----------------------------------------------------------------------------------------------------------*/
} }
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (39,9 KB, 8x aufgerufen)
Thema geschlossen

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 06:37 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.
-----------------------------------------------------------------------------------------------------------------------------