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: 43283
Benutzer: 7.223
Aktive Benutzer: 75
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 einer Woche
- Sundaytrad...
vor einer Woche
- TS_6
vor einer Woche
- Mane
vor 3 Wochen
- AlbertZiz
vor 3 Wochen
- michak

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

Empfehlungen

Like Tree5Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #51 (permalink)  
Alt 19.02.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Im Anhang die neueste Version. Nach dem mit der Zeit irgendwie jede Zeile 5 mal umgeschrieben und irgendwie 3 mal zur Ursprungs-Version zurück gearbeitet und Alles irgendwie 8 mal geändert wurde, hab ich keine Ahnung, was das Ding eigentlich macht. Vielleicht tuts, was es soll. Vermutlich aber eher nicht.

Die letzte Vers. hat eigentlich gemacht, was sie soll, allerdings viel zu viele Orders geöffnet. Mit dem Schließen hats irgendwie auch nicht geklappt, wie es sollte.
Was soll das alles hier??????
"hab keine Ahnung, was das Ding eigentlich macht"
Ja, dann lass es doch einfach sein!
Wozu dieser Thread, wenn Du nicht sauber programmieren kannst und im Endeffekt der EA freidreht, dann nützt der EA hier auch niemenden. Das ist doch alles Zeitverschwendung, Irreführung und was weiss ich noch alles.

Ich habe in den vielen Jahren, in denen ich hier angemeldet bin, noch keinen User erlebt, der soviel Irrationalitäten verzapft hat, so Bildungsresitent und auf der anderen Seite so überzeugt von sich ist, hier permanent irgendwelche nicht funktionierenden Programme zu posten.

Ich bitte Dich daher letztmalig, von dem Posten die als fertig deklarierten, aber eigentlich unfertigen, nicht funktionierenden "Programme" abzusehen.

Ich bemühe seit meiner Anmeldung hier, um einen programmtechnischen Standard, den ich durch Deine bisherigen Posts aus o.g. Gründen verletzt sehe. Vielen Usern wurde bei Problemen der Programmierung tatkräftig geholfen, aber alle waren in der Lage, aus ihren Problemen gezielt zu lernen.
Das vermisse ich bei Dir, trotz unsere zahlrreichen Hilfen. Und das kann so bitte nicht weitergehen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #52 (permalink)  
Alt 19.02.21
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hab doch eigentlich immer gesagt, dass da noch Fehler drin sein könnten. Hab ich irgendwo behauptet, das der Krempel 100%ig funktioniert?

Hab ja immer auf Hilfe von den Experten hier gehofft. Da die aber irgendwie nie so richtig kommt, komm ich irgendwie auch nicht richtig weiter.

Jeder hat seine Art zu traden, und mein Ziel ist, den EA, um den es hier geht, endlich fertig zu bekommen. Kann ja verstehn, dass dem Ein oder Anderen nen EA, der auf ne Art MartinGale-Strategie setzt, nicht gefällt, aber geht es darum, ob man die Strategie gut findet?

Nun ja, im Anhang meine neueste Version. Die scheint zu öffnen und zu schließen wann sie soll. Allerdings öffnet sie viel zu viele Orders und ich hab keinen Schimmer warum. Vermutlich irgendwas mit den for-Schleifen nicht richtig, die sind wie gesagt gar nicht mein Gebiet. Bzw. mit dem Zählen und Berechnen der Variablen in den for-Schleifen stimmt nicht. Vermute, das Problem ist irgendwo bei OrderSearch 2 und OrderSearch 3, ich weiß es nicht. Wie gesagt wär ich dankbar für Hinweise, Tipps, Erklärungen, für Alles was mich irgendwie weiter bringen könnte. Ob die "Strategie" gefällt oder nicht, sie k a n n Gewinn bringen.


Irgendwo in diesem Code müsste der Fehler sein. Hab aber keine Ahnung, was nicht stimmt.

