← Назад к списку файлов

neuro-martingailexpertstochastic_v3.mq4

Поиск по коду файла

extern double StopLoss                 =0;
extern double TakeProfit               =0;
extern double step                     =25;
extern int    StepMode                 =0;

extern double proffactor               =10;
extern double mult                     =1.5;
extern double lotsbuy                  =0.01;
extern double lotssell                 =0.01;  
extern double MaxLotBuy                =0.15;
extern double MaxLotSell               =0.15;
extern double per_K                    =200;
extern double per_D                    =20;
extern double slow                     =20;
extern double zoneBUY                  =50;
extern double zoneSELL                 =50;
extern double Magicbuy                 =555;
extern double Magicsell                =556;
extern string Parameters               = "StochasticPerceptron";
extern string Parameters_Stochastic    = "Stochastic";
extern string OrderComment             = "MartingailExpert_V3";
extern int    Kperiod                  = 5;
extern int    Dperiod                  = 3;	
extern int    slowing                  = 3;
extern string Parameters_Perceptron    = "Perceptron";
extern int    shag                     = 0;
extern int    x1                       = 0;
extern int    x2                       = 0;
extern int    x3                       = 0;
extern int    x4                       = 0;

double  sl = 0;
double  tp = 0;
double openpricebuy,openpricesell,lotsbuy2,lotssell2,lastlotbuy,lastlotsell,tpb,tps,cnt,smbuy,smsell,lotstep,
       ticketbuy,ticketsell,maxLot,free,balance,lotsell,lotbuy,dig,sig_buy,sig_sell,ask,bid;                           

int OrdersTotalMagicbuy(int Magicbuy)
{
    int j=0;
    int r;
    for (r=0;r<OrdersTotal();r++)
    {
        if(OrderSelect(r,SELECT_BY_POS,MODE_TRADES))
        {
            if (OrderMagicNumber() == Magicbuy) j++;
        }
    }   
    return(j); 
}

int OrdersTotalMagicsell(int Magicsell)
{
   int d=0;
   int n;
   for (n=0;n<OrdersTotal();n++)
   {
     if(OrderSelect(n,SELECT_BY_POS,MODE_TRADES))
     {
        if (OrderMagicNumber()==Magicsell) d++;
     }
   }    
 return(d);
}     

int orderclosebuy(int ticketbuy)
{
    string symbol = Symbol();
    int cnt;
    for(cnt = OrdersTotal(); cnt >= 0; cnt--)
       {
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);       
       if(OrderSymbol() == symbol && OrderMagicNumber()==Magicbuy) 
         {
         ticketbuy=OrderTicket();OrderSelect(ticketbuy, SELECT_BY_TICKET, MODE_TRADES);lotsbuy2=OrderLots() ;                         
         double bid = MarketInfo(symbol,MODE_BID); 
         RefreshRates();
         OrderClose(ticketbuy,lotsbuy2,bid,3,Magenta); 
         }
       }
       lotsbuy2=lotsbuy;return(0);
     } 

int orderclosesell(int ticketsell)
{
    string symbol = Symbol();
    int cnt;   
    for(cnt = OrdersTotal(); cnt >= 0; cnt--)
       {
       OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);       
       if(OrderSymbol() == symbol && OrderMagicNumber()==Magicsell) 
         {
         ticketsell=OrderTicket();OrderSelect(ticketsell, SELECT_BY_TICKET, MODE_TRADES);lotssell2=OrderLots() ;                         
         double ask = MarketInfo(symbol,MODE_ASK); 
         RefreshRates();
         OrderClose(ticketsell,lotssell2,ask,3, Lime); 
         }
       }
       lotssell2=lotssell;return(0); 
     }

int start()
{
      // код доступен только после оплаты
   }
  double profitbuy=0;double profitsell=0;
  string symbol = OrderSymbol();
  double spread = MarketInfo(symbol,MODE_SPREAD);
  double minLot = MarketInfo(symbol,MODE_MINLOT);
  if (minLot==0.01){dig=2;maxLot=MarketInfo(symbol,MODE_MAXLOT);}
  if (minLot==0.1){dig=1;maxLot=((AccountBalance()/2)/1000);}
  if(OrdersTotalMagicbuy(Magicbuy)>0)
  {
  double smbuy;
  for (cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicbuy) 
      {
      ticketbuy = OrderTicket();OrderSelect(ticketbuy,SELECT_BY_TICKET, MODE_TRADES);
      smbuy = smbuy+OrderLots();openpricebuy = OrderOpenPrice();lastlotbuy = OrderLots();
      }
    }
    {   
    if (smbuy+(NormalizeDouble((lastlotbuy*mult),dig))<maxLot)
      {     
      if(StepMode==0)
        {
        if(Ask<=openpricebuy-step*Point)
          {
              lotsbuy2=lastlotbuy*mult;
              if( StopLoss ==  0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
              if( TakeProfit ==  0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
              if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
              RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
          }
        }
      if(StepMode==1)
        {
        if(Ask<=openpricebuy-(step+OrdersTotalMagicbuy(Magicbuy)+OrdersTotalMagicbuy(Magicbuy)-2)*Point)
          {
              lotsbuy2=lastlotbuy*mult;
              if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;
              if( StopLoss ==  0 ) sl = 0 ; else sl = Ask - (StopLoss * Point);
              if( TakeProfit ==  0 ) tp = 0 ; else tp = Ask + (TakeProfit * Point);
              if (lotsbuy2 > MaxLotBuy) lotsbuy2 = MaxLotBuy;      
              RefreshRates();ticketbuy=OrderSend(Symbol(),OP_BUY,NormalizeDouble(lotsbuy2,dig),Ask,3,sl,tp,OrderComment,Magicbuy,0,Blue);
          } 
        }
      }
    }
  }
  if(OrdersTotalMagicsell(Magicsell)>0)
  {
  double smsell;
  for (cnt=0;cnt<OrdersTotal();cnt++)
    {
    OrderSelect(cnt,SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol() && OrderMagicNumber () == Magicsell)
      {
      ticketsell = OrderTicket();OrderSelect(ticketsell,S

Показано первые 50% кода (символов: 8266)

Как получить полную версию?

Введите ваш email и нажмите кнопку, чтобы перейти к оплате.