Ich schreibe kostenlos einen Ratgeber - Seite 157

 
Ivan Butko #:
Der vorherige hat leider nicht gepasst. Ich habe die Codebasis durchgesehen und fast genau das gefunden, was ich brauche

https://www.mql5.com/ru/code/10236

//+------------------------------------------------------------------+
//|                                                    i`lbeback.mq4 |
//|                                Copyright ? 2011, AM2 && Tiburond |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2011, AM2 && Tiburond"
#property link      "http://www.forexsystems.biz"

#define MAGIC  20110406

extern int  StopLoss    = 1300;   //???????? ??????
extern int  StartHour   = 21;     //??? ?????? ????????(???????????? ?????)
extern int  Distance    = 250;    //?????????? ?? ???? ??? ????????? ??????
extern int  Step        = 50;     //??? ????????? ???????
extern int  Count       = 4;      //?????????? ??????????????? ???????
extern int  Expiration  = 4;      //????? ????????? ??????
extern double  Lots     = 1;      //???
extern bool  MM         = true;   //?????????? ???????????????
extern double  TSP      = 5;      //????
extern bool  BU         = true;   //?????????? ?????? ??????? ? ????????? ? ??????? ???
extern int  BUHour      = 2;      //??? ????? ??????? ??????? ??????? ? ?????????

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int  init()
  {
//----
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int  deinit()
  {
//----
  
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int  start()
  {
   int  b=0,s=0,res;
   datetime  expiration = TimeCurrent()+3600*Expiration;
   double  BuyPrice=fND(Open[0]-Distance*Point);
   double  SellPrice=fND(Open[0]+Distance*Point);  
   for (int  i=OrdersTotal()-1;i>=0;i--)
     {
      if (OrderSelect(i, SELECT_BY_POS))
        {  
         if (OrderSymbol()!=Symbol() || OrderMagicNumber()!=MAGIC) continue;
         if (OrderType()==OP_BUYLIMIT) b++;
         if (OrderType()==OP_SELLLIMIT) s++;
        }  
     }
   if (Hour()>BUHour && Hour()<StartHour && AllProfit()>0) ClosePositions();
   if (Hour()>BUHour && DayOfWeek() == 5) ClosePositions();  
   if (Hour()==StartHour && b<1 && DayOfWeek() != 5)
   for(i=1;i<=Count;i++)
    {
     {              
      res=OrderSend(Symbol(),OP_BUYLIMIT,fLots(),fND(Ask-(Distance*Point+i*Step*Point)),3,fND(BuyPrice-StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Blue);      
      Sleep(3000);
      if(res<0)
         {
            Print("??????: ",GetLastError());
         } else {
            RefreshRates();
         }    
     }
    }
        
   if (Hour()==StartHour && s<1 && DayOfWeek() != 5)
   for(i=1;i<=Count;i++)
    {  
     {              
      res=OrderSend(Symbol(),OP_SELLLIMIT,fLots(),fND(Bid+(Distance*Point+i*Step*Point)),3,fND(SellPrice+StopLoss*Point),fND(Open[0]),"",MAGIC,expiration,Red );
      Sleep(3000);
      if(res<0)
         {
            Print("??????: ",GetLastError());
         } else {
            RefreshRates();
         }    
     }
    }    
//----  
   return(0);
  }
//+------------------------------------------------------------------+
double  fND(double  d, int  n=-1)
  {  
   if (n<0) return(NormalizeDouble(d, Digits));
   return(NormalizeDouble(d, n));
  }
//+------------------------------------------------------------------+
double  fLots()
  {
   double  lot=Lots;
   double  lot_min =MarketInfo( Symbol(), MODE_MINLOT  );
   double  lot_max =MarketInfo( Symbol(), MODE_MAXLOT  );
   if (MM)
     {
      double  lot_step =MarketInfo( Symbol(), MODE_LOTSTEP );
      double  lotcost =MarketInfo( Symbol(), MODE_TICKVALUE );      
      double  dollarsPerPip=0.0;

      lot = AccountFreeMargin()*TSP/100.0;
      dollarsPerPip=lot/StopLoss;
      lot=fND(dollarsPerPip/lotcost, 2);      
      lot=fND(lot/lot_step, 0) * lot_step;
     }
   if (lot<lot_min) lot=lot_min;
   if (lot>lot_max) lot=lot_max;
   return(lot);
  }
//+------------------------------------------------------------------+
void  ClosePositions()
  {
   if(BU)
   for (int  i=OrdersTotal()-1;i>=0;i--)
    {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() == Symbol())
       {
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
          {
            if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, 3, Blue);
            if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, 3, Red);
          }
         Sleep(1000);
      }
    }
  }
//+------------------------------------------------------------------+
double  AllProfit()
  {
   double  Profit = 0;
   for (int  i=OrdersTotal()-1;i>=0;i--)
    {
      OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MAGIC) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)
         if (OrderType() == OP_BUY || OrderType() == OP_SELL) Profit += OrderProfit();
    }
   return (Profit);
  }
//+------------------------------------------------------------------+


Bitte helfen Sie mir, Korrekturen vorzunehmen. Dieser EA schließt die offenen Aufträge nicht zwangsweise. Ich würde mir wünschen, dass wir neben dem Zeitpunkt der Grenzwerteinstellung auch den Zeitpunkt ihrer Zwangsschließung festlegen könnten.
Wir brauchen TP und trall, um sie zu optimieren. Ein Trall, so dass alle Grenzen auf eine kleine Art und Weise geschlossen werden würden, aber sammeln nächtlichen Lärm.

Einführung der Auftragslöschung, des Timings, des Setzens von Stopps und des Schleppnetzes (hier https://www.mql5.com/ru/code/32662, dort gleiche Erklärung).

Trailing 2SL
Trailing 2SL
  • www.mql5.com
Трал с двумя уровнями стопа. И с установкой ТП
Dateien:
Limit.mq4  25 kb
 
Wie man die Kennung herausfindet
 
Анна Калмыкова #:
Wie finden Sie die ID heraus?
Die Identität von was?
 
Wie Sie Geld abheben können.
 
Woher nehmen Sie es?
 
Helfen Sie mir , einen EA-Handelsroboter zu schreiben. Die erste Partie kaufen 0,01 oder weniger. Wenn zwei Punkte genommen werden, dann wird es geschlossen und wieder kaufen 0,01 zwei Punkte. Wenn nicht, dann ist das Los immer verdoppelt und geht das Gegenteil von verkaufen 0,02 für zwei oder drei Punkte je nach den Regeln des Handels pro Punkt. Wenn nicht genommen, kaufen 0,04 und geschlossen, wenn nicht genommen 0,08 und so weiter bis zu acht Mal, d.h. bis zu 0,128 Lot. Wir ändern immer die Richtung. Wenn sie genommen wurde, wieder 0,01. ***
 
Schreiben Sie EAs für ein Honorar und ohne Diskussion im Forum?
 
Lydvik-kaskad #:
Schreiben Sie EAs für ein Honorar und ohne Diskussion im Forum?

Bezahlter Schreibdienst Freiberuflich. Folgen Sie dem Link und lesen Sie das Referenzmaterial.

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • 2021.10.02
  • www.mql5.com
Самый большой фриланс c разработчиками программ на MQL5
 

Hallo, bitte helfen Sie mir.

Ich benötige einen EA, der Situationen wie auf den Screenshots auf dem Chart sucht und anzeigt.

Für die Berechnungen werden ein normaler parabolischer SAR-Kanal und ein normalerlinearer Regressionskanal verwendet.

Der Indikator zeigt die gesuchten Situationen für die letzten 1000 Balken an.

Die absteigenden Wellen des Paraboloids
Der Indikator berechnet die Parameter nach dem Wechsel der Parabel.
Zur Berechnung nehmen wir die beiden aufeinander folgenden Wellen der Parabel,
In diesem Fall sind es die absteigenden Wellen (Punkte über dem Preis).
1) Jede Welle hat den niedrigsten Punkt, Welle 1 hat Punkt A, Welle 2 hat Punkt B.
2) Das Niveau von Punkt B muss höher sein als das Niveau von Punkt A.
3) Diese Punkte sind durch einen Regressionskanal verbunden, der nach unten gerichtet ist - dies ist die
die gewünschte Formation.

Parabolisch ansteigende Wellen
Der Indikator berechnet die Parameter nach dem Wechsel der Parabel.
Zur Berechnung werden zwei aufeinander folgende Wellen einer Parabel genommen,
In diesem Fall sind es die steigenden Wellen (Punkte unter dem Preis).
1) Der höchste Punkt jeder Welle wird genommen, Welle 1 hat Punkt A, Welle 2 hat Punkt B.
2) Das Niveau von Punkt B muss niedriger sein als das Niveau von Punkt A.
3) Diese Punkte sind durch einen Regressionskanal verbunden, und der Kanal muss nach oben gerichtet sein - das ist die

die gewünschte Formation.


Dafür wäre ich sehr dankbar. Ich kann die Einträge weitergeben.

Dateien:
yxc3e4dpz2.png  64 kb
4cprtquce6.png  62 kb
 
var58 #:

Dafür wäre ich sehr dankbar. Ich kann die Eingaben weitergeben.

Warum sollte man sich über ParabolicSAR lustig machen - es zeigt die Inputs und Outputs so, wie es ist, perfekt an.

Bildschirmfoto 2021-10-05 114315

Grund der Beschwerde: