[¡Archivo!] ¡¡¡Escribiendo un país juntos!!!

 

Propongo escribir un consejero conjunto. Creo que me ayudará a responder a muchas preguntas interesantes (sobre esto después de que el proyecto está terminado), y en segundo lugar, tal vez vamos a hacer un grial juntos:) Y, por último, para los principiantes (que creo que soy en términos de programación) será interesante para aprender a construir MTS paso a paso. Tomé la estrategia más simple como base... Simplemente abra en la ruptura del Máximo/Mínimo del día anterior con un TP fijo y pare en el Máximo/Mínimo de este día. ¿Por qué exactamente? Sí, porque en primer lugar, este sistema no utiliza ningún indicador, y en segundo lugar, el factor de ocupación desde el año 2000 hasta ahora es de 1,00 +/-0,03 (dependiendo de los datos históricos porque pueden ser diferentes), es decir, es 50/50 y por último, creo que romper el Máximo/Mínimo del día anterior es psicológicamente importante para el mercado. Sugiero encontrar otros niveles clave o utilizar índices auxiliares o algo más, pero lo principal es conseguir un Asesor Experto más rentable que el presentado a continuación. Este es un gráfico desde el 01.01.2009 hasta la fecha, puede obtener un informe más detallado por sí mismo. La idea principal es que los demás instrumentos sólo deben ayudar al sistema, y no basarse en ellos. Es decir, tomamos un sistema que funciona como base e intentamos actualizarlo (mejorarlo). Esto es lo que tengo...

Este TS está completamente "desnudo", pero tiene potencial...

No recomiendo su uso para los principiantes... Durante los próximos 5 años se drenará ;)

Entonces, el campo no está arado...

Este es el código

//+-----------------------------------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
  // Внешние переменные
  extern double TakeProfit = 900; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Trade     = true,
         Open_Bay  = false,
         Open_Sell = false;

  // Проверяем можно ли торговать
  if ( Trade==true) 
   {
   
  // Критерии открытия позиций
    if (Bid > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if (Bid < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;
        
  // Открытие позиций
      if ( Open_Bay == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         RefreshRates(); 
         Alert("111111111111");
          ASK = MarketInfo( SYMBOL,10);                                
          SL = iLow( SYMBOL,PERIOD_D1,0);
          TP = ASK + TakeProfit*Point;
          if (( ASK- SL)/Point<MarketInfo( SYMBOL,14)) return;  // проверяем минимальный уровень стопов
          Alert("Пробуем открыть Buy ", SYMBOL, " по ", ASK, SL, TP);         
          Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
           if ( Ticket > 0)                                                  
            {            
             Alert ("Открыт ордер Buy ", Ticket);
             LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
             return;                                                       
            }         
        }
     if ( Open_Sell == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         RefreshRates();                                             
          BID = MarketInfo( SYMBOL,9);
          SL = iHigh ( SYMBOL,PERIOD_D1,0);
          TP = BID - TakeProfit*Point;
          if (( SL- ASK)/Point<MarketInfo( SYMBOL,14)) return; // проверяем минимальный уровень стопов
          Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
           if ( Ticket > 0)                                                  
             { 
              Alert ("Открыт ордер Sell ", Ticket);
              LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
              return;                                   
             }         
          return;                                                       
        }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
  return;       
  }



No soy un profesional... Soy un "aficionado", por lo que es más fácil trabajar con él. O en general... un nuevo esquema. Lo principal es que la condición







    if (Bid > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if (Bid < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;

en esta etapa se mantiene.

Gracias a todos los que han respondido.

Archivos adjuntos:
 

¿Está el EA optimizado en todos los aspectos y cuánto tiempo se mantienen los parámetros optimizados?

 
ivandurak >> :

¿Está el EA optimizado en todos los ámbitos y cuánto duran los parámetros optimizados?

¿Qué tipo de optimización?

Aquí (en esta etapa) sólo se puede optimizar el TP, por supuesto se puede ejecutar el lote, pero no tiene sentido

 

Sí, aquí el campo no sólo está sin cultivar, sino que es tierra virgen mires donde mires, bendiciendo que puedas ajustar los niveles a tu gusto tanto en alto-bajo como en todo tipo de Camarillas y Murrays. En cuanto a la alta-baja, ya la he construido - puedo decir de inmediato que no es un grial, porque un sistema decente produce drawdowns muy grandes. No parecerán tan grandes si las posiciones de toma son comparables a ellas. Sin embargo, para la ruptura de un día no se puede tomar una posición larga - simplemente no funcionará o funcionará en 6 meses.

Por lo tanto, aconsejo utilizar sistemas de ruptura basados en rangos estrechos donde la toma es mayor que el rango de ruptura. El ejemplo más llamativo es la ruptura de un piso matutino. Es absolutamente correcto en este sentido.

Si queremos utilizar los bancos de día, no podemos prescindir de puntos de referencia adicionales en forma de niveles, herramientas y pandero de chamán.

 
sayfuji >> :

Sí, aquí el campo no sólo está sin cultivar, sino que es tierra virgen mires donde mires, la bendición es que puedes ajustar los niveles a tu gusto tanto en alto-bajo como en todo tipo de Camarillas y Murrays. En cuanto al high-low, ya lo he construido - puedo decir de inmediato que no es un grial, porque un sistema decente produce drawdowns muy grandes. No parecerán tan grandes si las posiciones de toma son comparables a ellas. Sin embargo, para la ruptura de un día no se puede tomar una posición larga - simplemente no funcionará o funcionará en 6 meses.

Por lo tanto, aconsejo utilizar sistemas de ruptura basados en rangos estrechos donde la toma es mayor que el rango de ruptura. El ejemplo más llamativo es la ruptura de un piso matinal. Es absolutamente correcto en este sentido.

Si tenemos que bailar sobre los bancos de día, no podemos prescindir de puntos de referencia adicionales en forma de niveles, herramientas y pandereta de chamán.

Reemplazar en el Asesor Experto

RERIOD_D1 a RERIOD_H4, quizás el resultado sea mejor.

Para ser sincero, no he probado nada con este MTS... Sólo lo hice por interés...

Como dije en el hilo anterior, en el foro del famoso DC "A", los foreros llevan un año escribiendo juntos...

Vamos a inventar algo también... Tenemos más potencial de programación...

 
RomanS писал(а) >>

¿Qué tipo de optimización?

Aquí (en esta etapa) sólo el T.Pro puede ser optimizado, por supuesto, también puede ejecutar el lote, pero no tiene sentido

Me refiero al comercio virtual. Los mejores parámetros se eligen para el comercio real. Si escribimos dos EAs en un código, uno funciona en una ruptura y el otro en un rebote, el que opera mejor.

 

Ahora ya puedo ver los errores en nuestro MTS

Quería que funcionara para todos los pares de divisas, pero sólo funcionó para el EURUSD

Lo corregiré ahora...

-----------------------------------------------+
//|                                                     Крокодил ГЕНА.mq4 |
//|                                                         Крокодил ГЕНА |
//+-----------------------------------------------------------------------+
// Описание ТС
// 1. Открытие позиций происходит при пробитии High или Low предыдущего дня
//    SL ставиться на High или Low текущего дня, TP выставляется во внешних переменных, 
//    единственная оговорка не более 1 позиции в день в переменной LastTradeTime 
//    если в ней нет необходимост смело сносите /RomanS/
// 2.
// 3.
// 4.
// 5.
 
  // Внешние переменные
  extern double TakeProfit = 900; 
  extern double Lot        = 1;    
  extern string SYMBOL     = "EURUSD";
  
  // Глобальные переменные
  int LastTradeTime = 0;      // Время последней открытой сделки
  
  // Поехали... :)
  int start() 
  {  
     int Ticket;
  double BID,
         ASK,
         SL=0,
         TP=0;                                  
    bool Trade     = true,
         Open_Bay  = false,
         Open_Sell = false;

  // Проверяем можно ли торговать
  if ( Trade==true) 
   {
   
   ASK = MarketInfo( SYMBOL,10);
   BID = MarketInfo( SYMBOL,9);
  
  // Критерии открытия позиций
    if ( BID > iHigh ( SYMBOL,PERIOD_D1,1)) Open_Bay = true; 
    if ( BID < iLow ( SYMBOL,PERIOD_D1,1)) Open_Sell = true;
        
  // Открытие позиций
      if ( Open_Bay == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                           
        {      
         RefreshRates(); 
          SL = iLow( SYMBOL,PERIOD_D1,0);
          TP = ASK + TakeProfit*Point;
          if (( ASK- SL)/Point<MarketInfo( SYMBOL,14)) return;  // проверяем минимальный уровень стопов
          Alert("Пробуем открыть Buy ", SYMBOL, " по ", ASK, SL, TP);         
          Ticket=OrderSend( SYMBOL,OP_BUY, Lot, ASK,20, SL, TP);         
           if ( Ticket > 0)                                                  
            {            
             Alert ("Открыт ордер Buy ", Ticket);
             LastTradeTime=TimeDay(TimeCurrent()); // задаем время сделки, чтобы сегодня больше не торговать 
             return;                                                       
            }         
        }
     if ( Open_Sell == true && OrdersTotal()==0 && TimeDay(TimeCurrent())!= LastTradeTime)                                             
        {      
         RefreshRates();                                             
          SL = iHigh ( SYMBOL,PERIOD_D1,0);
          TP = BID - TakeProfit*Point;
          if (( SL- ASK)/Point<MarketInfo( SYMBOL,14)) return; // проверяем минимальный уровень стопов
          Ticket = OrderSend( SYMBOL,OP_SELL, Lot, BID,20, SL, TP);         
           if ( Ticket > 0)                                                  
             { 
              Alert ("Открыт ордер Sell ", Ticket);
              LastTradeTime=TimeDay(TimeCurrent());  // задаем время сделки, чтобы сегодня больше не торговать
              return;                                   
             }         
          return;                                                       
        }
   
   // Закрытие позиции
   
   // Модификация ордера
   
   }
  return;       
  }
Archivos adjuntos:
 
sayfuji >> :

Si vas a bailar durante el día, necesitarás una guía adicional en forma de más niveles, trucos y una pandereta de chamán.

Así que el champán y la pandereta tienen que ir juntos...

Solo, menos posibilidades, hay que comunicarse, para eso está el foro...

 

Buenas tardes, RomanS.

Es una gran idea. Muy a menudo veo a los comerciantes en los foros extranjeros que se asocian y crean un experto por los esfuerzos mutuos. Estoy dispuesto a apoyarlo.

En cuanto a su idea, es una idea que se hunde. Y no es un grial. Si vamos a trabajar, hagámoslo en serio, esperando que, de lo contrario, ¿por qué empezar todo esto? Mi opinión: tienes que construir el sistema sólo para M1 EUR/USD. El algoritmo debe basarse en el modo de detección de tendencias. Tomemos, por ejemplo, ....mm..... media móvil con el algoritmo de suavización de Tilson. A continuación, vamos a definir la entrada. Podemos tomar el cruce de dos varillas rápidas y utilizarlas para cerrar. Hay muchos otros "extras" que podrían añadirse. Sugiéralos :-). Además, seguro que debería haber un MM con posibilidad de incluir a Martin con ajustes personalizados.

En general, vamos a bailar desde aquí. Ponga sus ideas de entrada/salida. Hagámoslo juntos. Pero romper los niveles altos y bajos en D1 es un fracaso. sayfuji ha acertado.

 

¿Por qué no escribe una rama, https://forum.mql4.com/ru/ 23917?

En general, la gente suele unirse en torno a una idea interesante, pero esto es una crisis de género...

 
Alex5757000 >> :

Buenas tardes, RomanS.

Es una gran idea. Muy a menudo veo a los comerciantes en los foros extranjeros que se asocian y crean un experto por los esfuerzos mutuos. Estoy dispuesto a apoyarlo.

En cuanto a su idea, es una idea que se hunde. Y no es un grial. Si vamos a trabajar, hagámoslo en serio, esperando que, de lo contrario, ¿por qué empezar todo esto? Mi opinión: tienes que construir el sistema sólo para M1 EUR/USD. El algoritmo debe basarse en el modo de detección de tendencias. Tomemos, por ejemplo, ....mm..... media móvil con el algoritmo de suavización de Tilson. A continuación, vamos a definir la entrada. Podemos tomar el cruce de dos varillas rápidas y utilizarlas para cerrar. Hay muchos otros "extras" que podrían añadirse. Sugiéralos :-). Además, necesitaremos un MM con posibilidad de incluir a Martin con ajustes personalizados.

De todos modos, vamos a bailar alrededor de ella. Propón tus ideas para la entrada/salida. Hagámoslo juntos. Pero romper los niveles altos y bajos en D1 es un fracaso. sayfuji lo escribió bien.

¡El hecho de que hasta ahora no sea un grial (el tiempo lo dirá) es seguro!

El hecho de que no es ciruela (a largo plazo), es visible cuando se ejecuta en el probador (50/50 a veces funciona, a veces no), pero no ciruela... El factor Prof. es de aproximadamente 1,00

En cuanto a la M1, por supuesto que es interesante, pero es poco probable que interese a un profesional... Además, sugerí el sistema no para el día a día... Lo he probado en M5, en general no hay diferencia.

Lo he probado en M5 y no hay diferencia.

Basar el algoritmo en una forma de identificar una tendencia

Usted sugirió una forma de determinar la tendencia, así que hágalo.... ¿Cuál es el problema? Discutiremos...

Tomemos, por ejemplo, ....mm..... una media móvil con un algoritmo de suavización de Tilson.

No hay problema... puedes poner un par de líneas de código y wollya... El factor Prof está por encima de 2,0.

Esa es la cuestión, no estoy sugiriendo que se adivine sino que se haga, y los que no sepan hacer... que aprendan cómo lo hacen los demás.

Personalmente, yo (como aficionado) quiero adquirir experiencia de los profesionales...