Especialistas: Angry Bird (Scalping)

 

Angry Bird (Scalping):

Expert Advisor com base em Ilan 1.6. Utilizam-es os indicadores iCCI (CCI, Commodity Channel Index), iRSI (RSI, Relative Strength Index).

Autor: Vladimir Karputov

 
Automated-Trading:

Angry Bird (Scalping):

Autor: 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                                                                                                           (Translator Google, 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!

O‌k!

B‌roker: FxPro

Login: 5112969


  Investor: 7jzqocks

Server: FxPro-ECN Account Demo

T‌anks,

P‌campozana

 
Paulo Campozana:

Hello Mr. Karputov!

O‌k!

B‌roker: FxPro

Login: 5112969


  Investor: 7jzqocks

Server: FxPro-ECN Account Demo

T‌anks,

P‌campozana


Спасибо. Ждите обновления на версию 1.001 (в первую очередь обновление будет в русской части: Angry Bird (Scalping))
Angry Bird (Scalping)
Angry Bird (Scalping)
  • votos: 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‌

R‌egards,

P‌aulo Campozana.

 

Oi, meu amigo, Vladimir Karputov.

Neste programa, qual é o papel desta função?

void OnTradeTransaction(const MqlTradeTransaction &trans,

const MqlTradeRequest &request,

const MqlTradeResult &result);

 
15041304:

Oi, meu amigo, Vladimir Karputov.

Neste programa, qual é o papel desta função?

void OnTradeTransaction(const MqlTradeTransaction &trans,

const MqlTradeRequest &request,

const MqlTradeResult &result);


Uma pequena ajuda: OnTradeTransaction.

Nesse código, capturamos as entradas e saídas.

//+------------------------------------------------------------------+
//| Função TradeTransaction|
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- obter o tipo de transação como um valor de enumeração 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- se a transação for resultado da adição da transação no histórico
   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 -> última negociação aberta é Buy
               ShortTrade=false;             // true -> última negociação aberta é Sell
               LastOpenBuyPrice=deal_price;  // último preço de "compra" aberto
              }
            if(deal_type==DEAL_TYPE_SELL)
              {
               LongTrade=false;              // true -> última negociação aberta é Buy
               ShortTrade=true;              // true -> última negociação aberta é Sell
               LastOpenSellPrice=deal_price; // último preço de "venda" aberto
              }
           }
      if(deal_entry==DEAL_ENTRY_OUT)
        {
         if(deal_type==DEAL_TYPE_BUY) // fechar as posições "Sell" (vender)
           {
            ShortTrade=false;
            LastOpenSellPrice=0.0;
           }
         if(deal_type==DEAL_TYPE_SELL) // fechar as posições "Buy" (comprar)
           {
            LongTrade=false;
            LastOpenBuyPrice=0.0;
           }
        }
     }
  }

E, dependendo do tipo de transação, atribuímos valores às variáveis ou zeramos as variáveis.

 
Obrigado.
 

Olá,

Testei isso na conta demo e funcionou, mas quando testei na conta real, parece que não foi acionado. Preciso alterar alguma coisa na conta real?

 

Na conta de demonstração, a negociação automática ocorre, enquanto na conta real, a negociação automática não é acionada.