Code:
//=============================================================================================================
// O R D E R   S E A R C H   2
//=============================================================================================================
for(j=OrdersTotal()-1;j>=0;j--){
if(OrderSelect(j,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiSel)fi_SH=true;
if(OrderMagicNumber()==MN_FiBuy)fi_LO=true;
if(OrderMagicNumber()==MN_Buy_FiSel)LO_fiSH=true;
if(OrderMagicNumber()==MN_Sel_FiBuy)SH_fiLO=true;  
if(OrderMagicNumber()==MN_NeSel)ne_SH=true;
if(OrderMagicNumber()==MN_NeBuy)ne_LO=true;}}}
//-----------------------------------------------------------------------------------------------------------*/
// Wenn nach OS2 nur FirstSel und FirstBuy offen sind...
if( fi_SH==true && fi_LO==true ){
//=============================================================================================================
//( O S 2 )   O P E N   N E X T   S E L   B Y   F I R S T   B U Y
//=============================================================================================================
//...wenn nach OS2 noch kein NextSel offen ist...
  if( SH_fiLO==false && ne_SH==false ){

//  ...prüfen, ob FirstBuy unter DON_Sel ist:
    if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
    if(OrderSymbol()==Symbol()){
    FiBuy_DON_Sel=NormalizeDouble( OrderOpenPrice() - D_ONO *Point,Digits);

//    Wenn FirstBuy unter DON_Sel ist...
      if( Bid <= FiBuy_DON_Sel ){

//      ...First-NextSel öffnen.
        for( k=OrdersNeed_Multi ; k>0 ; k-- ){// ?
          if(IsTradeAllowed()==true)TI_Sel_FiBuy=OrderSend(Symbol(),OP_SELL,Lots,Ask,Slippage,SL_Sel,TP_Sel,NULL,MN_Sel_FiBuy,clrBlue);
          if(IsTradeContextBusy()==true)Sleep(slMS);
          Opened_Sel++;
          Need_Buy = OrdersNeed_Multi * Opened_Sel;
          Need_Sel = OrdersNeed_Multi * Need_Buy;} }// FirstBuy unter DON_Sel. Erste NextSel öffnen.
//-----------------------------------------------------------------------------------------------------------*/
    } }// Nach Os2 FirstBuy ausgewählt.
  }// Nach OS2 noch kein(e) NextSel offen.
//=============================================================================================================
//( O S 2 )   O P E N   N E X T   B U Y   B Y   F I R S T   S E L
//=============================================================================================================
//...wenn nach OS2 noch kein NextBuy offen ist...
  if( LO_fiSH==false && ne_LO==false ){

//  ...prüfen, ob FiSel über DON_Buy ist:
    if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
    if(OrderSymbol()==Symbol()){
    FiSel_DON_Buy=NormalizeDouble( OrderOpenPrice() + D_ONO *Point,Digits);

//    Wenn FirstSel über D_ON_Buy ist... 
      if( Ask >= FiSel_DON_Buy ){

//      ...First-NextBuy öffnen.
        for( l=OrdersNeed_Multi ; l>0 ; l-- ){// ?
          if(IsTradeAllowed()==true)TI_Buy_FiSel=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL_Buy,TP_Buy,NULL,MN_Buy_FiSel,clrBlue);
          if(IsTradeContextBusy()==true)Sleep(slMS);
          Opened_Buy++;
          Need_Sel = OrdersNeed_Multi * Opened_Buy;
          Need_Buy = OrdersNeed_Multi * Need_Sel;} }// FirstSel über DON_Buy
//-----------------------------------------------------------------------------------------------------------*/
    } }//Nach Os2 FirstSel ausgewählt.
  }// Nach OS2 noch kein(e) NextBuy offen.
//-----------------------------------------------------------------------------------------------------------*/
}// nach OS2 (nur) FirstSel und FirstBuy offen.
//=============================================================================================================
// O R D E R   S E A R C H   3
//=============================================================================================================
for(m=OrdersTotal()-1;m>=0;m--){
if(OrderSelect(m,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiSel)fi_SH=true;
if(OrderMagicNumber()==MN_FiBuy)fi_LO=true;
if(OrderMagicNumber()==MN_Buy_FiSel)LO_fiSH=true;
if(OrderMagicNumber()==MN_Sel_FiBuy)SH_fiLO=true;  
if(OrderMagicNumber()==MN_NeSel)ne_SH=true;
if(OrderMagicNumber()==MN_NeBuy)ne_LO=true;}}}
//-----------------------------------------------------------------------------------------------------------*/
//Wenn nach OS3 FirstSel und FirstBuy offen sind...
if( fi_SH==true && fi_LO==true ){
//=============================================================================================================
//( O S 3 ) O P E N   M O R E   S E L   B Y   F I R S T   N E X T   B U Y
//=============================================================================================================
//...wenn nach OS3 NextBuy_by_FirstSel offen ist...
  if( LO_fiSH==true ){
//-----------------------------------------------------------------------------------------------------------*/
//  ...wenn nach OS3 noch kein Next-NextBuy offen ist...
    if( ne_LO==false ){

//    ...prüfen, ob NeBuy-byFirstSel unter DON_Sel ist:
      if(OrderSelect(TI_Buy_FiSel,SELECT_BY_TICKET)){
      if(OrderSymbol()==Symbol()){
      NeBuy_DON_Sel=NormalizeDouble( OrderOpenPrice() - D_ONO *Point,Digits);

//      Wenn letzter NextBuy unter DON_Sel ist... 
        if( Bid <= NeBuy_DON_Sel ){

//        ...prüfen, ob FiSel DCAO erreicht hat:
          if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
          if(OrderSymbol()==Symbol()){
          DCAO_FiSel=NormalizeDouble( OrderOpenPrice() - D_CAO *Point,Digits);

//          Wenn FirstSel über DCAO ist...
            if( Ask > DCAO_FiSel ){

//            ...weitere SelOrders by NextBuy öffnen.
              for( n=Need_Sel ; n>0 ; n-- ){// ?
                if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,TP_Sel,NULL,MN_NeSel,clrBlue);
                if(IsTradeContextBusy()==true)Sleep(slMS);
                Opened_Sel++;
                Need_Buy = OrdersNeed_Multi * Opened_Sel;
                Need_Sel = OrdersNeed_Multi * Need_Buy;} }// FirstSel über DCAO. Weitere NeSel by Buy öffnen. ?
          } }// FirstSel ausgewählt.
        }// Letzter NeBuy unter NextBuy_DON_Sel.
      } }// Nach OS3 NextBuy-by-FirstSel ausgewählt.
//-----------------------------------------------------------------------------------------------------------*/
    }// Nach OS3 noch kein Next-NextBuy offen.
//=============================================================================================================
//( O S 3 ) O P E N   M O R E   S E L   B Y   N E X T   N E X T   B U Y
//=============================================================================================================
//...wenn nach OS3 doch Next-NextBuy offen ist...
    if( ne_LO==true ){

//    ...prüfen, ob Next-NextBuy unter DON_Sel ist:
      if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){
      if(OrderSymbol()==Symbol()){
      NeBuy_DON_Sel=NormalizeDouble( OrderOpenPrice() - D_ONO *Point,Digits);

//      Wenn letzter NextBuy unter D_ON_Sel ist... 
        if( Bid <= NeBuy_DON_Sel ){

//        ...prüfen, ob FiSel DCAO erreicht hat:
          if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
          if(OrderSymbol()==Symbol()){
          DCAO_FiSel=NormalizeDouble( OrderOpenPrice() - D_CAO *Point,Digits);

//          Wenn FirstSel über DCAO ist...
            if( Ask > DCAO_FiSel ){

//            ...weitere SelOrders by Next-NextBuy öffnen.
              for( n=Need_Sel ; n>0 ; n-- ){// ?
                if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,TP_Sel,NULL,MN_NeSel,clrBlue);
                if(IsTradeContextBusy()==true)Sleep(slMS);
                Opened_Sel++;
                Need_Buy = OrdersNeed_Multi * Opened_Sel;
                Need_Sel = OrdersNeed_Multi * Need_Buy;} }// Nach OS3 FiSel über DCAO. Weitere NeSel by Buy öffnen. ?
          } }// Nach OS3 FirstSel ausgewählt.
        }// Nach OS3 letzter NeBuy unter D_ON_Sel     
      } }// Nach OS3 Next-NextBuy ausgewählt.
    }// Nach OS3 Next-NextBuy offen.
