Description of the parameters of the trading system "Emperor" (Part 1)

Description of the parameters of the trading system "Emperor" (Part 1)

19 May 2022, 20:01
Aleksandr Valutsa
0
107

Trading system "Emperor"
https://www.mql5.com/ru/market/product/59948

License

License key number ( when purchasing this EA in the MQL5 market, this parameter is inactive and can take any value).

Generated automatically at the time of payment for the product on our website. After payment, a link to a personal page with a key will be sent to your email. Also, you can always see the key number on our website in your personal account. The key is generated based on your name.

Thus, you can use the purchased adviser on any account issued in your name. The Expert Advisor cannot be used on demo accounts, as demo accounts can be opened in any name. To test strategies in real market conditions without risk, use cent accounts. The main advantage of this purchase method is an unlimited number of activations.

Code_Token_Subscription

The system is used for remote reconfiguration of the Expert Advisor directly by the developer. Here you enter the code of the kit with settings or the token of your telegram bot.

A set may include a huge number of files with settings for different currency pairs and strategies. If the code matches, the kit is downloaded to the computer, after which the robot automatically finds it and loads it into its parameters.

As a result, the robot automatically reconfigures and continues trading with the most up-to-date settings. Reconfiguration of the robot is carried out on average once every 30 days.

Automatic download of files with settings free of charge is possible on RoboForex accounts opened with an affiliate code:

  • egqv

The adviser determines affiliate accounts on its own, the download code on affiliate accounts is always equal to an empty field .

On any other accounts, files will be uploaded only when a unique code/token is entered in the "Cod_Token_Subscription" field.

Unique codes for automatic reconfiguration of the robot   published in the social network "Telegram" - on the channel 'Emperor (Channel)'. The password for all "Emperor " signals is the same. Access to the channel is open to everyone,   however, the subscription is paid .

New passwords are published with each new set of optimized files. To update the files in the EA parameters, you need to update the passwords. On average, optimization is carried out once every 30 days.

At the time of launch, the adviser will download all the necessary files from our server and start trading. The adviser will reload the files (control) once a day. Trading results will correspond to the selected signals, provided that the passwords ( Subscription ) are updated in a timely manner to download (update) files with settings.

If a paid subscription and monthly password renewal is a difficult task for you, you can simply open affiliate accounts. In this case, the service will be completely free for you and without a password system.

Pay special attention that this is an additional service that makes working with the adviser as easy as possible. You can use it only if you wish . Opening affiliate accounts OR subscribing to a channel is an integral part of this project.

If you refuse this service, you can configure and optimize the robot yourself.

To download files about , open the terminal settings and add trusted URLs in the "Advisors" section:

Signals

All signals with 'Emperor' prefix:

Subscribe to the channel "Emperor (Channel)"

For channel subscribers, all "Emperor" signals can be free (to copy signals, you need to rent or buy an adviser ):

download files

Trading using the settings file system. In this case, the robot is launched on only one chart, and trading will be carried out in a multi-currency mode on a variety of currency pairs and with different periods. The robot will determine the number of pairs automatically according to the loaded settings. Usually used from 1 to 30 or more currency pairs. At the same time, the robot does not allow deposit overload and can trade with an amount of $100 or more. The maximum possible number of currency pairs of one set is 201.

Turbo Drive

If you turn on the robot will work in turbo mode. In this case, the adviser works on the principle of a carousel and goes around all the folders with files that are available. In this mode, the robot is able to open a huge number of positions in different directions for different currency pairs.

ForderNumber

File folder number. This number allows you to find the kit with files you need on the computer/server and download it. If this number is entered incorrectly, the robot will either download the wrong folder with files, or will not download anything if it is missing. Initially, this number is set during the optimization of the Expert Advisor, and the same number is subsequently used to find these files.

Magic_Number

The ID of the EA's positions as well as the initial number of subfolders located in the folder with the number ForderNumber. During optimization, subfolders receive difference numbers, where the starting number is exactly Magic_Number, all subsequent folders have numbers in ascending order by one digit. Magic_Number is also used when searching for files inside a folder with a ForderNumber number. Initially set during Expert Advisor optimization.

DifferentMagic

If enabled, the robot will change the position identifiers so that they do not repeat based on the Magic_Number parameter and the sequence number of the location of each individual file. Let Magic_Number = 1 with subsequent recalculation (1)1,(1)2,(1)3,(1)4,(1)5,(1)6,(1)7,(1)8,(1) 9,(1)10,(1)11,(1)12,(1)13,(1)14,(1)15,(1)16,(1)17,(1)18,(1) 19,(1)20 and so on. Normal recalculation with the addition of Magic_Number as a prefix. Thus, if the number of Magic_Number differs, the numbers in recalculation never repeat when using several copies of the adviser within the same terminal.

However, if the TotalPass parameter is used during the optimization of the Expert Advisor, then in this case the ordering of the files is not respected, and as a result of the next optimization, the robot will simply lose control over a number of open positions. Therefore, the DifferentMagic and TotalPass options are incompatible. You need to choose which of the options is more important to you and disable the second one. To disable TotalPass, it must be set to zero.

Expert_Number

Advisor ID in case of using several copies of the advisor in one terminal. Thus, the robot distinguishes positions even with the same magic numbers.


DownloadServer

Automatic download of files with settings from our server. You must first enter the kit code in the Subscription field. A check reboot occurs every 24 hours.

FTPSend

Sending files with settings to the server (for example, the server of your site, you must first configure the terminal to send files via FTP protocol with a login and password) for subsequent download by an adviser from anywhere in the world (you must first specify the address of your server in the terminal settings). Files are sent at the time of loading the adviser and every 24 hours.

This may be necessary if you are optimizing on your computer, and trading is carried out on a VPS, from where the robot will independently download the latest settings from your site, the restart is also carried out every 24 hours. Any person can download files with settings from your site, for this it will be enough to specify the address of your server in the terminal settings.

RetryDownload

The number of repetitions of the cycle of loading files with settings. In case of an unsuccessful attempt due to bad internet. If greater than 0, the cycles are repeated as control, even if the previous ones were successful. In the case of repeated cycles, this process takes longer, but the guarantee that all files will be downloaded increases significantly. The next process of reloading files with settings, regardless of the result, will be completed in a day. In recent versions, this is already an obsolete feature, as a system is built in to automatically reload files in case of a failure.

exportimport

Specifies the number of folders when downloading files from the server, or sending them to the server (sending files is mainly done by professional traders who want to share their settings with other users, or for their own convenience). It is necessary to determine the number of folders when files with settings are loaded with the turbo mode enabled, where the EA uses several folders with files at once. 1 - will mean only one folder, the first in turn, 2 - two folders and so on. Typically, 10 folders (sets) are used on average in turbo mode. The maximum number is 200 folders.

ServerTotal

Trims the names of folders with files. This may be necessary when, according to the rules of some servers, the name of folders with files cannot exceed a certain number of characters.

ServerName

Server name of your broker. If you leave the field empty, the robot will read the name of your broker's server otherwise ServerName. It is necessary to fill in the field if you use the settings obtained in a foreign trading environment (for example, ours) where the name of the server is necessarily taken into account.

BrokerList

Search for symbols available for download, among those offered by the broker, or among those specified in the parameters of the adviser. Local search significantly reduces the time it takes to enumerate characters.

BrokerTF

Periods available for download, all existing in the terminal, or a specific period. If you select PERIOD_CURRENT, all periods will be searched, otherwise a certain period (search time is significantly reduced).

Move_Common

If LocalFolder the robot will try to load files with settings from the local folder of the terminal otherwise from the shared folder of all terminals. During testing and optimization, the robot has access only to the shared folder of all terminals.


AccountBalance

If more than 0, the balance will be virtual, otherwise the real balance is taken. It is used for calculating the lot and early closing of all positions in case of using the loss limit function. This is necessary in cases where you do not want to risk your entire balance, but only some part of it, or several copies of the adviser work on one account and a certain part of the funds is allocated for each copy.

HistoryDatetime

Profit/loss for the time specified here for all positions with ExpertNumber. The time is counted in days from the current date. If it is equal to 30, it means that the data will be calculated only for the last 30 days. The resulting value is added to the fixed amount of the VirtualAccountBalance. If 0 then not used.

MinimumAccountBalance

If greater than 0, then the adviser will trade only if the amount of funds allocated to him for trading equals or exceeds this value, otherwise trading is suspended until the deposit is replenished. If 0 then not used.


TotalBalanceRiskAll

The percentage (of the real balance) of the drawdown at which all positions in the terminal with the ExpertNumber number will be closed ahead of schedule. If several copies are running within the same terminal, this number must be different for each individual copy. This is necessary in order for the adviser to be able to distinguish positions on the principle of friend or foe.   If = 0 then it is not used.  


TotalBalanceRiskOne

The percentage (of the virtual/real balance) of drawdown at which all positions in the terminal with ExpertNumber and Magic_Number numbers will be closed ahead of schedule. If several copies of the ExpertNumber work within the same terminal   must be different for each individual copy. This is necessary in order for the adviser to be able to distinguish positions on the principle of friend or foe.   If = 0 then it is not used.  


TradeLossHistory

The number of losing trades in the SelectLossHistory period since the last operation, as a result of which trading will be suspended. Work will resume after a certain time, when losing trades begin to become obsolete and cease to be taken into account.

SelectLossHistory

Time of accounting for unprofitable trades TradeLossHistory in days.

CountSymbolMax

The number of currency pairs that can be traded simultaneously, taking into account CountSMT. Several positions can be opened in one series for one currency. The robot counts the number of currency pairs for which positions are open. This is necessary in order to prevent an overload of the deposit. Let's say there are 2 positions open for EURUSD and 3 positions for GBPUSD, the function will return the value - 2. This means that there are 2 currency pairs in total.

CountSMT

  • CountSymbol - Counting the symbol,
  • CountSymbolMagic - Symbol and magic,
  • CountSymbolMagicTyp - Symbol, magic and type.

Synchronous Trading

If several copies of the Expert Advisor are running within the same terminal, this parameter can be disabled in CountSymbolMax so that the positions opened by different copies of the Expert Advisor are counted separately, taking into account the identifier of the ExpertNumber copies of the Expert Advisor. Otherwise, all positions in the terminal will be counted together.


CountTradesSymbolMax

The number of positions in one pair after which trading in other pairs will be prohibited. If the number of positions in a series for one currency pair exceeds this value, trading in other pairs will be suspended until the drawdown series closes.

ControlPositions

This is a very useful feature that identifies all positions based on friend-foe principle. If you accidentally or intentionally change the settings of the Expert Advisor with open positions, as a result of which the robot will no longer recognize and control some positions in the terminal (this can happen if you change parameters such as ExpertNumber, MagicNumber or currency pairs with open positions), the robot will detect these positions as someone else's , will display their number on the chart in red and wait for them to close. Until the uncontrolled positions are closed, the robot will not trade. Works only in conjunction with the CountTradesSymbolMax function.


DrawdownMax

Drawdown on all open positions after which trading on other pairs will be prohibited. The total drawdown of the deposit, at which the opening of new positions (except for averaging ones) is suspended.


DistPrice

Minimum distance between first positions regardless of any identifiers.

DistPriceAfter

DistPrice for second and subsequent positions.


DirectionControl

If enabled, the robot will not open opposite positions.


risk

If more than 0 lot is automatic otherwise Lot. The risk is calculated according to the formula Risk = (Risk+=Lot) for each balance gradation.

lot

For every 0.01 - a fixed lot, $100 (high risk), $500 (medium risk), $1000 (low risk).

LotExponent

Multiplication factor of the lot of averaging positions.

Max Lots

Maximum allowable lot.


MaxSpread

Maximum allowable spread.

MaxSlippage

Maximum allowable slip.

MinStopLevel

Minimum distance to take profit and stop loss orders.


Virtual_TP_SL

If enabled, virtual stop loss and take profit will be used (stored in the EA's memory and not transferred to the server).

CloseInverse

Closing opposite positions together with directional ones when a stop loss or take profit is reached. The function works only with the Virtual_TP_SL parameter enabled.

take profit

Market take profit if 0 is not used.

AutoSetTakeProfit

The variable is used during Expert Advisor optimization. Necessary for automatic setting of optimization values start, step and stop parameter   take profit. Only works with AutoSetDefault enabled.

stop loss

Market stop loss if 0 is not used.

StopLossRangeSet

Flag allowing automatic setting of start, step and stop optimization values for the StopLoss parameter.

AutoSetStopLoss

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   StopLoss . Only works with AutoSetDefault enabled.


Martingale

Position averaging.

DynamicPips

Dynamic distance between positions.

DefaultPips

Fixed distance between positions. If DynamicPips is disabled.

DepthHistory

History depth for dynamic calculation of distance between positions.

SepChannel

Dynamic distance division factor.

Max Trades

The maximum number of positions for each individual strategy.

MaxTradesRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   Max Trades. Only works with AutoSetDefault enabled.

LimitOrders

The maximum number of positions in the terminal.


ExperationSeconds

If you enable the position expiration time, it will be kept in hours, otherwise in seconds.

MaxTradeOpen

Position lifetime in hours or seconds depending on the setting of the ExperationSeconds flag. According to the established restrictions, the minimum expiration time should be 660 seconds.

To bypass this limitation, if it is reduced, requests are sent to the broker's server with the minimum possible time of 660 seconds (to ensure that positions are closed on the broker's side after this time has elapsed), and the timer within the EA is immediately started to force positions to be closed ahead of schedule. Thus, positions will be closed forcibly with any set time up to several seconds.

_1_Ind2Param4Range

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   Max Trade Open . Only works with AutoSetDefault enabled.

MinProfit

The minimum value of the floating profit at the time of closing positions after the expiration of their lifetime. If it is less then the positions will not be closed until the floating profit increases. This parameter can take a negative value.

MinProfitRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   Min Profit. Only works with AutoSetDefault enabled.

ExpTimeProf

Flag allowing to reduce the value of the MinProfit parameter for hung positions that cannot be closed taking into account the current value of the MinProfit parameter for too long.

ExpTimeProfMax

The coefficient of maximum decrease in the value of the MinProfit parameter. With each overdue hour, the value of the MinProfit parameter will decrease and this coefficient determines the maximum possible decrease. So let's say if MinProfit = -10%, MaxTradeOpen = 24 hours, ExpTimeProfMax = 2, then after 24 hours if the positions cannot be closed taking into account the minimum profit -10%, the value of the minimum profit will begin to decrease every hour and after 48 hours it will double and will be be -20%. Further reduction will not be made since the containment factor ExpTimeProfMax = 2 (according to the formula -10*2=-20%).

open hours

Hour of the beginning of the trading session.

OpenHourRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   open hour. Only works with AutoSetDefault enabled.

openmin

The minute the trading session started.

CloseHour

Hour of the end of the trading session.

CloseHourRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   CloseHour. Only works with AutoSetDefault enabled.

CloseMin

Minute   end of the trading session.

TradeWednesday

Trade on Wednesday (triple swap day).

TradeFriday

Trade on Friday (before the market closes).

GMTDifer

Manual time shift. It is best to trade with the broker on whose quotes the adviser is being optimized. This eliminates any confusion, in this case GMTAuto=false, GMTDifer=0, this is due to the fact that the MT5 terminal downloads quotes according to the broker's time.

If you use these settings in a foreign trading environment, then GMT must be shifted relative to the broker on whose quotes it was optimized.

For example, the robot is optimized on RoboForex quotes, the RoboForex broker has 17.00 at the moment, and the "UNKNOWN" broker has 20.00 at the moment, which means that the adviser's time must be shifted 3 hours back in such a way as to fit it to the server time of the RoboForex broker.

From all this, it follows that you need to adjust the time of the adviser for the broker on whose quotes it was optimized.

CloseTime

Closing positions after the end of the trading session, taking into account the floating profit MinProfit. This will avoid unreasonably large losses as a result of the hasty closing of positions.

UseTrailingStop

Trailing positions:

  • Trailing_Off - Not used,
  • Trailing_On_2 - The first mode without transfer to breakeven,
  • Trailing_On_4 - The second mode with transfer to breakeven.

OpenBarTrailing

Trailing only at opening prices.

trailstart

Trailing start.

trail stop

trailing step.

NoLoss

Transfer to breakeven.

MinProfitNoLoss

Breakeven level.


open bar

Opening positions exclusively at opening prices.

TimePouseSec

Pause for opening positions after a new bar, in seconds.

TimePouseMin

Pause for opening positions after a new bar, in minutes.


InpDigits

Multiplication factor pip parameters.

Auto_Digits

Definition of individual instruments with personal multiplier pip parameters.

AutoDigits

List of instruments with personal multiplier pip parameters . Instrument/Ratio/Instrument/ Ratio and so on.

Order Type

Order type:

  • Buy_Sell - urgent positions,
  • Buy_Sell_Stop - pending Stop orders,
  • Buy_Sell_Limit - Limit pending orders.

OrderPrice

Price for placing pending orders:

  • (Ask/Bid+-)OrderDistance-current price+- OrderDistance,
  • (Fractal+-)OrderDistance-fractal price+- OrderDistance,
  • (ZigZag+-)OrderDistance-ZigZag price+- OrderDistance.

OrderSLmoment

Instant stop-loss setting along with pending orders. Otherwise, the stop loss will be set only after the orders are triggered.

DistPriceModify

Permanent modification of pending orders following the price with distance+- OrderDistance. Similar strategies are used in news trading.


OrderDistance

Distance from the target price for placing pending orders.

OrderDistanceRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   OrderDistance . Only works with AutoSetDefault enabled.


FractalCount

fractal index.


zInpDepth

Depth of the zigzag indicator.

zInpDevation

Devation of the zigzag indicator.

zInpBackstep

Step zigzag indicator.


OrderTimeSeconds

Calculation of the lifetime of pending orders in seconds, otherwise in hours.

OrderTime

Lifetime of pending orders.

OrderTimeRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter   OrderTime . Only works with AutoSetDefault enabled.


DelOrdersTime

Deletion of pending orders after the end of the trading session.

DelOrdersSpread

Deletion of pending orders as a result of spread increase beyond the set maximum limit.

DelOrdersSignal

Deletion of pending orders as a result of the return signal of the indicator block.


IndicatorPeriod

The period of operation of the indicator block.

CandleDirection

Accounting for the direction of the last two bars.


UseTrend

Use a trend indicator.

UseTrendRoll

Indicator operation mode:

  • qUseTrendCand - work on price rollback first mode:
    • TInd0Param0-period,
    • TInd0Param4-level.
  • qUseTrendHL - work on price rollback second mode:
    • TInd0Param0-period,
    • TInd0Param4-level.
  • qUseTrendMa - work on the trend first mode:
    • TInd0Param3-period.
  • qUseTrendMaRoll - work on price rollback third mode:
    • TInd0Param4-level.
  • qUseTrendMaRsi-work for the fourth price rollback:
    • TInd0Param0 - flat period,
    • TInd0Param1 - lower flat level,
    • TInd0Param2 - upper flat level,
    • TInd0Param4 - trend level.
  • qUseTrendInside - work on the trend second mode:
    • TInd0Param0 - flat period,
    • TInd0Param1 - lower flat level,
    • TInd0Param2 - upper flat level,
    • TInd0Param4 - trend level.
  • qUseRoll-work in flat first mode:
    • TInd0Param0 - flat period,
    • TInd0Param1 - lower flat level,
    • TInd0Param2 - upper flat level.
  • qUseLevel - work in flat second mode:
    • TInd0Param0 - flat period,
    • TInd0Param1 - lower flat level,
    • TInd0Param2 - upper flat level.
The purpose of the parameters depends on the choice of the UseTrendRoll indicator block mode.

  • TInd0Param0;
  • TInd0Param1;
  • TInd0Param2;
  • TInd0Param3;
  • TInd0Param4.

SetRangeParam4

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   parameter TInd0Param4 . Only works with AutoSetDefault enabled.

CandleShift

Shift bars to calculate the trend.


Speed

The speed and strength of the price movement.

BarSizeNoSpeed

Definition of force without speed. If turning off the robot can only be used on all ticks (recommended on all real ticks) or on control points (a very rough method, every tick matters for this strategy), it is impossible to determine the price speed from opening prices.

SpeedReverse

Reverse signal for a price reversal (general).

Pips

Price power.

SetPipsRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   Pips parameter . Only works with AutoSetDefault enabled.

Time

Price speed.

SetTimeRange

The variable is used during Expert Advisor optimization. Required for automatic setting of optimization values   start, step and stop   the Time parameter . Only works with AutoSetDefault enabled.

Rollback

Reverse signal for price reversal (personal, without reversal of auxiliary indicators)

SpeedIndicators

Auxiliary indicators to determine the price direction.

  • Off - not used,
  • iMa-first mode,
    • hInd0Param4-period,
    • hInd Param5-level.
  • iBand - second mode,
    • hInd 0Param4-period,
    • hInd 0Param5 - channel width.
  • Envelopes - the third mode,
    • hInd 0Param4-period,
    • hInd 0Param5 - channel width.
  • Fractals is the fourth mode,
  • iRsi-fifth mode,
    • hInd 0Param4-period,
    • hInd 0Param6 - upper limit of the channel,
    • hInd 0Param5 - lower channel limit.
  • iAtr is the sixth mode.
    • sInd0Param4-period,
    • sInd0Param5 - minimum value,
    • sInd0Param6 - maximum value.
The purpose of the parameters depends on the choice of the indicator block mode SpeedIndicators .
  • hInd0Param4;
  • hInd0Param5;
  • hInd0Param6;
  • hInd0Param7;
  • hInd0Param8.

speedshift

Shift bars to determine price strength. When trading exclusively at open prices, this parameter must be greater than 0.


Strategies

  • -1: iCustom - connection of a custom indicator block.

You can write your own trading algorithm on your own or on order and connect it to the "Emperor" adviser.

First, you need to install a special custom indicator in the terminal.

Download

Custom indicator "i Emperor.ex5" (do not confuse with the library " i Emperor.ex5")

As a result of an attempt to open a file, the indicator will be automatically installed in the MT5 terminal. If you have multiple terminals installed, it will install on the one you last used.

Do not try to launch the indicator on the chart yourself, it is designed exclusively for the robot and does not communicate with a person.

Next, copy the code of the " i Emperor. mq5" library below and write the algorithm of the indicator block. You can change everything except the names of the library ( iEmperor) and function (MyCalculator), the number of input parameters even if they are not used Ind0Param0, Ind0Param1 and so on, as well as the output values return(1) (buy), return(-1) (sell ) and return(0) (pause). After compiling this code in MetaEditor , the " iEmperor.ex5" library will be saved in your terminal.

An example of writing the library " iEmperor.ex5" (In MetaEditor, select "Library")

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

//|                                                     iEmperor.mq5 |

//|                            Copyright 2007-2021, Alexandr Valutsa |

//|                                          https://www.emperor.biz |

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

#property library

#property copyright "Copyright 2007-2021, Alexandr Valutsa"

#property link      " https://www.emperor.biz "

#property version   "1.00"

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

//| My function                                                      |

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

