← К каталогу
Исходный код · ID 154

generic v13.20.mq4

Похожие материалы по тегам

doubletap3d.mq5MetaTrader 5 · 1 общих теговday type radar for tradingview.txtTradingView · 1 общих теговea robofibo source v.11.2.mq4MetaTrader 4 · 1 общих теговzuluquantsupertrend_pro_elite_v6.mq5MetaTrader 5 · 1 общих теговtraders_dynamic_cb_ssa_norm_index_alerts+arrows1@lifeindreamsworld.mq4MetaTrader 4 · 1 общих теговtrader-criptom4n fixed eror.txtTradingView · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Получить полный код

Поиск по коду файла

#property version   "13.20"
#property strict

#include <stderror.mqh>
#include <stdlib.mqh>

/*-------------------------------------------------------------------------------------------------------------------+
|  В Х О Д Н Ы Е   П Е Р Е М Е Н Н Ы Е                                                                               |
+-------------------------------------------------------------------------------------------------------------------*/

extern string Settings_10 = "1.  O R D E R    S I Z E    S E T T I N G S";
extern string Settings_11 = " 1.1. General Lot Settings";
 extern string SetName               = "";                
 extern bool   Fixed_Lot             =  True;             
 extern double Lots                  =  0.1;              
 extern double Auto_Risk             =  0.0;               //Auto Risk
 input  int    MM_Depo               =  0;                 //Depo per Lots
 extern bool   Lot_Multiple          =  True;             // Увеличение лота после серии убыточных оредров
 extern int    Max_Orders            =  2;
 extern int    Order_StepDistance    =  350;
 extern int    Order_TotalProfit     =  25;

extern string Settings_20 = "2.  O R D E R    C L O S E    C O N D I T I O N S";
extern string Settings_21 = " 2.1. Stop Loss and Take Profit settings"; 
 extern int    Stop_Loss             =  550;              
 extern int    Take_Profit           =  550;               
extern string Settings_22 = " 2.2. Close by Order holding time limit";
 extern bool   Close_by_TimeLimit    =  True;             
 extern int    TimeLimit             =  15;              
 extern int    TimeLimit_MinProfit   =  100;              
extern string Settings_23 = " 2.3. Close by Bollinger Bands";
 extern bool   Close_by_BB           =  True;             
 extern int    BB_MinProfit          =  75;               
extern string Settings_24 = " 2.4. Close by Commodity Channel Index";
 extern bool   Close_by_CCI          =  False;            
extern string Settings_25 = " 2.5. Close by Moving Average of Oscillator";
 extern bool   Close_by_OsMA         =  True;             
 extern int    OsMA_MinProfit        =  75;               
extern string Settings_26 = " 2.6. Close by Breakeven"; 
 extern bool   Close_by_Breakeven    =  False;            
 extern int    BE_InitLevel          =  70;                
 extern int    BE_Profit             =  10;               
extern string Settings_27 = " 2.7. Close by Trailling Stop"; 
 extern bool   Close_by_Trail        =  False;            
 extern int    Trl_dist_1            =  180;              
 extern int    Trl_dist_2            =  40;               
 extern int    Trl_dist_3            =  25;               

extern string Settings_30 = "3.  O R D E R    O P E N    C O N D I T I O N S";
extern string Settings_31 = " 3.1. FIRST ORDER - Indicators' signals";
 extern bool   Open_by_BB_1          =  True;             
 extern bool   Open_by_CCI_1         =  False;            
 extern bool   Open_by_MA_1          =  True;             
 extern bool   Open_by_OsMA_1        =  False;            
 extern bool   Spike_Filter_1        =  False;            
 extern bool   Volatility_Filter_1   =  False;             
 extern bool   Trend_Filter_1        =  False;            
extern string Settings_32 = " 3.2. SECOND ORDER - Indicators' signals";
 extern bool   Open_by_BB_2          =  True;             
 extern bool   Open_by_CCI_2         =  True;             
 extern bool   Open_by_MA_2          =  True;             
 extern bool   Open_by_OsMA_2        =  False;            
 extern bool   Spike_Filter_2        =  False;            
 extern bool   Volatility_Filter_2   =  False;            
 extern bool   Trend_Filter_2        =  True;            

extern string Settings_34 = " 3.4. Trade Restriction - Consequitive losses";
 extern bool   Restrict_Losses       =  False;              
 extern int    Restrict_TimeLimit    =  30;               

extern string Settings_40 = "4.  I N D I C A T O R S    S E T T I N G S";
extern string Settings_41 = " 4.1. Bollinger Bands";
 extern int    BB_TimeFrame          =  PERIOD_M15;       
 extern int    BB_Period             =  13;               
 extern int    BB_StDev              =  2;                
 extern int    BB_Shift              =  1;                
 extern int    BB_Open_Level         =  15;               
 extern int    BB_Close_Level        =  10;               
extern string Settings_42 = " 4.2. Commodity Channel Index";
 extern int    CCI_TimeFrame         =  PERIOD_M15;       
 extern int    CCI_Period            =  9;                
 extern int    CCI_Applied_Price     =  0;                
 extern int    CCI_Shift             =  1;                
 extern int    CCI_Signal_Level      =  90;               
extern string Settings_43 = " 4.3. Moving Average";
 extern int    MA_TimeFrame          =  PERIOD_M15;       
 extern int    MA_Period             =  9;                
 extern int    MA_Price_Method       =  0;                
 extern int    MA_Applied_Price      =  4;                
 extern int    MA_Shift              =  0;                
 extern int    MA_Signal_Level       =  125;              
extern string Settings_44 = " 4.4. Price Spike Identification";
 extern int    Bar_TimeFrame         =  PERIOD_M5;        
 extern int    Bar_Shift             =  2;                
 extern int    Min_PriceRange        =  75;               
 extern int    Max_PriceRange        =  175;              
extern string Settings_45 = " 4.5. Moving Average of Oscillator";
 extern int    OsMA_TimeFrame        =  PERIOD_M15;      
 extern int    OsMA_FastEMA          =  7;                
 extern int    OsMA_SlowEMA          =  15;               
 extern int    OsMA_SignalSMA        =  8;                
 extern int    OsMA_Limit            =  50;               
extern string Settings_46 = " 4.6. Trade Restriction by Volatility";
 extern int    MinVolatility         =  150;              
 extern int    MaxDailyRange         =  900;              

extern string Settings_50 = "5.  O T H E R    S E T T I N G S";
 extern bool   WriteLogFile          =  False;            
 extern int    Max_Spread            =  45;               
 extern int    Slippage              =  20;               
 extern string Order_Comment         =  "Generic v13.20"; 
 extern int    MagicNumber           =  3100037;         

extern string Settings_60 = "6.  T R A D I N G    T I M E    C O N D I T I O N S";
extern string Settings_61 = " 6.1. Close deals on Friday";
 extern bool   Friday_Close          =  False;            
 extern int    End_Trade_Hour_Friday        =  23;               
 extern int    End_Trade_Minute_Friday      =  55;               
extern   string Settings_62          = " 6.2 Trade Time Filter";              
 extern   int                  GMT_Offset                 = 2;                 //GMT Offset
 extern   bool                 DST                        = true;              //DaylightSavingsTime
 extern   bool                 TradeAllDaysInTheSameTime  = false;             
 input    int                  SkipDay                    = 0; 
extern string Settings_63 = " 6.3. Set different trading time for each day";
 extern   bool                 MONDAY_Enabled             = true;              //Торговать в понедельник
 extern   int                  MONDAY_Start_Trade_Hour    = 22;                //Start Trade Hour
 extern   int                  MONDAY_Start_Trade_Minute  = 0;                 //Start Trade Minute
 extern   int                  MONDAY_End_Trade_Hour      = 1;                 //End Trade Hour
 extern   int                  MONDAY_End_Trade_Minute    = 0;                 //End Trade Minute 
extern   string Settings_64 = "<== TUESDAY ==>";                                // TUESDAY 
 extern   bool                 TUESDAY_Enabled             = true;              //Торговать во вторник
 extern   int                  TUESDAY_Start_Trade_Hour   = 22;                //Start Trade Hour
 extern   int                  TUESDAY_Start_Trade_Minute = 0;                 //Start Trade Minute
 extern   int                  TUESDAY_End_Trade_Hour     = 1;                 //End Trade Hour
 extern   int                  TUESDAY_End_Trade_Minute   = 0;                 //End Trade Minute 
extern   string Settings_65  = "<== WEDNESDAY ==>";                             // WEDNESDAY
 extern   bool                 WEDNESDAY_Enabled             = true;            //Торговать в среду
 extern   int                  WEDNESDAY_Start_Trade_Hour = 22;                //Start Trade Hour
 extern   int                  WEDNESDAY_Start_Trade_Minute=0;                //Start Trade Minute
 extern   int                  WEDNESDAY_End_Trade_Hour   = 1;                 //End Trade Hour
 extern   int                  WEDNESDAY_End_Trade_Minute = 0;                 //End Trade Minute 
extern   string Settings_66  = "<== THURSDAY ==>";                              // THURSDAY 
extern   bool                 THURSDAY_Enabled             = true;              //Торговать в четверг
 extern   int                  THURSDAY_Start_Trade_Hour  = 22;                //Start Trade Hour
 extern   int                  THURSDAY_Start_Trade_Minute= 0;                 //Start Trade Minute
 extern   int                  THURSDAY_End_Trade_Hour    = 1;                 //End Trade Hour
 extern   int                  THURSDAY_End_Trade_Minute  = 0;                 //End Trade Minute 
extern   string Settings_67 = "<== FRIDAY ==>";                                // FRIDAY 
 extern   bool                 FRIDAY_Enabled             = true;              //Торговать в пятницу
 extern   int                  FRIDAY_Start_Trade_Hour    = 22;                //Start Trade Hour
 extern   int                  FRIDAY_Start_Trade_Minute  = 0;                 //Start Trade Minute
 extern   int                  FRIDAY_End_Trade_Hour      = 1;                 //End Trade Hour
 extern   int                  FRIDAY_End_Trade_Minute    = 0;                 //End Trade Minute 

 static datetime BB_prevtime=0; 
 static datetime CCI_prevtime=0;
 static datetime MA_prevtime=0;
 static datetime Bar_prevtime=0;

 double minlot=0.0;
 double maxlot=0.01;
 int stoplevel=0;
 int Count_Sell,Count_Buy;
 double _Take_Profit,_Stop_Loss;      
 double takeprofit,stoploss;
 double trailstart,trailsize,trailstep;
 int slippage;
 int ticksize;
 double lots=0;       

 double BB_Low,BB_Up,BB_Main;
 double CCI;
 int CCI_Signal=0;
 double MA_1,MA_2;
 int MA_Signal=0;
 double Bar_Open;
 int Spike_Signal=0;
 double OsMA_0,OsMA_1,OsMA_2;
 int OsMA_Signal=0;
 int Trend;

 int last_buy_ticket,last_sell_ticket;
 double last_buy_profit=-1,last_sell_profit=-1;
 datetime last_sell_close,last_buy_close;
 int Buy_Paramets,Sell_Paramets;

 string InpFileName;                                    
 string fileName="EA_Generic";      
 string InpDirectoryName="LOGS";
 string q;
 int    TimeShift;
 int    day_of_year_trade=0;
 int    Start_Trade_Hour[7], End_Trade_Hour[7], Start_Trade_Minute[7], End_Trade_Minute[7];
 datetime StartTime, EndTime, PrevDayStartTime, PrevDayEndTime;
 string   First_StartTimeStr,First_EndTimeStr,Second_StartTimeStr,Second_EndTimeStr;
 datetime DayStartTimeShift;
 bool     Day_Trade_Enabled[7];
 int      _DayOfWeek;
 int      _DayOfWeekShift;
 bool     _IsTime;
 datetime _TimeCurrent;
 string   daystring[7]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   И Н И Ц И А Л И З А Ц И И                                                 |
+-------------------------------------------------------------------------------------------------------------------*/ 
int OnInit()
{
      // код доступен только после оплаты
   }

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   Д Е И Н И Ц И А Л И З А Ц И И                                             |
+-------------------------------------------------------------------------------------------------------------------*/ 
void OnDeinit(const int reason)
{   
}

/*-------------------------------------------------------------------------------------------------------------------+
|  С П Е Ц И А Л Ь Н А Я   Ф У Н К Ц И Я   О Б Р А Б О Т К И   С О Б Ы Т И Й                                         |
+-------------------------------------------------------------------------------------------------------------------*/
void OnTick()
{
      // код доступен только после оплаты
   }

/*-------------------------------------------------------------------------------------------------------------------+
|  П О Л Ь З О В А Т Е Л Ь С К И Е   Ф У Н К Ц И И                                                                   |
+-------------------------------------------------------------------------------------------------------------------*/ 
/*-------------------------------------------------------------------------------------------------------------------+
| Функции ограничения торговли                                                                                       | 
+---------------

Показано первые 50% кода (символов: 46866)

Что вы получите после оплаты

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
4 687₽