//-----------------------------------------------------------------------------------------------------------*/
  }// Nach OS3 NextBuy-by-FirstSel offen.
//=============================================================================================================
// ( O S 3 )   O P E N   M O R E   B U Y   B Y   F I R S T   N E X T   S E L
//=============================================================================================================
//...wenn nach OS3 First-NextSel offen ist...
  if( SH_fiLO==true ){
 //-----------------------------------------------------------------------------------------------------------*/ 
//  ...wenn nach OS3 noch kein Next-NextSel offen ist...
    if( ne_SH==false ){

//    ...prüfen, ob NeSel über DON_Buy ist:
      if(OrderSelect(TI_Sel_FiBuy,SELECT_BY_TICKET)){
      if(OrderSymbol()==Symbol()){
      NeSel_DON_Buy=NormalizeDouble( OrderOpenPrice() + D_ONO *Point,Digits);

//      Wenn NextSel über DON_Buy ist...      
        if( Ask >= NeSel_DON_Buy ){// Ask oder Bid ?

//        ...prüfen, ob FirstBuy D_CAO erreicht hat:
          if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
          if(OrderSymbol()==Symbol()){
          DCAO_FiBuy=NormalizeDouble( OrderOpenPrice() + D_CAO *Point,Digits);

//          Wenn FirstBuy unter D_CAO ist...
            if( Bid < DCAO_FiBuy ){

//            ...weitere Buy-Orders by NextSel öffnen:
              for( o=Need_Buy ; o>0 ; o-- ){
                if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL_Buy,TP_Buy,NULL,MN_NeBuy,clrBlue);
                if(IsTradeContextBusy()==true)Sleep(slMS);
                Opened_Buy++;
                Need_Sel = OrdersNeed_Multi * Opened_Buy;
                Need_Buy = OrdersNeed_Multi * Need_Sel;} }// Nach OS3 FiBuy unter D_CAO. Open more Buy by NeSel.
          } }// Nach OS3 FirstBuy ausgewählt.
        }// Nach OS3 NeSel über D_ON_Buy.
      } }// Nach OS3 NeSel_by_FirstBuy ausgewählt.
//-----------------------------------------------------------------------------------------------------------*/
    }// nach OS3 noch kein Next-NextSel offen
//=============================================================================================================
// O P E N   M O R E   B U Y   B Y   N E X T   N E X T   S E L
//=============================================================================================================
//  ...wenn nach OS3 doch Next-NextSel offen ist...
    if( ne_SH==true ){

//    ...prüfen, ob NeSel über DON_Buy ist:
      if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
      if(OrderSymbol()==Symbol()){
      NeSel_DON_Buy=NormalizeDouble( OrderOpenPrice() + D_ONO *Point,Digits);

//      Wenn NextSel über DON_Buy ist...      
        if( Ask >= NeSel_DON_Buy ){// Ask oder Bid ?

//        ...prüfen, ob FirstBuy D_CAO erreicht hat:
          if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
          if(OrderSymbol()==Symbol()){
          DCAO_FiBuy=NormalizeDouble( OrderOpenPrice() + D_CAO *Point,Digits);

//          Wenn FirstBuy unter D_CAO ist...
            if( Bid < DCAO_FiBuy ){

//            ...weitere Buy-Orders by NextSel öffnen:
              for( o=Need_Buy ; o>0 ; o-- ){
                if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL_Buy,TP_Buy,NULL,MN_NeBuy,clrBlue);
                if(IsTradeContextBusy()==true)Sleep(slMS);
                Opened_Buy++;
                Need_Sel = OrdersNeed_Multi * Opened_Buy;
                Need_Buy = OrdersNeed_Multi * Need_Sel;} }// Nach OS3 FiBuy unter D_CAO. Open more Buy by NeSel.
          } }// Nach OS3 FirstBuy ausgewählt.
        }// NeSel über D_ON_Buy.
      } }// Nach OS3 Next-NextSel ausgewählt.
//-----------------------------------------------------------------------------------------------------------*/
    }// nach OS3 Next-NextSel offen.
//-----------------------------------------------------------------------------------------------------------*/
  }// nach OS3 FirstNextSel offen.
//-----------------------------------------------------------------------------------------------------------*/
}// Nach OS3 firstSel und firstBuy offen.
Angehängte Dateien
Dateityp: mq4 LoShDTi_v4.mq4 (47,4 KB, 2x aufgerufen)
  #53 (permalink)  
Alt 19.02.21
AVT AVT ist offline
Elite Mitglied
 
Registriert seit: Mar 2018
Ort: Hamburg
Beiträge: 612
AVT befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Hab doch eigentlich immer gesagt, dass da noch Fehler drin sein könnten. Hab ich irgendwo behauptet, das der Krempel 100%ig funktioniert?
Wenn ein Code nicht 100% funktioniert, dann ist irgendwo ein Fehler drin.
Wie man Fehler aufspürt, wurde hier im Forum schon x-mal gepostet.
Und wenn man dann die betreffende Stelle gefunden hat und das selber nicht korrigieren kann, dann kann man natürlich fragen.

Zitat:
Zitat von MA-EA Beitrag anzeigen
Hab ja immer auf Hilfe von den Experten hier gehofft. Da die aber irgendwie nie so richtig kommt, komm ich irgendwie auch nicht richtig weiter.
Welche Hilfe erwartest Du denn zum Teufel sonst noch??
Dir wurde schon eine komplette fertige und funktionierende Version geliefert (und das ohne jegliche Kosten).
Dir wurden schon x-mal Antworten auf die grundlegendsten Verständnisfragen gegeben. Aber anstatt die Antworten zu lesen und sie zu verwenden, um Deine Probleme zu lösen, hat Dich das einen Sch...dreck interessiert. Also wundere Dich nicht, wenn alle müde sind, irgendwelche Hilfen zu posten.

Zitat:
Zitat von MA-EA Beitrag anzeigen
Jeder hat seine Art zu traden, und mein Ziel ist, den EA, um den es hier geht, endlich fertig zu bekommen. Kann ja verstehn, dass dem Ein oder Anderen nen EA, der auf ne Art MartinGale-Strategie setzt, nicht gefällt, aber geht es darum, ob man die Strategie gut findet?
Nun ja, im Anhang meine neueste Version.
....
Wie gesagt wär ich dankbar für Hinweise, Tipps, Erklärungen, für Alles was mich irgendwie weiter bringen könnte. Ob die "Strategie" gefällt oder nicht, sie k a n n Gewinn bringen.
Es geht hier nicht darum, ob man eine Strategie gut findet oder nicht, sondern darum, wie Du auf technische Hifestellung reagierst.
Auch das wurde Dir schon x-mal gesagt. Wenn Du andere Leute und das was sie schreiben ignorierst, dann wundere Dich nicht, wenn sie Dich auch ignorieren. Da hilft es auch nicht - weder Dir noch anderen - wenn Du alle Naselang einen neuen Code bringst.
AVT
  #54 (permalink)  
Alt 23.02.21
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Ist das eigentlich gut, wenn man irgendwie Berechnungen mit OrderOpenPrice() macht, und dann prüft, ob Ask/Bid über/unter dem Ergebnis sind? Kanns da zu Fehlern kommen? Z.B. dass er eben viel mehr Orders öffnet, als er soll?
Code:
//...wenn nach OS3 doch NextBuy-by-NextSel offen ist...
    if( ne_LO==true ){

//    ...prüfen, ob NextBuy_by_NextSel unter DON_Sel ist:
      if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){
      if(OrderSymbol()==Symbol()){
      NeBuy_DON_Sel=NormalizeDouble( OrderOpenPrice() - D_ONO *Point,Digits);

//    Wenn letzter NextBuy unter DON_Sel ist... 
      if( Ask <= NeBuy_DON_Sel ){// Ask testen.

//      ...prüfen, ob FirstSel DCAO erreicht hat:
        if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
        if(OrderSymbol()==Symbol()){
        DCAO_FiSel=NormalizeDouble( OrderOpenPrice() - D_CAO *Point,Digits);

//      Wenn FirstSel über DCAO ist...
        if( Ask > DCAO_FiSel ){
              
          Need_Sel = OrdersNeed_Multi * Opened_Buy;

//        ...weitere SelOrders by Next-NextBuy öffnen.
          for( n=Need_Sel ; n>0 ; n-- ){// ?
            if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL_Sel,TP_Sel,NULL,MN_NeSel,clrBlue);
            if(IsTradeContextBusy()==true)Sleep(slMS);
            Opened_Sel++;} }// Nach OS3 FiSel über DCAO. Weitere NeSel by Buy öffnen. ?
        } }// Nach OS3 FirstSel ausgewählt.
      }// Nach OS3 letzter NeBuy unter D_ON_Sel     
      } }// Nach OS3 Next-NextBuy ausgewählt.
    }// Nach OS3 doch NextBuy_by_NextSel offen.


Ich hab keine Hilfestellungen ignoriert. Will ja nicht meckern, aber sie haben mir nicht wirklich geholfen. Oder bezogen sich erst gar nicht auf den EA/aufs Proggen.
  #55 (permalink)  
Alt 27.02.21
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Im Anhang ne Print-Version. Ist Einiges einfacher und vor Allem der gesamte Code kürzer geworden. Öffnen der ersten paar Orders scheint zu funktionieren. Dann aber öffnet er viel zu Viele Orders. Neulich irgendwie 100 Stück.

Höchstwahrscheinlich liegts an irgendwelchen Schleifen, Welche ja gar nicht mein Fall sind. Vielleicht hängt er sich da irgendwo etliche Male auf und gleichzeitig werden irgendwie zig Orders geöffnet, die gar nicht geöffnet werden sollen.

Vermute, dass hier irgendwo der Fehler ist, vielleicht sind ja auch mehrere Sachen falsch. Vielleicht liegts aber auch an OrderModify() darunter.
Code:
//=============================================================================================================
// ( O C 2 )   O P E N   M O R E   N E X T - S E L   B Y   N E X T - B U Y
//=============================================================================================================

//...wenn nach OC2 schon NextBuy-by-NextSel offen ist...
  if( ne_LO==true ){

//  ...OOP für NextSel-by-NextBuy berechnen:
    if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){
    if(OrderType()==OP_BUY){    
    if(OrderSymbol()==Symbol()){

      OOP_Sel_NeBuy = NormalizeDouble( OrderOpenPrice() - D_ONO *Point,Digits);
    
      if( OOP_Sel_NeBuy > TP_FiSel ){

        Need_Sel = Opened_Buy * OrdersNeed_Multi;

        for( j=Need_Sel ; j>0 ; j-- ){// ?
          if(IsTradeAllowed())TI_NeSel = OrderSend(Symbol(),OP_SELLSTOP,Lots,OOP_Sel_NeBuy,Slippage,SL_FiSel,TP_FiSel,NULL,MN_NeSel,0,Blue);
          if(IsTradeContextBusy())Sleep(slMS);
          if(TI_NeSel>=1)Opened_Sel++;


          Print("-Sended NextSel-by-NextBuy:",
                
                "-OrderSymbol():",OrderSymbol(),
                "-Symbol():",Symbol(),
                
                "-OOP_Sel_NeBuy=",DoubleToStr(OOP_Sel_NeBuy,Digits),
                "-D_ONO=",D_ONO,
                
                "-Need_Sel=",Need_Sel,
                "-Opened_Buy=",Opened_Buy,
                "-OrdersNeed_Multi=",OrdersNeed_Multi,
                
                "-j=",j,
                
                "-TI_NeBuy:",TI_NeBuy,
                "-TI_NeSel:",TI_NeSel,
                "-MN_NeSel:",MN_NeSel
                
               );
          
          
          } } } } } }// Nach OC2 NextBuy-by-NextSel offen.

//=============================================================================================================
//  ( O C 2 )   O P E N   M O R E   N E X T - B U Y   B Y   N E X T - S E L
//=============================================================================================================

//...wenn nach OC2 NextSel-by-NextBuy offen ist...
  if( ne_SH==true ){

//  OOP für NextBuy-by-NextSel berechnen:
    if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
    if(OrderType()==OP_SELL){
    if(OrderSymbol()==Symbol()){

      OOP_Buy_NeSel = NormalizeDouble( OrderOpenPrice() + D_ONO *Point,Digits);

      if( OOP_Buy_NeSel < TP_FiBuy ){

        Need_Buy = Opened_Sel * OrdersNeed_Multi;

        for( k=Need_Buy ; k>0 ; k-- ){// ?
          if(IsTradeAllowed())TI_NeBuy = OrderSend(Symbol(),OP_BUYSTOP,Lots,OOP_Buy_NeSel,Slippage,SL_FiBuy,TP_FiBuy,NULL,MN_NeBuy,0,Yellow);
          if(IsTradeContextBusy())Sleep(slMS);
          if(TI_NeBuy>=1)Opened_Buy++;
          
          
          Print("-Sended NextBuy-by-NextSel:",
                
                "-OrderSymbol():",OrderSymbol(),
                "-Symbol():",Symbol(),
                
                "-OOP_Buy_NeSel=",DoubleToStr(OOP_Buy_NeSel,Digits),
                "-D_ONO=",D_ONO,
                
                "-Need_Buy=",Need_Buy,
                "-Opened_Sel=",Opened_Sel,
                "-OrdersNeed_Multi=",OrdersNeed_Multi,
                
                "-k=",k,
                
                "-TI_NeBuy:",TI_NeBuy,
                "-TI_NeSel:",TI_NeSel,
                "-MN_NeSel:",MN_NeSel
                
               );
          
          
           } } } } } }// Nach OC2 NextSel-by-NextBuy offen.
Vielleicht ist bei OrderModify() was verkehrt, so dass er OrderSend() irgendwie etliche Male wiederholt. Ich weiß es nicht.
Code:
//=============================================================================================================
//  O R D E R   C H E C K   2
//=============================================================================================================
// Wenn nach OC2 FirstSel und FirstBuy offen sind...
if( fi_SH==true && fi_LO==true ){
//=============================================================================================================
// ( O C 2 )   O R D E R   M O D I F Y   F I R S T S E L / F I R S T B U Y
//=============================================================================================================
//...FirstSel SL und TP genau mit OOP berechnen:
  if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){
    SL_FiSel = NormalizeDouble( OrderOpenPrice() + SL *Point,Digits);
    TP_FiSel = NormalizeDouble( OrderOpenPrice() - TP *Point,Digits);
    if(OrderStopLoss()!=SL_FiSel||OrderTakeProfit()!=TP_FiSel){
    if(IsTradeAllowed())OM_Sel=OrderModify(OrderTicket(),OrderOpenPrice(),SL_FiSel,TP_FiSel,Aqua);
    if(IsTradeContextBusy())Sleep(slMS);}


    Print("-OM FirstSel:",
          
          "-TI_FiSel=",TI_FiSel,
          
          "-SL_FiSel=",DoubleToStr(SL_FiSel,Digits),
          "-OrderOpenPrice()=",DoubleToStr(OrderOpenPrice(),Digits),
          "-GV SL=",SL,

          "-TP_FiSel=",DoubleToStr(TP_FiSel,Digits),
          "-GV TP=",TP

         );
    }}
//-----------------------------------------------------------------------------------------------------------*/
//...FirstBuy SL und TP genau mit OOP berechnen:
  if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
  if(OrderSymbol()==Symbol()){
    SL_FiBuy = NormalizeDouble( OrderOpenPrice() - SL *Point,Digits);
    TP_FiBuy = NormalizeDouble( OrderOpenPrice() + TP *Point,Digits);
    if(OrderStopLoss()!=SL_FiBuy||OrderTakeProfit()!=TP_FiBuy){
    if(IsTradeAllowed())OM_Buy=OrderModify(OrderTicket(),OrderOpenPrice(),SL_FiBuy,TP_FiBuy,Aqua);
    if(IsTradeContextBusy())Sleep(slMS);}


    Print("-OM FirstBuy:",
          
          "-TI_FiBuy=",TI_FiBuy,
          
          "-SL_FiBuy=",DoubleToStr(SL_FiBuy,Digits),
          "-OrderOpenPrice()=",DoubleToStr(OrderOpenPrice(),Digits),
          "-GV SL=",SL,

          "-TP_FiBuy=",DoubleToStr(TP_FiBuy,Digits),
          "-GV TP=",TP

         );
    
    } }
Angehängte Dateien
Dateityp: mq4 LoSh_PenOrd_v2c_PRINT.mq4 (38,6 KB, 2x aufgerufen)
  #56 (permalink)  
Alt 27.02.21
Benutzerbild von Indikator-Trading
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Ich hab keine Hilfestellungen ignoriert. Will ja nicht meckern, aber sie haben mir nicht wirklich geholfen. Oder bezogen sich erst gar nicht auf den EA/aufs Proggen.
Hilfestellungen, auch Code bezogen, waren in den Posts 2,13,19,22,24,27,29,31,38,45,47 und 49 genügend vorhanden.

Das verzweifelt und belustigt mich im selben Moment!

Da dir das aber alles am Ars.. vorbei geht, bzw. du nicht in der Lage bist diese Hilfe als Hilfe zu erkennen, sehe ich das hier als sehr große und somit ziemlich gelunge komödiantische Einlage von dir, also weiter so!
  #57 (permalink)  
Alt 28.02.21
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.178
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Print() mit DTS() hab ich versucht. Das Einzige was mir auffiel, war, dass er in irgendner Schleife festzuhängen schien. Ansonsten ist das Gerät nur für kurzfristiges Forex-MartinGale-Scalping da. Niedriger Spread, mehrere gegeneinander laufende Orders, möglichst oft mehrere kleine Gewinne, bei im Grunde 0 Risiko. Was z.B. bei den Buy-Orders verloren geht, wenn der Kurs Short läuft, holen die doppelt oder dreimal so vielen Sell-Orders wieder rein. Bzw. andersrum.

Wie könnte man das mit Roulette vergleichen...

Edit:Mit OrderProfit() würde es zwar irgendwie gehn, aber das wär wieder Rechnerei ohne Ende. Besonders bei Forex müsste es mit Pips/Punkten besser sein. Wie könnte man das machen mit OrderProfit()? Besser wärs wohl, TP/SL so zu modifizieren, dass er alle Orders schließt, sobald dabei mehr Gewinn als Verlust raus kommt. Wie könnte man das machen...

Edit:Mit SL/TP ist es vermutlich sowieso besser. Dann werden beide Richtungen bei (fast) gleichem Kurs geschlossen. Aufgrund der Spreads könnte man vielleicht sogar noch nen paar Punkte extra raus holen... Aber ich bin wie gesagt leider kein Mathe-Experte...

Geändert von MA-EA (28.02.21 um 23:30 Uhr)
  #58 (permalink)  
Alt 28.02.21
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.735
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von MA-EA Beitrag anzeigen
Wie könnte man das machen...
Und genau darüber wirst Du jetzt viele Nächte alleine nachdenken müssen.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #59 (permalink)  
Alt 01.03.21
Mitglied
 
Registriert seit: Feb 2016
Beiträge: 240
RetepM befindet sich auf einem aufstrebenden Ast
Standard

Dies ist keine Antwort auf einen der unsäglichen Monologe des EA-MAs! Ich sehe allerdings, dass sich doch sehr viele für die „Thematik“ des Threads interessieren. Deshalb in der Anlage ein EA, der sicher funktioniert. Wie bei allen Martingale- oder Grid-EAs ist das Risiko jedoch sehr hoch und böse Zungen sagen ja auch, bei solchen EAs es nicht die Frage ist ob, sondern nur wann das Konto zerschossen wird. Mit der Standardeinstellung hat der EA im EURUSD zumindest das Jahr 2020 überstanden. Lasst mal hören ob ihr andere Paare findet, die erfolgreich laufen.
Grüße
Angehängte Dateien
Dateityp: mq4 nh91.mq4 (27,8 KB, 12x aufgerufen)
Thema geschlossen

Lesezeichen


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