Cómo armo mi asesor por ensayo y error - página 29

 

Te dije que hicieras una señal

;)

 
Renat Akhtyamov:

Te dije que hicieras una señal

;)

tengo que comprobar primero - y con los ajustes no he decidido todavía. voy a ejecutarlo durante un mes en la demo - lo que el resultado se mostrará. durante una semana, he trabajado a cabo - no está mal. en 4 pares pasó de 50 000 rub a 10000 rub durante una semana - sólo tieneposiciones abiertas ahora - voy a ver cómo la próxima semana va a ir

1 semana

1 semana

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Aleksandr Klapatyuk:

Tengo que comprobar primero - y con los ajustes aún no he decidido. durante un mes voy a correr en una demo - lo que el resultado será. durante una semana, funcionó - no está mal. en 4 pares de 50.000 rublos a 10.000 rublos durante una semana - sólo tiene posiciones abiertas ahora - Voy a ver cómo la próxima semana se mantendrá

¿y el riesgo del 0,01 es del 0,01%?

Y Sergei dice que la norma.

 
Renat Akhtyamov:
¿El 0,01% de riesgo es el 0,01%?

No he entendido cómo funciona este riesgo, siempre me muestra 0,01

aunque en el probador - se pone, y con un lote más grande

---------------------------- esta función establece el lote y calcula - de alguna manera

   //+------------------------------------------------------------------+
   //| Calculate optimal lot size                                       |
   //+------------------------------------------------------------------+
   double            TradeSizeOptimized(void)
     {
      double price=0.0;
      double margin=0.0;
      //--- select lot size
      if(!SymbolInfoDouble(_Symbol,SYMBOL_ASK,price))
         return(0.0);
      if(!OrderCalcMargin(ORDER_TYPE_BUY,_Symbol,1.0,price,margin))
         return(0.0);
      if(margin<=0.0)
         return(0.0);

      double lot=NormalizeDouble(AccountInfoDouble(ACCOUNT_MARGIN_FREE)*MaximumRisk/margin,2);
      //--- calculate number of losses orders without a break
      if(DecreaseFactor>0)
        {
         //--- select history for access
         HistorySelect(0,TimeCurrent());
         //---
         int    orders=HistoryDealsTotal();  // total history deals
         int    losses=0;                    // number of losses orders without a break

         for(int i=orders-1; i>=0; i--)
           {
            ulong ticket=HistoryDealGetTicket(i);
            if(ticket==0)
              {
               Print("HistoryDealGetTicket failed, no trade history");
               break;
              }
            //--- check symbol
            if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
               continue;
            //--- check Expert Magic number
            if(HistoryDealGetInteger(ticket,DEAL_MAGIC)!=Magic_Number)
               continue;
            //--- check profit
            double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
            if(profit>0.0)
               break;
            if(profit<0.0)
               losses++;
           }
         //---
         if(losses>1)
            lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
        }
      //--- normalize and check limits
      double stepvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
      lot=stepvol*NormalizeDouble(lot/stepvol,0);

      double minvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN);
      if(lot<minvol)
         lot=minvol;

      double maxvol=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX);
      if(lot>maxvol)
         lot=maxvol;
      //--- return trading volume
      return(lot);
     }
   //+------------------------------------------------------------------+
 
Сергей Криушин:

No se como funciona, pero funciona muy bien hasta que el beneficio de la demo se va como un tanque... Bien hecho, brillante simplemente super y muchas gracias a ti y a Barabashkin que hay otras personas brillantes y no codiciosas, gran trabajo... parece el scalper de Lecha Volchansky de su hilo https://www.mql5.com/ru/forum/259953/page12... por cierto, iban a hacer un scalper para MT5 también... incluso hubo un intento de iniciarlo...

559
SEM 2018.07.03 10:32 ES

¿Habrá una versión para MT5?

Una pequeña solución para MT5 (funciona en el probador).

Abre la siguiente operación si todas las anteriores por símbolo y dirección están en plus.

Archivos:

Pero no encontré la continuación...Así que me propongo seguir y adaptarlo a tus líneas...Lo combiné con tu método de picar también hasta ver qué pasa...)) Así que no te desanimes y sigue haciéndolo...)



He combinado este EA con el mío ... No sé cómo manejar este milagro todavía.

Foto de

Archivos adjuntos:
 
Aleksandr Klapatyuk:

fusionó a este experto con su . todavía no sabe cómo operar este milagro.

#versión de la propiedad "1.01"

¡Los botones de la izquierda en el probador no funcionan correctamente - pero en modo normal en el terminal, debería funcionar!

cuando los pulso, no se reinician, tengo que pulsar de nuevo para reiniciarlos.

y sólo la COMPRA y la VENTA hacen que el resto no funcione en el probador - pero funcionarán en el terminal en el gráfico

Archivos adjuntos:
 
Aleksandr Klapatyuk:

#versión de la propiedad "1.01"

¡los botones de la izquierda en el probador, no funcionan correctamente - pero en modo normal en el terminal, debería funcionar!

no se restablecen cuando los pulso, tengo que pulsar de nuevo para restablecerlos

y sólo la COMPRA y la VENTA hacen que el resto no funcione en el probador - pero funcionarán en el terminal en el gráfico

el resultado de la prueba es el mismo

Foto de

 
Aleksandr Klapatyuk:

#versión de la propiedad "1.01"

¡los botones de la izquierda en el probador, no funcionan correctamente - pero en modo normal en el terminal, debería funcionar!

no se restablecen cuando los pulso, tengo que pulsar de nuevo para restablecerlos

y sólo la COMPRA y la VENTA hacen que el resto no funcione en el probador - pero funcionarán en el terminal en el gráfico

No he habilitado la inicialización del botón... y entoncesButtonCreate no puede detectarlo

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit(void)
  {
      EventSetTimer(1); // количество секунд 
                     //   ButtonCreate("BUY",Black,OldLace,50,50,100,20,10);
//   ButtonCreate("SELL",Black,OldLace,160,50,100,20,10);
//
//   ButtonCreate("BUY_Close",Black,OldLace,50,80,100,20,10);
//   ButtonCreate("SELL_Close",Black,OldLace,160,80,100,20,10);
//
//   ButtonCreate("Trailing",Black,OldLace,50,110,100,20,10);
//ArraySize(_name);
   int _y=100;
   for(int i=0; i<ArraySize(_name); i++)
     {
      ButtonCreate(_name[i],125,_y,130,20,10);
      _y=_y+25;
     };
//--- create all necessary objects
   if(!ExtExpert.Init())
      return(INIT_FAILED);
//---
   if(ObjectBuySell)
     {
      bool res=false;
        {
         ObjectCreate(0,"BUY 1",OBJ_BUTTON,0,0,0);
         ObjectSetInteger(0,"BUY 1",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-102);
         ObjectSetInteger(0,"BUY 1",OBJPROP_YDISTANCE,37);
         ObjectSetString(0,"BUY 1",OBJPROP_TEXT,"BUY 1");
         ObjectSetInteger(0,"BUY 1",OBJPROP_BGCOLOR,clrMediumSeaGreen);

         ObjectCreate(0,"SELL 1",OBJ_BUTTON,0,0,0);
         ObjectSetInteger(0,"SELL 1",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-50);
         ObjectSetInteger(0,"SELL 1",OBJPROP_YDISTANCE,37);
         ObjectSetString(0,"SELL 1",OBJPROP_TEXT,"SELL 1");
         ObjectSetInteger(0,"SELL 1",OBJPROP_BGCOLOR,clrDarkOrange);

         ObjectCreate(0,"CLOSE",OBJ_BUTTON,0,0,0);
         ObjectSetInteger(0,"CLOSE",OBJPROP_XDISTANCE,ChartGetInteger(0,CHART_WIDTH_IN_PIXELS)-75);
         ObjectSetInteger(0,"CLOSE",OBJPROP_YDISTANCE,57);
         ObjectSetString(0,"CLOSE",OBJPROP_TEXT,"CLOSE");
         ObjectSetInteger(0,"CLOSE",OBJPROP_BGCOLOR,clrMagenta);
        }
      res=true;
     }

     
//--- secceed
   return(INIT_SUCCEEDED);
  }
 
Se supone que los botones amarillos se abren sobre la marcha según tengo entendido - se enciende la compra, se gira la compra hacia abajo, se apaga la compra, se cierra la compra, se gira la venta y se ve cuánto hay en la venta amarilla...
 
Сергей Криушин:

No he habilitado la inicialización del botón... yButtonCreate no lo detecta

ya está emparejado -AVGiS intelligence.mq5195 kb

estás intentando - de otra manera, adjuntar. no funcionará. entonces tienes que reescribir todo sin él (CSampleExpert::)--- bool CSampleExpert::Init(void)