[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. No puedo ir a ningún sitio sin ti - 4. - página 120

 
r772ra:

Veamos si el paso=0

lo que sl y tp será igual a

Y la persona que ha planteado esta pregunta debería poner orden sl=0, tp=0 y luego modificarlo.

Esto debe ser.


1. El "tío" tiene Step=100(en los 5 dígitos).
2. Si el establecimiento de una orden va de acuerdo con su escenario, entonces :
a) primero establecer una orden con cero paradas -- ¿algún problema? ;
b) modificar esta orden de acuerdo con los "Requisitos y limitaciones de las operaciones comerciales".
 

Roll:

1. У "чела" Step=100(на 5-ти знаке)

La pregunta está cerrada, y como si fuera una concesión

Aquí, en el DC se sabe (no digamos cuál) MODE_STOPLEVEL=0

 

Ayuda con un problema. Necesito añadir un comentario al EA, para que en el probador el drawdown se muestre como un porcentaje, calculado por la fórmula: Drawdown = ((Balance - Equity)/Balance * 100)*-1, y lo hice:

double Prosadka = ((AccountBalance() - AccountEquity()) / AccountBalance() * 100)*(-1);

Comment("Просадка = ", DoubleToStr(Prosadka, 2),"%");

Pero también necesito la reducción máxima, que era para la carrera. Eso es lo que no sé hacer. Dime al menos qué extremo tomar, porque nunca he hecho tal cosa. Gracias.

 
Roll:
La gente necesita conocer a sus héroes - por favor, envíe los detalles del DC en un mensaje privado.
comienza con un al y termina con un bet))))
 
alsu, gracias. )
 

Ayuda con el código.

Hay un código que imprime datos en zigzag a un archivo para (extern int Bars_count=10080;) el número de barras. ¿Cómo imprimir los datos de un periodo de tiempo (extern int Time_Period=10080;) en minutos? Es necesario para el análisis en diferentes TFs dentro del mismo período de tiempo. ¿Y cómo determinar automáticamente el valor de las matrices double zz_arr[10000], zz_arr_Abs[10000] ? Esto es para tomar tantos datos del indicador zigzag como necesitemos para el cálculo durante un periodo de tiempo (extern int Time_Period=10080;) .

Código:

//+------------------------------------------------------------------+
//|                                                           ZZ.mq4 |
//|                      Copyright © 2012, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2012, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net"

//indikatoriaus zz kintamieji
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;

extern int Bars_count=10080;                  //Is kiek baru skaiciuosime
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function    
//+------------------------------------------------------------------+
int start()
  {
//----
   if( !NewBar() ) return(0);
   double zz_arr[10000],zz_arr_Abs[10000];
   double preZz=0;
   int i,ii;
    int handle;
          
        handle=FileOpen("array.txt",FILE_CSV|FILE_WRITE,";");
        Print("**********************",handle,"***********************");
   for(i=0;i<=Bars_count;i++)
   {
       double zz = iCustom(NULL,0,"ZigZag",ExtDepth,ExtDeviation,ExtBackstep,0,i); 
      if(zz!=0)
      {
         if(preZz==0)
         {
            preZz=zz
            ;continue;
         }
        zz_arr[ii]=(zz-preZz)/Point;
        if(handle>0)
        /* {
            FileWrite(handle, zz_arr[ii-1]);
         }*/  
        preZz=zz;
        ii++;
        Print(zz_arr[ii-1], "    ii = ", ii - 1);
        zz_arr_Abs[ii-1]=MathAbs(zz_arr[ii-1]);  
        if(handle>0)
         {
            FileWrite(handle, zz, zz_arr[ii-1], zz_arr_Abs[ii-1],ii-1,';');
         }                       
        Print("                      ",zz_arr_Abs[ii-1], "    ii = ", ii - 1);
     }
   }
   FileClose(handle);
  
  ArrayResize(zz_arr,ii);
  Print("-------------------------------------------------");
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Iaia?o?aiea iiaiai aa?a
//+------------------------------------------------------------------+
bool NewBar() 
  {
//----
   static datetime NewTime;               // A?aiy oaeouaai aa?a
   bool NewBar=false;                     // Iiaiai aa?a iao
   if( NewTime!=Time[0] )
     {
      NewTime=Time[0];                    // Oaia?u a?aiy oaeia
      NewBar=true;                        // Iieiaeny iiaue aa?
     }
//----
   return(NewBar);
  }
//+------------------------------------------------------------------+
 
El periodo en minutos puede ser convertido a barras usando iBarShift(), el tamaño de las matrices puede ser establecido al mismo tamaño que las barras, entonces contendrá conscientemente todos los datos necesarios. Tenga en cuenta que la variable ii no se inicializa de ninguna manera en el código, por lo que puede funcionar espontáneamente con errores.
 
buenas noches a todos, ayúdenme a prescribir un stop loss en un asesor
 

Hola ! Podría ayudarme a completar el Trailing Stop y el Trailing Step desde hace un año y no lo encuentro en mi cabeza !

Archivos adjuntos:
udf.mqh  48 kb
 

¿dónde añadir trailing stop y breakeven de salida? y no aumenta el lote cuando se aumenta el depósito

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

int Comprar (int StopLoss = 0, int TakeProfit = 0, double Lote = 0)

{

int Billete = 0;

doble SL = 0;

doble TP = 0;

double VolumenLote = 0;

RefreshRates();

si (StopLoss != 0)

SL = NormalizeDouble(Bid-StopLoss*Point, Digits);

si (TakeProfit != 0)

TP = NormalizeDouble(Ask+TakeProfit*Point, Digits);

si (Lote == 0)

VolumeLot = GetLot ();

si no

VolumenLote = Lote;

Ticket = OrderSend(Symbol(), OP_BUY, VolumeLot, NormalizeDouble(Ask, Digits), 20, SL, TP, NULL, AccountNumber(), 0, Green);

si (Ticket == -1)

{

return (GetLastError ();

}

si no

{

volver (Ticket);

}

}

int Vender (int StopLoss = 0, int TakeProfit = 0, double Lote = 0)

{

int Billete = 0;

doble SL = 0;

doble TP = 0;

double VolumenLote = 0;

RefreshRates();

si (StopLoss != 0)

SL = NormalizeDouble(Ask+StopLoss*Point, Digits);

si (TakeProfit != 0)

TP = NormalizeDouble(Bid-TakeProfit*Point, Digits);

si (Lote == 0)

VolumeLot = GetLot ();

si no

VolumenLote = Lote;

Ticket = OrderSend(Symbol(), OP_SELL, VolumeLot, NormalizeDouble(Bid, Digits), 20, SL, TP, NULL, AccountNumber(), 0, Red);

si (Ticket == -1)

return (GetLastError ();

si no

volver (Ticket);

}

double GetLot ()

{

en el lote;

si (AccountBalance()>=300) lote=0,01;

si (AccountBalance()>=500) lote=0,02;

si (AccountBalance()>=800) lote=0,03;

retorno (lote);

}