int MyCalculator(double Ind0Param0,//Calculation method

                 double Ind0Param1,

                 double Ind0Param2,

                 double Ind0Param3,

                 double Ind0Param4,

                 double Ind0Param5,

                 double Ind0Param6,

                 double Ind0Param7,

                 double Ind0Param8,

                 double Ind0Param9,

                 double Ind0Param10,

                 double Ind0Param11,

                 double Ind0Param12,

                 double Ind0Param13,

                 double Ind0Param14,

                 double Ind0Param15) export

  {

   if(Ind0Param0==0)//Calculation method ( 0 )

     {

      if(iClose(_Symbol,_Period,1)>iClose(_Symbol,_Period,2))// - BUY

         return(1);

      else

         if(iClose(_Symbol,_Period,1)<iClose(_Symbol,_Period,2))// - SELL

            return(-1);

     }

   else

      if(Ind0Param0==1)//Calculation method ( 1 )

        {

         if(iClose(_Symbol,_Period,1)<iClose(_Symbol,_Period,2))// - BUY

            return(1);

         else

            if(iClose(_Symbol,_Period,1)>iClose(_Symbol,_Period,2))// - SELL

               return(-1);

        }

      else

         if(Ind0Param0==2)//Calculation method ( 2 )

           {/*........*/}

   return(0);

  }

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

    To manage a custom indicator block, including testing and optimization, the parameters of the main indicator block of the EA are used.
      • Reverse-reversal of the signal.
      • Ind0Param0 - here you need to select the calculation method

    Further, all settings must correspond to the settings of the custom indicator block from 1 to 15, depending on the " calculation method":

      • Ind0Param1;
      • Ind0Param2;
      • Ind0Param3;
      • Ind0Param4;
      • Ind0Param5;
      • Ind0Param6;
      • Ind0Param7;
      • Ind0Param8;
      • Ind0Param9;
      • Ind0Param10;
      • Ind0Param11;
      • Ind0Param12;
      • Ind0Param13;
      • Ind0Param14;
      • Ind0Param15;
    • 0: iNo - do not use.

    Next comes a list of built-in strategies to choose from. To optimize the strategy, it is enough to enable the "AutoSetDefault" parameter and such values as start, step and stop will be set automatically. Therefore, you do not have to understand these strategies at all, to find a suitable strategy, any one is selected and simply combined with other parameters of the adviser.

    The next step is optimization, as a result of which files with different variations of settings will be created. Automatic selection of settings is based on the results of optimization, taking into account the specified criteria such as profit, drawdown, profit factor, mathematical expectation, and so on. The Expert Advisor can process both optimization results and forward testing, the "UseForwardTester" flag is responsible for this.

    • 1: iRSI;
    • 2: iRSI, iMA;
    • 3: iRSI, iATR;
    • 4: iStochastic, iMA;
    • 5: iTrend, iATR;
    • 6: iMA, iCCI, iSAR;
    • 7: iBands, iMA;
    • 8: iBrakema;
    • 9: iMACD;
    • 10: iWPR, iEnvelopes;
    • 11: iADX;
    • 12: iFractal;
    • 13: iZigZag;
    • 14: iZigZag;
    • 15: 1:MA,2:Band,3:Env,4:Frac,5:RSI,6:ATR;
    • 16: iOpen, iClose;
    • 17: iZigZag;
    • 18: iMA;
    • 19: iAlligator, iFractal;
    • 20: iMA;
    • 21: iTrend;
    • 22: iBands;
    • 23: iCCI, iMA, iLevels;
    • 24: iForce;
    • 25: iMA;
    • 26: iStochastic;
    • 27: iMA, iCHO;
    • 28: iATR, iBands;
    • 29: iDeM;
    • 30: iATR, iSTO;
    • 31: iMA, iAO, iTriX;
    • 32: iCCI, iMA, iSAR;
    • 33: iMACD;
    • 34: iAlligator;
    • 35: iAC, iAlligator;
    • 36: iSAR, iOsMA;
    • 37: iEhlers_CG;
    • 38: iMACD;
    • 39: iFisher;
    • 40: iPercent;
    • 41: iCCI, iMA;
    • 42: iMA, iMACD;
    • 43: iMA, iZigZag;
    • 44: iHigh, iOpen;
    • 45: iMA, iAO;
    • 46: iMACD;
    • 47: iMA, iRVI;
    • 48: iADXWilder;
    • 49: iMA, iCCI, iSD;
    • 50: iBands, iAC;
    • 51: iADX;
    • 52: iRVI, iADX;
    • 53: iStochastic;
    • 54: iMomentum, iDeMarker;
    • 55: iMFI;
    • 56: iVolumes, iADX, iMA;
    • 57: iAC, iCCI;
    • 58: iMA, iCCI, iStdDev;
    • 59: iMomentum, iEnvelopes;
    • 60: iRSI;
    • 61: iRVI;
    • 62: iMFI, iStochastic, iADX;
    • 63: iAO, iAC;
    • 64: iBands, iMA, iMA;
    • 65: iStochastic;
    • 66: iStochastic, iADX, iAC;
    • 67: iStochastic, iMA, iMA;
    • 68: iCCI;
    • 69: iBands;
    • 70: iAlligator, iRSI;
    • 71: iRVI, iStochastic;
    • 72: iStochastic, iVolumes, iRSI;
    • 73: iWPR, iEnvelopes;
    • 74: iADX;
    • 75: iCCI, iVolumes;
    • 76: iMomentum, iStochastic, iRVI;
    • 77: iMFI, iMA, iMA.

    The next block closes positions

    • -2: ReturnSignal - closing on the reverse signal of the indicator block working to open positions.
    • -1: iCustom-closing on a signal from a custom indicator block. In this case, it is necessary to perform all the work (described above) related to the creation and connection of a custom indicator block. Next, specify the number of the calculation method here in the "Ind1Param1 (calculation method)" parameter, and configure the indicator block in accordance with the parameters of the selected calculation method " calculation method":
      • Ind1Param1 - here you need to select the calculation method (calculation method) ;
      • Ind1Param2;
      • Ind1Param3;
      • Ind1Param4;
      • Ind1Param5;
      • Ind1Param6;
      • Ind1Param7;
      • Ind1Param8;
      • Ind1Param9;
      • Ind1Param10;
      • Ind1Param11;
      • Ind1Param12;
      • Ind1Param13;
      • Ind1Param14;
      • Ind1Param15;
    • 0: iNo - do not use.

    Next comes a list of built-in strategies to choose from. To optimize the strategy, it is enough to enable the "AutoSetDefault" parameter and such values as start, step and stop will be set automatically. Therefore, you do not have to understand these strategies at all, to find a suitable strategy, any one is selected and simply combined with other parameters of the adviser.

    The next step is optimization, as a result of which files with different variations of settings will be created. Automatic selection of settings is based on the results of optimization, taking into account the specified criteria such as profit, drawdown, profit factor, mathematical expectation, and so on. The Expert Advisor can process both optimization results and forward testing, the "UseForwardTester" flag is responsible for this.

    • 1: iCCI;
    • 9: iHigh, iLow;
    • 10: iAlligator;
    • 11: iBands;
    • 12: iMA;
    • 21: iTrend;
    • 50: iAlligator;
    • 51: iWPR;
    • 52: iDeMarker;
    • 53: iBands;
    • 54: iRSI;
    • 55: iBands;
    • 56: iCCI;
    • 57: iBands;
    • 58: iADX;
    • 59: iRSI;
    • 60: iEnvelopes;
    • 61: iWPR;
    • 62: iBands;
    • 63: iBands;
    • 64: iEnvelopes;
    • 65: iAlligator;
    • 66: iEnvelopes;
    • 67: iBands;
    • 68: iAlligator;
    • 69: iWPR;
    • 70: iEnvelopes;
    • 71: iAlligator;
    • 72: iBands;
    • 73: iAlligator;
    • 74: iBands;
    • 75: iADX;
    • 76: iEnvelopes;
    • 77: iEnvelopes.


    PosAllContinue

    If you turn on all positions and orders, including averaging ones, they will be opened strictly according to the signals of the main, trend, or power indicator blocks, otherwise only the first positions in the series according to signals and the rest at a certain distance.

    OpenContinue

    If you enable all operations (provided that PosAllContinue is enabled, otherwise only the first positions/orders) except for trailing and modification of pending orders, they will be performed exclusively on the signal of the main indicator block.

    TrendContinue

    If you enable all operations (provided that PosAllContinue is enabled, otherwise only the first positions/orders)   except for trailing and modification of pending orders, they will be executed exclusively on the signal of a trend indicator block.

    SpeedContinue

    If you enable all operations (provided that PosAllContinue is enabled, otherwise only the first positions/orders)   with the exception of trailing and modification of pending orders, they will be executed exclusively on the signal of a power indicator block (which determines strength and speed).


    autoset default

    Automatic setting of optimization variables for all parameters. If you turn off the automatic setting is not performed at all, the variables are set manually.

    AutoSetTime

    Automatic setting of optimization variables for temporary sessions.

    AutoSetType

    Automatic setting of optimization variables for pending orders.

    AutoSet Fractal

    Automatic setting of optimization variables for fractals.

    AutoSetZigZag

    Automatic setting of optimization variables for the ZigZag indicator.

    AutoSetSpeed

    Automatic setting of optimization variables for the power block.

    AutoSetExperiment

    Automatic setting of optimization variables for expiration (lifetime) of positions and orders.

    Parameters marked with asterisks (***) are changed as a result of loading configuration files. The rest of the parameters are personal and you can change them as you wish.

    Personal parameters do not affect the quality of transactions, but they can change the load on the deposit.

    An example of fast optimization with automatic selection of the best parameters. Subsequently, automatic forward testing is used. The task of a person is to start the process, to observe and not interfere.


    Description of the parameters of the "Emperor" trading system (Part 2)
    https://www.mql5.com/en/blogs/post/749095

    Trading system "Emperor"
    https://www.mql5.com/ru/market/product/59948

    Share it with friends: