Asesores Expertos: Angry Bird (Scalping)

 

Angry Bird (Scalping):

Asesor Experto a base de Ilan 1.6. Se utilizan los indicadores iCCI(CCI, Commodity Channel Index), iRSI(RSI, Relative Strength Index).

Autor: Vladimir Karputov

 
Automated-Trading:

Angry Bird (Scalping):

Autor: Vladimir Karputov


Sr. Karputov;

# 1 - Mi agradecimiento por su trabajo de conversión de asesor experto para mt5;

# 2 - Me gustaría y si pudiera arreglar el error de compilación

"Conversión implícita de número a" cadena "- línea 223,241,269 y 285 (son los mismos);

# 3 - Al ejecutar EA reconoce error RetCode: 10030, descripción: Invalid fill, ticket of deal: 0;

Soy un aprendiz de mql5 y no consigo solucionar estos problemas.

Estaré muy contento si me ayudan.

Yo uso este algoritmo en Mt4 y con mis modificaciones estoy teniendo muchos buenos resultados. - Estaré encantado de compartir mis modificaciones con vosotros.


Saludos,

Paulo Campozana

Santa Catarina - Brasil (Traductor de Google, ¡lo siento! ;-) )

 
Paulo Campozana:


Sr. Karputov;

...

# 2 - Me gustaría y si pudiera arreglar el error de compilación

"Conversión implícita de número a" cadena "- línea 223,241,269 y 285 (son los mismos);

...


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

Paulo Campozana:

...

# 3 - Al ejecutar EA reconoce RetCode error: 10030, descripción: Relleno no válido, ticket de trato: 0;

...

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

¡Hola, Sr. Karputov!

¡VALE!

Agente de bolsa: FxPro

Login: 5112969


Inversor: 7jzqocks

Servidor: FxPro-ECN Cuenta Demo

Tanques,

Pcampozana

 
Paulo Campozana:

¡Hola, Sr. Karputov!

¡VALE!

Agente de bolsa: FxPro

Login: 5112969


Inversor: 7jzqocks

Servidor: FxPro-ECN Cuenta Demo

Tanques,

Pcampozana


Спасибо. Ждите обновления на версию 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!

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

¡Hola, Sr. Karputov! ¡Fantástico! Le estaré inmensamente agradecido

Saludos,

Paulo Campozana.

 

Hola amigo Vladimir Karputov.

¿Cuál es el papel de esta función en este programa ?

void OnTradeTransaction(const MqlTradeTransaction &trans,

const MqlTradeRequest &request,

const MqlTradeResult &result);

 
15041304:

Hola amigo Vladimir Karputov.

¿Cuál es el papel de esta función en este programa ?

void OnTradeTransaction(const MqlTradeTransaction &trans,

const MqlTradeRequest &request,

const MqlTradeResult &result);


Un poco de ayuda: OnTradeTransaction.

En este código, capturamos las entradas y salidas.

//+------------------------------------------------------------------+
//| Función TradeTransaction|
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction &trans,
                        const MqlTradeRequest &request,
                        const MqlTradeResult &result)
  {
//--- obtener el tipo de transacción como valor de enumeración 
   ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- si la transacción es el resultado de la adición de la transacción en la historia
   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 -> la última operación abierta es Comprar
               ShortTrade=false;             // true -> la última operación abierta es Vender
               LastOpenBuyPrice=deal_price;  // último precio de compra abierto
              }
            if(deal_type==DEAL_TYPE_SELL)
              {
               LongTrade=false;              // true -> la última operación abierta es Comprar
               ShortTrade=true;              // true -> la última operación abierta es Vender
               LastOpenSellPrice=deal_price; // último precio de venta abierto
              }
           }
      if(deal_entry==DEAL_ENTRY_OUT)
        {
         if(deal_type==DEAL_TYPE_BUY) // cerrar las posiciones de "Venta
           {
            ShortTrade=false;
            LastOpenSellPrice=0.0;
           }
         if(deal_type==DEAL_TYPE_SELL) // cerrar las posiciones de "Compra
           {
            LongTrade=false;
            LastOpenBuyPrice=0.0;
           }
        }
     }
  }

Y dependiendo del tipo de transacción, asignamos valores variables o ponemos a cero las variables.

 
gracias.
 

Hola,

He probado esto en la cuenta demo y funciona, pero cuando lo probé en la cuenta real, no parece ser activado. Tengo que cambiar algo en la cuenta real?

 

En la cuenta demo, la negociación automática se produce, mientras que en la cuenta real, la negociación automática no se activa.