Experts: Angry Bird (Scalping)

 

Angry Bird (Scalping):

Expert Advisor inspired by Ilan 1.6. It uses the iCCI(CCI, Commodity Channel Index), iRSI(RSI, Relative Strength Index) indicators.

Author: Vladimir Karputov

 
Automated-Trading:

Angry Bird (Scalping):

Author: Vladimir Karputov


Mr Karputov;

# 1 - My thanks for your expert advisor conversion work for mt5;

# 2 - I would like it and if I could fix the compile error

"Implicit conversion from number to" string "- line 223,241,269 and 285 (are the same);

# 3 - When running EA it acknowledges RetCode error: 10030, description: Invalid fill, ticket of deal: 0;

I am an apprentice of mql5 and I can not solve these problems.

I will be very happy if you help me.

I use this algorithm in Mt4 and with my modifications I am having many good results. - I will be happy to share my changes with you.


Regards,

Paulo Campozana

Santa Catarina - Brazil (Google Translator, sorry! ;-) )

 
Paulo Campozana:


Mr Karputov;

...

# 2 - I would like it and if I could fix the compile error

"Implicit conversion from number to" string "- line 223,241,269 and 285 (are the same);

...


Спасибо, теперь исправлено.

Paulo Campozana:

...

# 3 - When running EA it acknowledges RetCode error: 10030, description: Invalid fill, ticket of deal: 0;

...

Укажите Ваш торговый сервер, логин и пароль инвестора. Я проверю.
 

Hello Mr Karputov!

OK!

Broker: FxPro

Login: 5112969


Investor: 7jzqocks

Server: FxPro-ECN Account Demo

Tanks,

Pcampozana

 
Paulo Campozana:

Hello Mr Karputov!

OK!

Broker: FxPro

Login: 5112969


Investor: 7jzqocks

Server: FxPro-ECN Account Demo

Tanks,

Pcampozana


Спасибо. Ждите обновления на версию 1.001 (в первую очередь обновление будет в русской части: Angry Bird (Scalping))
Angry Bird (Scalping)
Angry Bird (Scalping)
  • votes: 21
  • 2016.12.07
  • Vladimir Karputov
  • www.mql5.com
Советник по мотивам Ilan 1.6. Используются индикаторы iCCI(CCI, Commodity Channel Index), iRSI(RSI, Relative Strength Index).
 

Привет MR. Karputov!

Фантастико! Я ценю безмерно.

Hello Mr Karputov! Fantastic! I will be immensely grateful

Regards,

Paulo Campozana.

 

Hi My friend , Vladimir Karputov.

In this program ,What is the role of this function ?

      void       OnTradeTransaction(const MqlTradeTransaction &trans,

                                                 const MqlTradeRequest &request,

                                                 const MqlTradeResult &result);

 
15041304:

Hi My friend , Vladimir Karputov.

In this program ,What is the role of this function ?

      void       OnTradeTransaction(const MqlTradeTransaction &trans,

                                                 const MqlTradeRequest &request,

                                                 const MqlTradeResult &result);


A little help: OnTradeTransaction.

In this code, we catch the inputs and outputs.

//+------------------------------------------------------------------+
//| TradeTransaction function                                        |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- get transaction type as enumeration value 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
   if(type==TRADE_TRANSACTION_DEAL_ADD)
     {
      long     deal_entry        =0;
      long     deal_type         =0;
      double   deal_price        =0.0;
      double   deal_profit       =0.0;
      double   deal_volume       =0.0;
      string   deal_symbol       ="";
      long     deal_magic        =0;
      if(HistoryDealSelect(trans.deal))
        {
         deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
         deal_type=HistoryDealGetInteger(trans.deal,DEAL_TYPE);
         deal_price=HistoryDealGetDouble(trans.deal,DEAL_PRICE);
         deal_profit=HistoryDealGetDouble(trans.deal,DEAL_PROFIT);
         deal_volume=HistoryDealGetDouble(trans.deal,DEAL_VOLUME);
         deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL);
         deal_magic=HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
        }
      else
         return;
      if(deal_symbol==Symbol() && deal_magic==m_magic)
         if(deal_entry==DEAL_ENTRY_IN)
           {
            if(deal_type==DEAL_TYPE_BUY)
              {
               LongTrade=true;               // true -> last open trade is Buy
               ShortTrade=false;             // true -> last open trade is Sell
               LastOpenBuyPrice=deal_price;  // last open "Buy" price
              }
            if(deal_type==DEAL_TYPE_SELL)
              {
               LongTrade=false;              // true -> last open trade is Buy
               ShortTrade=true;              // true -> last open trade is Sell
               LastOpenSellPrice=deal_price; // last open "Sell" price
              }
           }
      if(deal_entry==DEAL_ENTRY_OUT)
        {
         if(deal_type==DEAL_TYPE_BUY) // close the "Sell" positions
           {
            ShortTrade=false;
            LastOpenSellPrice=0.0;
           }
         if(deal_type==DEAL_TYPE_SELL) // close the "Buy" positions
           {
            LongTrade=false;
            LastOpenBuyPrice=0.0;
           }
        }
     }
  }

And depending on the type of transaction, we assign variable values or zero the variables.

 
thank you.
 

Hello,

I tested this in demo account and it works but when i tested it in live account, it doesn't seem to be triggered. Do i have to change anything in the live account?

 

In demo account, auto trading happens while in live account, auto trading is not triggered.