Linear Regression Candle for MT4 外汇EA

Linear Regression Candle for MT4 外汇EA-EA侦探社 - 全球领先的MQL5官网外汇EA机器人MT4自动化交易EA资源免费分享网站
Linear Regression Candle for MT4 外汇EA
此内容为免费资源,请登录后查看
0积分
免费资源

如果免费资源下载的文件为TXT文档

请联系站长更新!站长微信:Lv596999  Telegram:@eapoj

“Mql5官网”板块的EA基本都有,大部分是无限制NODLL版,NODLL版本MT1420升级,大多数不可用!这些EA来源为国外花钱买过来的

有需要,请联系站长!

“EA测评”板块资源全部现有,看见不错的,可以联系站长看EA在确定是否收费

“无限制EA”板块,大部分免费,下载文件全部存在,都可以免费下载

站长硬盘EA太多,因大部分时间做交易,做风控,没太多时间更新下载地址,请谅解!

需要更新下载文件,请联系站长微信!国外朋友请联系Telegram。


To download MT5 version please click here.

– This is the exact conversion from TradingView: “Linear Regression Candles” By “ugurvu”.

– This is a non-repaint and light processing load indicator

– You can message in private chat for further changes you need.

This is a sample EA code that operates based on bullish and bearish linear regression candles.

#property strict

input string EA_Setting="";
input int magic_number=1234;

input string    Risk_Management="";
input double fixed_lot_size=0.01; // select fixed lot size

input string    LINREG_Setting="";
input int signal_length = 7; //signal SMoothing
input bool sma_signal_line = true; //Simple MA(Signal Line)
input bool linreg = true; //Lin Reg
input int linreg_length = 11; //Linear Regression Length

void OnTick()
  {
      if(!isNewBar()) return;
           
      bool buy_condition=true;
      buy_condition &= (BuyPositionCount()==0);
      buy_condition &= (CloseOfCandle(1)>OpenOfCandle(1));
      if(buy_condition)
      {
         CloseSell();      
         Buy();   
      }

      bool sell_condition=true;
      sell_condition &= (SellPositionCount()==0);
      sell_condition &= (CloseOfCandle(1)<OpenOfCandle(1));
      if(sell_condition)
      {
         CloseBuy();
         Sell();   
      }
  }


int BuyPositionCount()
{
   int counter=0;
   for(int i=0;i<OrdersTotal();i++)
   {
      if(OrderSelect(i, SELECT_BY_POS)==false) continue;
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=magic_number) continue;
      if(OrderType()==OP_BUY) counter++;
   }
   return counter;
}

int SellPositionCount()
{
   int counter=0;
   for(int i=0;i<OrdersTotal();i++)
   {
      if(OrderSelect(i, SELECT_BY_POS)==false) continue;
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=magic_number) continue;
      if(OrderType()==OP_SELL) counter++;
   }
   return counter;
}

void Buy()
{
   if(OrderSend(_Symbol, OP_BUY, fixed_lot_size, Ask, 3, 0, 0, NULL, magic_number, 0, clrNONE)==-1)
   {
      Print("Could not execute order: ", GetLastError());
   }
}

void Sell()
{
   double sl = High[iHighest(_Symbol, PERIOD_CURRENT, MODE_HIGH, 15, 0)];
   double sl_points=MathAbs(Bid-sl)/_Point;
   double tp = 0;
   double lot=CalculateLots(sl_points);
   if(OrderSend(_Symbol, OP_SELL, fixed_lot_size, Bid, 3, 0, 0, NULL, magic_number, 0, clrNONE)==-1)
   {
      Print("Could not execute order: ", GetLastError());
   }
}

datetime timer=NULL;
bool isNewBar()
{
   if(timer==NULL){}
   else if(timer==Time[0]) return false;
   timer=Time[0];
   return true;
}

void CloseBuy()
{
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i, SELECT_BY_POS)==false) continue;
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=magic_number) continue;
      if(OrderType()==OP_BUY) 
      {
         if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, clrNONE)==false)
         {
            Print("Error closing orde: ", GetLastError());
         }
      }
   }
}

void CloseSell()
{
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i, SELECT_BY_POS)==false) continue;
      if(OrderSymbol()!=_Symbol) continue;
      if(OrderMagicNumber()!=magic_number) continue;
      if(OrderType()==OP_SELL) 
      {
         if(OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 3, clrNONE)==false)
         {
            Print("Error closing orde: ", GetLastError());
         }
      }
   }
}


double CloseOfCandle(int index)
{
   return iCustom(_Symbol, PERIOD_CURRENT, "Market/Linear Regression Candle for MT4", 
   signal_length,
   sma_signal_line,
   linreg,
   linreg_length, 3, index);
}


double OpenOfCandle(int index)
{
   return iCustom(_Symbol, PERIOD_CURRENT, "Market/Linear Regression Candle for MT4", 
   signal_length,
   sma_signal_line,
   linreg,
   linreg_length, 2, index);
}

© 版权声明
THE END
喜欢就支持一下吧
点赞18 分享
相关推荐