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

 
Alexsandr San:

#versión de la propiedad "1.021"

Modificado esta función, empezando por el tiempo, así como cuando esta función debe dejar de funcionar

#versión de la propiedad "1.023"

He añadido la posibilidad de configurar esta función para que se ejecute por tiempo, tres veces.

input string   t10="---- CalendarValueLast 1-----";              //
input datetime HoursFrom                    = D'1970.01.01';     // 1 Время старт Сигнал Календаря
input datetime HoursTo                      = D'1970.01.01';     // Время стоп Сигнал Календаря
input string   c10="---- CalendarValueLast 2-----";              //
input datetime HoursFrom1                   = D'1970.01.01';     // 2 Время старт Сигнал Календаря
input datetime HoursTo1                     = D'1970.01.01';     // Время стоп Сигнал Календаря
input string   v10="---- CalendarValueLast 3-----";              //
input datetime HoursFrom2                   = D'1970.01.01';     // 3 Время старт Сигнал Календаря
input datetime HoursTo2                     = D'1970.01.01';     // Время стоп Сигнал Календаря
input int      InpStep6                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input bool     InpCalend                    = false;             // Double (Horizontal Line or Trend Line)
input string   InpSelldar                   = "Buydar";          // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpCalendCommandS  = open_sell;         // Trade command:
input string   InpBuydar                    = "Selldar";         // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpCalendCommandB  = open_buy;          // Trade command:

Foto de el tiempo se establece para probar la función

Archivos adjuntos:
 

Importante ! Al duplicar una línea horizontal, hay que calcular la distancia de su repetición, para que no caiga sobre una vela (barra).

Es mejor en un marco de tiempo más pequeño, hay menos velas (barras) en ellos.

Aquí es donde se calcula y se establece la distancia -

input int      InpStep6                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
 

Encontré el error y lo arreglé.

#versión de la propiedad "1.024"

Archivos adjuntos:
 
Alexsandr San:

Importante ! Al duplicar una línea horizontal, hay que calcular la distancia de su repetición, para que no caiga sobre una vela (barra).

Es mejor en un marco de tiempo más pequeño, hay menos velas (barras) en ellos.

Aquí se calcula y se fija la distancia.

Debería haber establecido una distancia distinta para cada línea horizontal

Actualizada la versión de #propiedad "1.025"

input string   v10="---- CalendarValueLast 3-----";              //
input datetime HoursFrom2                   = D'1970.01.01';     // 3 Время старт Сигнал Календаря
input datetime HoursTo2                     = D'1970.01.01';     // Время стоп Сигнал Календаря
input bool     InpCalend                    = false;             // Double (Horizontal Line or Trend Line)
input string   InpSelldar                   = "Buydar";          // Line name (Horizontal Line or Trend Line)
input int      InpStep7                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpCalendCommandS  = open_sell;         // Trade command:
input string   InpBuydar                    = "Selldar";         // Line name (Horizontal Line or Trend Line)
input int      InpStep6                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpCalendCommandB  = open_buy;          // Trade command:

Doble (Línea Horizontal o Línea de Tendencia), si se establece en "0", no existirá.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

- estas líneas horizontales están conectadas entre sí por un doble

input string   t3="----- Trailing Line: 1   -----";              //
input string   InpObjUpName                 = "ZTOP";            // Obj: TOP (Horizontal Line)
input int      InpStep1                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = Line2_sells;       // Obj:  command:
input string   InpObjDownName               = "ZLOWER";          // Obj: LOWER (Horizontal Line)
input int      InpStep2                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = Line1_buys;        // Obj:  command:
input ushort   InpObjTrailingStop           = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStep           = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t4="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = Line2_sells;       // Obj:  command:
input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = Line1_buys;        // Obj:  command:
input ushort   InpObjTrailingStopG          = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)

-----------------------------------------------------------------

Si en todas estas Líneas Horizontales, fijamos la distancia. De los botones obtenemos (COMPRA por encima del precio, VENTA por debajo del precio)

USDCHFH1

Archivos adjuntos:
 

Hice un asistente de cierre de ganancias y pérdidas de nada que hacer, y también borra las órdenes pendientes.

input string Template      = "ADX";     // Имя шаблона(without '.tpl')
input double TargetProfit  = 999999.99; // Прибыль
input double TargetLoss    = 999999.99; // Убыток

Lo pones en el gráfico adyacente y controla el beneficio

Archivos adjuntos:
 
Alexsandr San:

Hice un asistente de cierre de ganancias y pérdidas de nada que hacer, y también borra las órdenes pendientes.

Lo pones en el gráfico adyacente y controla el beneficio

Es mejor hacerlo así.

input double TargetProfit  = 999999.99; // Баланс + Прибыль(прибавить к балансу)
input double TargetLoss    = 0;         // Баланс - Убыток(отнять от баланса)

esto, es necesario sustituirlo por

   if(AccountInfoDouble(ACCOUNT_EQUITY)<=TargetLoss ||
      AccountInfoDouble(ACCOUNT_EQUITY)>=TargetProfit)

---------------------------------------------------

Aquí en el probador - al mismo tiempo, usted puede entrenar ( pérdida de 10000 - 16 )

Instantánea.PNG

Archivos adjuntos:
 

¡¡¡¡¡¡Bueno, este es casi un verdadero ayudante !!!!!!

//---
input string Template      = "ADX";     // Имя шаблона(without '.tpl')
input double TargetProfit  = 999999.99; // Баланс + Прибыль(прибавить к балансу)
input double TargetLoss    = 0;         // Баланс - Убыток(отнять от баланса)
input string tL="--Lots Parameters--";  //
input uint   maxLimits     = 1;         // Кол-во Позиции Открыть в одну сторону
input double InpLots1      = 0.01;      // Lots 1
input int    InpLots_01    = 200;       // До убытка валюте Lots 0.01
input double InpLots2      = 0.02;      // Lots 2
input int    InpLots_02    = 400;       // До убытка валюте Lots 0.02
input double InpLots3      = 0.04;      // Lots 3
input int    InpLots_03    = 800;       // До убытка валюте Lots 0.04
input double InpLots4      = 0.08;      // Lots 4
input string t="--Parameters TP SL--";  //
input double InpTakeProfit = 1000000;   // Прибыль на паре в валюте
input double InpStopLoss   = 1000000;   // Убыток на паре в валюте
//---

Instantánea1

Instantánea2

Archivos adjuntos:
 

No hace falta que me des las gracias. ¡Úsalo a tu salud!

---------------------------------------------------

esta versión ha sido mejorada - puede funcionar tanto para los puntos como para las monedas

El stop y el beneficio en la COMPRA, así como el stop y el beneficio en la VENTA, pueden calcularse tanto en divisas como en pips.

//---
input string Template       = "ADX";     // Имя шаблона(without '.tpl')
input double TargetProfit   = 999999.99; // Баланс + Прибыль(прибавить к балансу)
input double TargetLoss     = 0;         // Баланс - Убыток(отнять от баланса)
input string tL="--Lots Parameters--";   //
input uint   maxLimits      = 1;         // Кол-во Позиции Открыть в одну сторону
input double InpLots1       = 0.01;      // : Lots 1
input int    InpLots_01     = 200;       // Exchange Lots >< Point Lots
input double InpLots2       = 0.02;      // : Lots 2
input int    InpLots_02     = 400;       // Exchange Lots >< Point Lots
input double InpLots3       = 0.04;      // : Lots 3
input int    InpLots_03     = 800;       // Exchange Lots >< Point Lots
input double InpLots4       = 0.08;      // : Lots 4
input string t="--Exchange TP SL--";     //
input double InpTakeProfit  = 1000000;   // Exchange TP >< Point TP
input double InpStopLoss    = 1000000;   // Exchange SL >< Point SL
input string m="Exchange><Point TP SL";  //
input bool   InpExcPoi      = false;     // Exchange= false; Point= true;
//---
Archivos adjuntos:
 
Alexsandr San:

No hace falta que me des las gracias. ¡Úsalo a tu salud!

---------------------------------------------------

esta versión ha sido mejorada - puede funcionar tanto para los puntos como para las monedas

Los stops y beneficios en la COMPRA, así como los stops y beneficios en la VENTA, se pueden calcular tanto en divisas como en pips.

#versión de la propiedad "1.026"

Además de todo tipo de golosinas.

//+------------------------------------------------------------------+
//| ENUM_TRADE_COMMAND                                               |
//+------------------------------------------------------------------+
enum ENUM_TRADE_COMMAND
  {
   Turn_Off=0,       // TURN  OFF
   Line1_Line1=1,    // Line: LOWER
   Line2_Line2=2,    // Line: TOP
   Line_Line=3,      // Line: LOWER + Line: TOP
   Line1_buys=4,     // Line: LOWER + Buy's
   Line2_sells=5,    // Line: TOP + Sell's
   sells_Line1=6,    // Line: LOWER + Sell's
   buys_Line2=7,     // Line: TOP + Buy's
   close_buys=8,     // Close All Buy's
   close_sells=9,    // Close All Sell's
   close_all=10,     // Close All Buy's and Sell's
   open_buy=11,      // Open  Buy
   open_sell=12,     // Open  Sell
   close_open_b=13,  // Close Sell + Open Buy
   close_open_s=14,  // Close Buy + Open Sell
   open_buy_sell=15, // Open  Buy and Sell
  };
//+------------------------------------------------------------------+
input string   t="-----   Balans Parameters -----";              //
input string   Template                     = "ADX";             // Имя шаблона(without '.tpl')
input bool     Inpwithout                   = false;             // Сменить только шаблон (true)
input datetime InpMonday_2                  = D'1970.01.01';     // Dell (00::00 -> off)
input double   TargetProfit                 = 999999.99;         // Баланс + Прибыль(прибавить к балансу)
input double   TargetLoss                   = 0;                 // Баланс - Убыток(отнять от баланса)
input string   t0="-----  Lots Parameters   -----";              //
input uint     maxLimits                    = 1;                 // Кол-во Позиции Открыть в одну сторону
input double   InpLots1                     = 0.01;              // : Lots 1
input int      InpLots_01                   = 200;               // Exchange Lots >< Point Lots
input double   InpLots2                     = 0.02;              // : Lots 2
input int      InpLots_02                   = 400;               // Exchange Lots >< Point Lots
input double   InpLots3                     = 0.04;              // : Lots 3
input int      InpLots_03                   = 800;               // Exchange Lots >< Point Lots
input double   InpLots4                     = 0.08;              // : Lots 4
input string   t1="-----  TP SL             -----";              //
input int      InpTakeProfit                = 900;               // Take Profit("0"-No.5<100)(1.00045-1.00055=1 pips)
input double   InpTProfit                   = 1000000;           // Exchange TP >< Point TP
input double   InpStopLoss                  = 1000000;           // Exchange SL >< Point SL
input string   E="-----  Exchange><Point TP SL---";              //
input bool     InpExcPoi                    = false;             // Exchange= false; Point= true;
input string   t2="----- Price Line:        -----";              //
input string   InpFont0                     = "BUY";             // Obj: BUY (Obj:Name) ВЕРХУ
input ENUM_TRADE_COMMAND InpCSCommand       = close_open_b;      // Obj:  command:
input string   InpFont1                     = "SELL";            // Obj: SELL (Obj:Name) ВНИЗУ
input ENUM_TRADE_COMMAND InCSCommand        = close_open_s;      // Obj:  command:
input double   InpObjTrail                  = 1.0001;            // Obj: Trailing Stop MACD ("0" -> Off)
input double   InpObjTrailStep              = 1.0001;            // Obj: Trailing Step MACD
input bool     InpDub                       = false;             // "0.0":Price=false(Trail->Off) "LOW":Price=true(Trail->ON)
input bool     InpDubll                     = false;             // Duplicate "BUY""SELL" (ObjTrailStep)
input ushort   InpObjTrailingStopCS         = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepCS         = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   InpFont2                     = "LOW Up";          // Obj: Name Price Line BUY
input string   InpFont3                     = "LOW Down";        // Obj: Name Price Line SELL
input bool     InpOnTimer                   = false;             // On(Вкл.) "LOW Up" "LOW Down"
input ushort   InpIndentUp                  = 50;                // Indent up, in pips (1.00045-1.00055=1 pips)
input ushort   InpIndentDown                = 100;               // Indent down, in pips (1.00045-1.00055=1 pips)
input string   t3="----- Indicators: SELL   -----";              //
input string   short_name                   = "LeMan_BrainTrend1Sig"; // Name Indicators "SELL"
input bool     InpIndicators                = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY   = open_sell;         // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU   = close_sells;       // Trade command: (SellBuffer Indicators)
input string   t4="----- Indicators: BUY    -----";              //
input string   short_name1                  = "LeMan_BrainTrend1Sig"; // Name Indicators "BUY"
input bool     InpIndicators1               = false;             // Indicators: Start (true)
input ENUM_TRADE_COMMAND InpTradeCommandY1  = close_buys;        // Trade command: (BuyBuffer Indicators)
input ENUM_TRADE_COMMAND InpTradeCommandU1  = open_buy;          // Trade command: (SellBuffer Indicators)
input string   t5="----- Trailing Line: 1   -----";              //
input string   InpObjUpName                 = "ZTOP";            // Obj: TOP (Horizontal Line)
input int      InpStep1                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommand    = Line2_sells;       // Obj:  command:
input string   InpObjDownName               = "ZLOWER";          // Obj: LOWER (Horizontal Line)
input int      InpStep2                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommand     = Line1_buys;        // Obj:  command:
input ushort   InpObjTrailingStop           = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStep           = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t6="----- Trailing Line: 2   -----";              //
input string   InpObjUpNameG                = "POT";             // Obj: TOP (Horizontal Line)
input int      InpStep3                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpTradeCommandG   = Line2_sells;       // Obj:  command:
input string   InpObjDownNameG              = "REWOL";           // Obj: LOWER (Horizontal Line)
input int      InpStep4                     = 0;                 // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InTradeCommandG    = Line1_buys;        // Obj:  command:
input ushort   InpObjTrailingStopG          = 0;                 // Obj: Trailing Stop (distance from price to object, in pips)
input ushort   InpObjTrailingStepG          = 5;                 // Obj: Trailing Step, in pips (1.00045-1.00055=1 pips)
input string   t7="----- ChartIndicatorAdd  -----";              // : Работа с Trailing Line: 2
input bool     InpChartInd                  = false;             // Avto Line Chart Indicators
input string   InpIndiL                     = "AVERAGE 0";       // Line name (ChartIndicatorAdd)
input int      InpStep5                     = 15;                // Obj: Шаг сетки, пунктов("0" -> false)
input string   InpIndi_name                 = "Имя Индикатора";  // INDICATOR_SHORTNAME
input int      InpChart                     = 0;                 // номер подокна
input datetime InpMonday_1                  = D'1970.01.01';     // Indicators(use only HH::MM)(00::00->off)
input string   t8="----- Indicator Delete   -----";              //
input string   Inpshort_name_1              = "Indicator 2";     // INDICATOR_SHORTNAME 2
input bool     Inpres                       = false;             // Delete All Indicators
input string   t9="----- Button:            -----";              //
input ENUM_TRADE_COMMAND InpTradeCommandBut = Line2_Line2;       // Obj(BUY):  command:Button: BUY
input ENUM_TRADE_COMMAND InTradeCommandBut  = Line1_Line1;       // Obj(SELL):  command:Button: SELL
input int      TrailingStop_STOP_LEVEL      = 36;                // Button: Trailing Stop LEVEL
input string   t10="---- Line name: 1       -----";              //
input string   InpNameR                     = "LineR";           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandR   = open_buy;          // Trade command:
input string   t11="---- Line name: 2       -----";              //
input string   InpNameS                     = "LineS";           // Line name (Horizontal Line or Trend Line)
input ENUM_TRADE_COMMAND InpTradeCommandS   = open_sell;         // Trade command:
input string   t12="---- CalendarValueLast 1-----";              //
input datetime HoursFrom                    = D'1970.01.01';     // 1 Время старт Сигнал Календаря
input datetime HoursTo                      = D'1970.01.01';     // Время стоп Сигнал Календаря
input string   c13="---- CalendarValueLast 2-----";              //
input datetime HoursFrom1                   = D'1970.01.01';     // 2 Время старт Сигнал Календаря
input datetime HoursTo1                     = D'1970.01.01';     // Время стоп Сигнал Календаря
input string   v14="---- CalendarValueLast 3-----";              //
input datetime HoursFrom2                   = D'1970.01.01';     // 3 Время старт Сигнал Календаря
input datetime HoursTo2                     = D'1970.01.01';     // Время стоп Сигнал Календаря
input bool     InpCalend                    = false;             // Double (Horizontal Line or Trend Line)
input string   InpSelldar                   = "Buydar";          // Line name (Horizontal Line or Trend Line)
input int      InpStep7                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpCalendCommandS  = open_sell;         // Trade command:
input string   InpBuydar                    = "Selldar";         // Line name (Horizontal Line or Trend Line)
input int      InpStep6                     = 30;                // Obj: Шаг сетки, пунктов("0" -> false)
input ENUM_TRADE_COMMAND InpCalendCommandB  = open_buy;          // Trade command:
input string   t15="---- Revers Buy><Sell   -----";              //
input bool     ObjRevers                    = false;             //  Revers
//+------------------------------------------------------------------+

------------------------------------------

Funciona con la Inteligencia Humana - pero se puede adaptar, y la Inteligencia Artificial con el Indicador.

--- En mi opinión, el Indicador es la Inteligencia Artificial creada.

Archivos adjuntos:
 
Alexsandr San:

No hace falta que me des las gracias. ¡Úsalo a tu salud!

---------------------------------------------------

esta versión ha sido mejorada - puede funcionar tanto para los puntos como para las monedas

Los stops y beneficios en la COMPRA, así como los stops y beneficios en la VENTA, se pueden calcular tanto en divisas como en pips.

esta versión también elimina los botones cuando hay posiciones abiertas. - Y restaura los botones cuando no hay posición.

Archivos adjuntos: