Ücretsiz bir danışman yazacağım - sayfa 157

 
Ivan Butko # :
Bir önceki maalesef uymadı. dikkatli olun   kod tabanı, neredeyse ihtiyacınız olanı buldu

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);
  }
//+------------------------------------------------------------------+


Lütfen değişiklik yapmama yardım et. Bu Uzman Danışman, açık siparişleri zorla kapatmaz. Sınırların belirlenmesi için gereken süre ile birlikte, bunların zorunlu olarak kapatılacağı zamanın belirlenmesinin de mümkün olması arzu edilir.
Optimize etmek için TP ve trol gerekir. Thrall, böylece tüm sınırlar biraz olsun, ancak gece gürültüsü toplarlar.

Zamana göre siparişlerin kaldırılması, durdurma ve takip edilmesi tanıtıldı (burada alınan https://www.mql5.com/en/code/32662, açıklamalar var).

Trailing 2SL
Trailing 2SL
  • www.mql5.com
Трал с двумя уровнями стопа. И с установкой ТП
Dosyalar:
Limit.mq4  25 kb
 
kimlik nasıl bulunur
 
Анна Калмыкова # :
kimlik nasıl bulunur
neyin kimliği?
 
Nasıl para çekilir.
 
Nereden al?
 
Bir ticaret robotu danışmanı yazmaya yardımcı olun . İlk parti 0.01 veya daha az satın alın. İki puan aldıysa kapattı, yine 0,01 iki puan al. Değilse, lot her zaman ikiye katlanır ve tam tersine, puan başına ticaret kurallarına bağlı olarak iki veya 3 puan için 0.02 satar ve kapanır. Almadıysa, satın alma 0,04 idi ve 0,08 almadıysa ve sekiz defaya kadar, yani 0,128 lota kadar kapandı. Ve her zaman yön değiştiririz. Eğer aldıysanız, o zaman tekrar 0.01. ***
 
Forumda tartışmasız ve ücretli danışman yazar mısınız?
 
Lydvik-kaskad # :
Forumda tartışmasız ve ücretli danışman yazar mısınız?

Freelance hizmetinde bir ücret karşılığında yazıyorlar. Bağlantıyı takip edin, referans materyallerini okuyun.

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

Merhaba, lütfen yardım edin.

Grafikte durumları arayacak ve ekran görüntülerinde olduğu gibi gösterecek bir danışmana ihtiyacımız var.

Hesaplamalar olağan parabolik SAR'ı ve olağan kanalı kullanır   lineer regresyon .

Gösterge, son 1000 çubuk için istenen durumları gösterir.

Azalan parabolik dalgalar
Gösterge, parabolik değiştirdikten sonra parametreleri hesaplar.
Hesaplama için birbiri ardına iki parabolik dalga alınır,
bu durumda, azalan dalgalar (fiyatın üzerindeki puanlar).
1) Her dalga için en düşük nokta alınır, dalga 1 - A noktası, dalga 2 - B noktası.
2) B noktasının seviyesi, A noktasının seviyesinden daha yüksek olmalıdır.
3) Bu noktalar bir regresyon kanalı ile birbirine bağlanır ve kanal aşağı doğru yönlendirilmelidir - bu
istenilen oluşum.

Yükselen parabolik dalgalar
Gösterge, parabolik değiştirdikten sonra parametreleri hesaplar.
Hesaplama için birbiri ardına iki parabolik dalga alınır,
bu durumda, yükselen dalgalar (fiyatın altındaki puanlar).
1) Her dalga için en yüksek nokta alınır, dalga 1 - A noktası, dalga 2 - B noktası.
2) B noktasının seviyesi, A noktasının seviyesinden daha düşük olmalıdır.
3) Bu noktalar bir regresyon kanalı ile birbirine bağlanır ve kanal yukarı doğru yönlendirilmelidir - bu

istenilen oluşum.


Çok minnettar kalırım. girdi paylaşabilirim.

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

Çok minnettar kalırım. girdiyi paylaşabilirim.

neden böyle ParabolicSAR ile alay et - zaten mükemmel, girdileri ve çıktıları gösteriyor.

Ekran görüntüsü 2021-10-05 114315