How I assemble my advisor by trial and error - page 56

 
Alexsandr San:

#property version "1.021"

Modified this function, starting by time, as well as when this function should stop working

#property version "1.023"

I have added possibility to set this function to run by time, three times.

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:

Photo by time is set to test the function

Files:
 

Important ! When duplicating a horizontal line, you have to calculate the distance of its repetition, so it does not fall on a candle (bar).

It's better on a smaller time frame, there are less candles (bars) on them.

This is where you calculate and set the distance -

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

found the mistake, fixed it.

#property version "1.024"

Files:
 
Alexsandr San:

Important ! When duplicating a horizontal line, you have to calculate the distance of its repetition, so it does not hit a candle (bar).

It's better on a smaller time frame, there are less candles (bars) on them.

This is where the distance is calculated and set.

I should have set a separate distance for each Horizontal line

Updated #property version "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:

Double (Horizontal Line or Trend Line), if you set it to "0", will not exist.

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

- these Horizontal lines are connected to each other by a double

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)

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

If on all of these Horizontal Lines, we set the distance. From the buttons we get (BUY above the price, SELL below the price)

USDCHFH1

Files:
 

I made a profit and loss closing assistant out of nothing to do, and it also deletes pending orders.

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

You put it on the adjacent chart and it monitors the profit

Files:
 
Alexsandr San:

I made a profit and loss closing assistant out of nothing to do, and it also deletes pending orders.

You put it on the adjacent chart and it monitors the profit

better to do it this way!

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

this, you need to replace it with

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

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

Here in the tester - at the same time, you can train ( loss from 10000 - 16 )

Snapshot.PNG

 

Well, this one is almost a real helper !!!!!!

//---
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;   // Убыток на паре в валюте
//---

Snapshot1

Snapshot2

Files:
 

No need to thank me! Use it to your health!

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

this version has been improved - it can work for both points and currencies

Stop and profit on BUY as well as stop and profit on SELL can be calculated both in currency and in 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;
//---
Files:
 
Alexsandr San:

No need to thank me! Use it to your health!

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

this version has been improved - it can work for both points and currencies

Stop and profit on BUY as well as SELL stops and profits can be calculated in both currencies and pips.

#property version "1.026"

Plus all sorts of goodies.

//+------------------------------------------------------------------+
//| 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
//+------------------------------------------------------------------+

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

Works with Human Intelligence - but you can adapt, and Artificial Intelligence with the Indicator.

--- In my mind, the Indicator is the Artificial Intelligence created.

Files:
 
Alexsandr San:

No need to thank me! Use it to your health!

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

this version has been improved - it can work for both points and currencies

Stop and profit on BUY as well as SELL stops and profits can be calculated in both currencies and pips.

this version also removes buttons when there are open positions. - And restores buttons when there is no position.

Files:
Reason: