Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1660

 
MakarFX #:

1) Sí, estos son los valores del número de "velas de confirmación" .

2) No, no se abre a la primera, sólo después de un número determinado de "velas de confirmación" .

3) Cambiar el magik y ponerlo en cualquier par

Es mejor hacer del magik una variable externa

1) Lo tengo;

2) Adjuntaré una captura de pantalla en este post, no se abre en la primera, pero si la entrada por 4 velas está en condiciones, se abrirá en la 4ª, como en la captura. Por supuesto, no es lo principal, sólo quiero saber cómo solucionarlo. Pero incluso si lo dejamos, ¿para qué sirve "Init=true"? ¿Cuál es su esencia?

3) ¿Y cómo hacer una variable externa magik? Es que no he tocado el magik y no sé cómo hacerlo:

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
Archivos adjuntos:
 
MakarFX #:

¡No está mal!

 
artem artem #:

1) Lo tengo;

2) Adjuntaré una captura de pantalla en este post, no se abre en la primera vela, pero si la entrada por 4 velas está en las condiciones, se abrirá en la 4ª, como en la captura. Por supuesto, no es lo principal, sólo quiero saber cómo solucionarlo. Pero incluso si lo dejamos, ¿para qué sirve "Init=true"? ¿Cuál es su esencia?

3) ¿Y cómo hacer una variable externa magik? Es que no he tocado el magik ni de lejos y no sé cómo hacerlo:

#define MagicNumber  122122

sustituir por

extern string MagicNumber = 122122;

"Init=true" puede ser eliminado.

Sobre la primera entrada, lo pensaré, pero mañana)

 

artem artem #:

Me gustaría saber cómo se puede eliminar esto.

Eliminado

Archivos adjuntos:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

Buena idea, ¡bien hecho, Makar!

 

Dígame qué hacer, tengo un caso anormal:

El paso en la prueba muestra 40 operaciones en los últimos seis meses. El saldo es de más de 1000 dólares en la cuenta.

Llevando el mismo conjunto durante todo el año - sólo 8 oficios. El resto de unos 1000 dólares.

Lo estoy ejecutando desde el principio de 2020, 3 meses que comercia - más 0 reacción.

No entiendo por qué no quiere comerciar en un período grande. No muestra ningún error en el cuaderno de bitácora.

 
artem artem #:

ese es bueno para divertirse en el probador.

y este es para ti, como un regalo - para ganar dinero.

\\\\\\\\\\\\\\\\\\\\\\\\\\

Lo he probado y veré cómo funciona esta noche.

Captura de pantalla 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

comprobado cómo cambia el patrón en todos los gráficos - ¡todo ha funcionado! -Cómo el beneficio total alcanzó el objetivo.

Captura de pantalla 2021-10-10 055232

Archivos adjuntos:
artem_artem.mq4  26 kb
 

es bueno comprobar en el probador - cuando se guarda la plantilla con los indicadores, si se cambia la configuración de los indicadores - sólo tiene que pulsar la pausa en el probador y ajustar los indicadores .

Captura de pantalla 2021-10-10 063557

\\\\\\

plantilla de gráfico - para el experto anterior.

Archivos adjuntos:
 
SanAlex #:

ese es bueno para divertirse en el probador.

y este es para ti, como regalo, para ganar dinero.

¡Buenos días a todos y buen humor! Estoy intrigado. Por favor, traduzca el códigoartem.mq4 para MT5 si no tiene problemas con él. Quiero ver cómo se "manejan" los rollovers en una cuenta real.

Sinceramente, Vladimir.

 
MrBrooklin #:

¡Buenos días a todos y buen humor! Estoy intrigado. Por favor, si no es difícil para ti, traduce el código artem.mq4 para MT5. Quiero ver cómo "maneja" los rollovers en una cuenta real.

Sinceramente, Vladimir.

Buenos días! Ahora voy a crear un indicador de señal para mt5 a partir de estos indicadores

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Aquí lo hice - el resto es muy simple - en Expert Advisor con sus deseos y su lógica, arrastre y todo lo demás.

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

En el Asesor Experto se puede establecer que se abra en una barra cero o en la primera barra

Captura de pantalla 2021-10-10 085616

Archivos adjuntos:
Fx10_artem.mq5  20 kb
Razón de la queja: