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

 

Buenas tardes. He añadido todo al script como se ha sugerido - código del script para transferir los gráficos a d1 y la plantilla de los exámenes parciales a continuación.

//+------------------------------------------------------------------+
//|                                               D1_AND_SHABLON.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright " КОПИЯ 1 "
#property link      "https://vk.com/danila_mastep"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СРЕДНЕСРОК";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


La ventana del terminal con los gráficos abiertos en la captura de pantalla de abajo.

7 gráficos con patrón de scalping

Tengo 7 gráficos abiertos en la captura de pantalla y todos ellos tienen el patrón de scalping al igual que el AUD/USD. Cuando arrastro y suelto el script D1_AND_SHABLON.mq4 no ocurre nada, ¿cuál es la razón de este error? O_o

 
DanilaMactep #:

Buenas tardes. He añadido todo al script como se ha sugerido - el código del script para transferir los gráficos a d1 y la plantilla de los exámenes parciales a continuación.


La ventana del terminal con los gráficos abiertos en la captura de pantalla de abajo.

Tengo 7 gráficos abiertos en la captura de pantalla y todos ellos tienen el patrón de scalping al igual que el AUD/USD. Cuando arrastro y suelto el script D1_AND_SHABLON.mq4 no ocurre nada, ¿cuál es la razón de este error? O_o

El problema es que hay demasiados Asesores Expertos y cada uno tiene una solución diferente. Aunque sea correcto, difiere de los demás. Pero a menudo es completamente erróneo.

Sasha aconsejó poner el nombre de la plantilla sin .tpl, pero en mi consejo es

Este es el foro para el comercio, los sistemas de comercio automatizados y las pruebas de estrategia.

Cualquier pregunta de los novatos sobre MQL4 y MQL5, consejos y discusión sobre algoritmos y códigos

Alexey Viktorov, 2022.02.17 08:29

Sólo tienes una línea más en tu código. O incluso sustituir dos líneas por una.

string tplName = "name.tpl";
/********************Script program start function*******************/
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
    //  ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
    ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

Tomaste un poco de allí, otro poco de allá y obtuviste una papilla... ni siquiera una perla...
 
novichok2018 #:

Sí, exactamente: ese EA #2, vería todas las posiciones abiertas por el EA #1. Sólo si fuera fácil para mí, no pediría ayuda.

Hasta ahora, veo la siguiente solución: escribir un indicador que cree un objeto "punto" con coordenadas de apertura de posición por el EA #1 y colocarlo en un gráfico con el EA #2 instalado.

Si mi lógica es correcta, todavía necesito ayuda para escribir este indicador.

Los ve
 
novichok2018 #:

Sí, exactamente: ese EA #2, vería todas las posiciones abiertas por el EA #1. Sólo si fuera fácil para mí, no pediría ayuda.

Hasta ahora, veo la siguiente solución: escribir un indicador que cree un objeto "punto" con coordenadas de apertura de posición por el EA #1 y colocarlo en un gráfico con el EA #2 instalado.

Si mi lógica es correcta, entonces todavía necesito ayuda para escribir este indicador.

No está del todo claro si necesitas ver la posición abierta por el EA #1

o EA #2?

A continuación se muestra el código del EA que ve las posiciones abiertas por el EA #1,

Sólo tienes que ponerlo en las propiedades mágicas de EA#1.

//+------------------------------------------------------------------+
//|                                                  советник №2.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

input int  Magic = 0;  //

datetime OOT;   //время последней открытой позиции.
double  OOP;    //цена последней открытой позиции.

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
   GetPos(Symbol(),Magic);

   Comment("время последней открытой позиции =",TimeToString(OOT),
           "\nцена последней открытой позиции = ",DoubleToString(OOP,_Digits));

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
void GetPos(string sy,int mn)
  {

   int      i,k=OrdersTotal();

   for(i=0; i<k; i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
         if(OrderMagicNumber()==mn && OrderSymbol()==sy)
           {
            if(OOT<OrderOpenTime())
              {
               OOT = OrderOpenTime();
               OOP = OrderOpenPrice();
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+

Y muestra las coordenadas de la última posición abierta en el sumario.

 
Alekseu Fedotov #:

No está del todo claro si necesita ver las posiciones abiertas del EA 1

o EA #2 ?

A continuación se muestra el código del EA 1 que ve las posiciones abiertas por el EA 1,

Sólo tienes que ponerlo en las propiedades mágicas de EA#1.

Y se muestra en coordenadas sommentales de la última posición abierta.

No tiene acceso al código del asesor-transmisor...

El hombre se obstina en creer que si la orden está abierta en otro gráfico, el emisor no la ve.

Intenté explicarlo, pero fue en vano.

 
Tretyakov Rostyslav #:

No tiene acceso al código del asesor-transmisor...

La persona se obstina en creer que si una orden está abierta en otro gráfico, el emisor no puede verla.

Intenté explicarlo, pero fue en vano.

Pensé que se trataba del receptor, y como que el código está abierto. Pues no lo conseguí.

 
Alexey Viktorov #:

El problema es que hay demasiados asesores y cada uno tiene una solución diferente. Aunque sea la correcta, es diferente a las demás. Pero a menudo es completamente erróneo.

Sasha aconsejó poner el nombre de la plantilla sin .tpl, pero en mi consejo de esta manera


Has cogido un poco de allí, otro poco de allá y has conseguido un lío... ni siquiera una perla...
Detalles muy pequeños a los que nunca prestarías atención. Muchas gracias por la indicación, mañana seguiré investigando. Y eso es que voy a estar de vuelta chicos ))))))))))))))))))
 
Tretyakov Rostyslav #:
Puede verlos

Puede que los vea, no he leído el código del EA, pero puede que sólo vea lo que se refleja en el gráfico donde está instalado. Y se muestran las líneas de Take Profit, Stop Loss y Open Price, pero no hay tiempo de apertura. Por lo tanto, creo que si el EA #2 sólo ve lo que se muestra en su gráfico, no podrá leer correctamente la información del EA #1. De ahí mi deseo de mostrar en su gráfico toda la información sobre la posición abierta por el EA #1: precio, hora de apertura y stops.

 
Alekseu Fedotov #:

No está del todo claro si necesita ver las posiciones abiertas del EA 1

o EA #2 ?

A continuación se muestra el código del EA 1 que ve las posiciones abiertas por el EA 1,

Sólo tienes que ponerlo en las propiedades mágicas de EA#1.

Y salidas en coordenadas sommentales de la última posición abierta.

La plataforma no permite instalar dos EAs en un mismo gráfico. Tal vez sea necesario un indicador.

 
Vitaly Muzichenko #:

Los datos de los suscriptores son perjudiciales para la extracción.

De nuevo, usted tiene 50 en su cuenta con un apalancamiento de 500 y un suscriptor tiene 5000 con un apalancamiento de 33.

Hay un pequeño problema de cálculo aquí. Eso si hablamos de este servicio.

Si estamos hablando de auto-copia, entonces:

usted tiene 50 en su cuenta con un apalancamiento de 2000 y un suscriptor 5000 con un apalancamiento de 33.

Usted podrá abrir 3 posiciones con un pequeño apalancamiento mientras que al suscriptor no le quedará dinero después de la segunda, ya que se expondrá al margen.

---

No es tan sencillo.

Gracias.
Sobre los abonados y sus datos.
La cuestión es que todo será con su consentimiento. No pienso hacer copias masivas en este recurso, es muy incómodo.

Necesito los datos para que el abonado no me engañe dos veces. Ya que el pago se hará después del beneficio. Y necesito ver el abono de saldo para entender cuál es mi cuota.
El suscriptor transferirá mis ganancias él mismo.

El apalancamiento es estable, 100. Mi saldo es de 100 dólares. Reduce la tensión en mi psique. Y un abonado puede tener 100.000, es más fácil para mí estar tranquilo que para él.
Así es como trabajo para los binanos.
También me gustaría profundizar en el tema para los de forex.

Tengo entendido que es usted un experto.
Me gustaría preguntar si es posible hacer algo así con la copiadora.
Por ejemplo, los datos de mi cliente (suscriptor) son emitidos por la API en mi panel de administración en el sitio que mi amigo ha hecho para mí. Pero no es muy bueno en MQL5. O no muy)).