Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1735

 
anrei2002 #:

Das Schlüsselwort ist HILFE!

Wie ich schon einmal geschrieben habe: Sagen Sie mir lieber gleich, dass dieser Indikator in diesem Forum nicht zu Ende gedacht werden kann!

Und das war's... und ich werde verstehen...., warum so viel Schlacke ausgegossen wurde?

Ich habe ihn überhaupt erst geschrieben.

man kann es nicht reparieren, es ist schief...

Das war das erste, was ich geschrieben habe. Du hast es nicht gesehen, du hast es nicht bemerkt, du hast es für Blödsinn gehalten.

Dass Sie meinen Versuch, Ihnen etwas mitzuteilen, als Unfug ansehen, den Sie hier aufgewühlt haben - ich bin nicht beleidigt, ich habe es nicht um Ihretwillen versucht, jemand anderes wird es lesen und wird keine Fehler machen. Wie für Sie, viel Glück mit Ihrem Indikator, suchen Sie nach anderen Foren, wenn Sie nicht wie diese ein.

 
Nikolay Ivanov #:

Ich habe sofort geschrieben.

Man kann es nicht reparieren, es ist schief...

kann behoben werden, aber es werden die 8 äußersten Balken neu gezeichnet.

 
anrei2002 #:

Das Schlüsselwort ist HILFE!

Ich habe dir geholfen - ich habe aufgeschrieben, was du tun musst - und?)

Was haben Sie getan?

 
Taras Slobodyanik #:

Dies kann behoben werden, aber die 8 äußersten Balken werden neu gezeichnet.

Es wurde auch gesagt, dass das Signal sofort auf den 9. Balken angewandt werden kann und es wird überhaupt nicht neu gezeichnet.

Taras Slobodyanik#:

ich habe dir geholfen - ich habe geschrieben, was du tun musst - und?)

Was haben Sie getan?

Durch die Art und Weise, würden Sie bekommen (mit einer gewissen Wahrscheinlichkeit), um Arbitrage, müssen Sie im Voraus auf alles, was er braucht, um zu tun zu vereinbaren.

Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
  • 2021.11.09
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Nikolay Ivanov #:

Es wurde auch erwähnt... es wurde auch gesagt, dass man ein Signal am 9. Takt senden kann und es wird überhaupt keine Überpreise geben... aber der Mann versteht nicht

Übrigens, wenn Sie Arbitrage betreiben wollen, müssen Sie alles im Voraus aushandeln... was er braucht, kann nicht ohne Vorbehalte gemacht werden.

hier ist alles möglich, der Mann stimmt den Überschreibungen zu und meldet 8 Takte zurück, wo ist das Problem?

ps. Divergenzen und Fraktale treten auch in der Vergangenheit auf, keine große Sache.
 
Taras Slobodyanik #:

Hier ist alles möglich, die Person stimmt der Neueinstufung zu und die Signale 8 Balken zurück, wo ist das Problem?

Er muss "nur" die zusätzlichen Pfeile entfernen und das war's. Und wie man das macht, ob man es neu bewertet oder nicht, ist Ihr Problem... So beginnt jede Schlichtung :)

Es kommt darauf an, wie Sie die Aufgabenstellung formulieren, aber auf jeden Fall würde ich das Risiko nicht eingehen ... Selbst eine erfolgreiche Schlichtung bedeutet monatelangen Stress...

 
anrei2002 #:

Das Schlüsselwort ist HILFE!

Wie ich schon einmal geschrieben habe: Sagen Sie mir lieber gleich, dass dieser Indikator in diesem Forum nicht zu Ende gedacht werden kann!

Und das war's ... und ich werde verstehen...., warum so viel Schlacke ausgegossen wurde?

Ganz genau. Wenn du dabei hilfst, heißt das, dass du es tust, und jemand hilft dir, so viel du kannst und so viel du kannst und so viel du kannst.

Wenn Sie nur fragen, ohne etwas anderes zu tun, und jemand tut es für Sie, dann ist es ein Büro des guten Willens.

Als ich dieses Thema eröffnete, ging es mir um Hilfe, nicht um die Produktion von freien Wünschen.

 

Hallo liebe Forumsnutzer und erfahrene Programmierer! Ich brauche Hilfe bei der Fertigstellung des EA)). Bitte beraten Sie mich, wie ich 2 Dinge in den Code Advisor einfügen kann:

1. Folgende Situation: Ich eröffne einen Auftrag (1.) mit TP und SL und einem bestimmten Lot (wahrscheinlich 0,01). Wenn dieser Auftrag bei Gewinnmitnahme geschlossen wird, ändert sich nichts. Aber wenn dieser (1.) Auftrag bei SL geschlossen wird, wird der nächste Auftrag unmittelbar danach (2.) mit einem 2-mal größeren Lot (0,01*2=0,02) eröffnet. Wenn diese 2. Order mit Take Profit geschlossen wird, dann wird die nächste Order (3. Order) mit einem regulären Lot eröffnet, d.h. ein doppelt so großes Lot wird nur für die nächste Order (2. Order) benötigt, nachdem die vorherige (1.) mit SL geschlossen wurde. Wenn die 3. Order zum zweiten Mal in Folge in SL geschlossen wird, wird das Lot um 2x erhöht, bis es keinen TP-Schluss mehr geben wird. Ich hoffe, dass ich die Logik dessen, was hinzugefügt werden muss, im Detail beschrieben habe;


2. und die zweite Sache, die wir hinzufügen müssen, ist die SL-Bewegung. Lassen Sie mich das anhand eines Beispiels erklären: Nehmen wir an, wir haben einen Auftrag mit den Basisparametern T.p. + 300, S.l. - 500. Der Kurs bewegt sich in die gewünschte Richtung und übersteigt den Eröffnungskurs des Auftrags um 100 Pips. Sobald der Preis +100 vom Eröffnungskurs der Order erreicht, sollte sich SL von der Basis -500 auf +90 bewegen. D.h. wenn der Preis +100 Pips vom Eröffnungskurs der Order erreicht, übertragen wir die Order zum Breakeven, indem wir S,L auf +90 Pips setzen. Danach, wenn der Preis geht weiter in die gewünschte Richtung und geht durch eine andere + 50 Pips - S.L. wird um 50 Pips verschoben => es sollte jetzt bei + 140 Pips aus dem Eröffnungskurs der Bestellung. D.h. der S.L. bewegt sich zuerst von seiner Basisposition bis + 90 Pips vom Eröffnungskurs der Order und bewegt sich dann, wenn er + 50 Pips passiert ( - 500 => + 90 => + 140 => + 190 usw.). Und so geht es weiter, bis der Preis T.P. erreicht. oder wenn sich der Trend umkehrt und auf die S.L. trifft.


Ich hoffe, ich habe alles ausführlich beschrieben, und ich hoffe wirklich auf Ihre Hilfe, denn durch das Hinzufügen dieser fehlenden Elemente wird der Expert Advisor fertig sein)) Wenn Sie Fragen haben, fragen Sie bitte))) Ich füge unten einen Teil des Codes des Expert Advisors ein:

extern string s1                = "Main options";
extern string Symbol            = "";     
extern int timeframe            = 30;     
extern int MagicNumber          = 122122; 
//+------------------------------------------------------------------+
extern string s2                = "Trading options";
extern int BarsForConfirm       = 40;     
extern double Lot               = 0.01;      // размер лота: 0 - авт.расчет (свободная маржа/9000 => 100/5000=0.02 лота); любое другое число - фиксированный лот
extern int StopLoss             = 50;     // стоплосс (в пунктах)
extern int TakeProfit           = 30;     // тейкпрофит (в пунктах)
//+------------------------------------------------------------------+

bool OrderBuy = true, OrderSell = true, Trade = false;  
int timeprev = 0, Slip = 3.0, Start, cnt=1, a;  
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if(CheckForOpen()==0) {a=1; Trade = false;}
   else
   if(CheckForOpen()==1) {a=0; Trade = false;}
   else {Trade = true;}
   if (Digits == 3 || Digits == 5) // Пересчет для 5-ти знаков, работает автоматически
     {                                                    
      TakeProfit *= 10;
      StopLoss *=10;
      Slip *=10;
     } 
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  
  {
  
   if(CheckForOpen()==a) Trade = true;
   if(newbar!=Time[0] && Trade==true)  
     {
      if(CheckForOpen()!=Start)        
        {Start=CheckForOpen(); cnt=1;}
      else {cnt+=1;}

      if(cnt==BarsForConfirm) {        
             
                
             
         if(CheckForOpen()==0)         
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");} else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1)         
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");} else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];  //открытие ордера на цене открытия свечи
     }
  }
//+------------------------------------------------------------------+
//| Calculate optimal lot size                                       |
//+------------------------------------------------------------------+
double Lots()  // Расчет объема лота
  {
   double Lots;
   if(Lot>0) return(Lot);           
   Lots=AccountFreeMargin()/9000;  // раcчёт лота - свободная маржа/9000 => 100/9000=0.01 лота 
   Lots=MathMin(15,MathMax(0.01,Lots));
   if(Lots<0.1) Lots=NormalizeDouble(Lots,2);
   else 
     {
      if(Lots<1) Lots=NormalizeDouble(Lots,1);
      else       Lots=NormalizeDouble(Lots,0);
     }
   return(Lots);
  }
//+------------------------------------------------------------------+
 
MakarFX #:

Fangen

Ich danke Ihnen vielmals. Entschuldigung, dass ich nicht sofort geantwortet habe - ich war abgelenkt.
Ich habe es ausprobiert und ein kleines Problem festgestellt...
Er zeichnet nur, wenn ich ihn mit dem USDX-Symbol ausführe.
Es zeigt sich nicht auf EURUSD (es ist klar, dass ich Symbol_2 ändern).
Sehen Sie sich die Bilder an, dann ist es vielleicht leichter zu verstehen.
Haben Sie eine Idee, warum das so ist und wie man es beheben kann?
Dateien:
EURUSD.JPG  260 kb
USDX.JPG  318 kb
 

Hallo.

Entschuldigung für die dumme Frage... Die Bestellung wird nun ordnungsgemäß aufgegeben und dann Fehler 129 - falscher Preis. Es wird langsam lästig... Hilf mir mal... ((


int f = OrderSend(para_2,OP_BUY,0.1,Ask_para_2,3,0,0,"",0,Blue); if(f < 0){Alert("Fehler beim Setzen der Buy Stop Order: ", GetLastError());}

Grund der Beschwerde: