Compare commits

..

2 Commits

Author SHA1 Message Date
Artur 5327473eaf Updated for RangeBars ver. 3.04 2020-03-17 23:34:45 +01:00
unknown 8035947476 Updated for RangeBars ver. 3.03 2020-03-11 17:04:08 +01:00
7 changed files with 38 additions and 8 deletions
+12 -2
View File
@@ -26,13 +26,18 @@ input int InpRSIPeriod = 14; // RSI period
// Example shown below // Example shown below
// //
RangeBars rangeBars(MQLInfoInteger((int)MQL5_TESTING) ? false : true); RangeBars *rangeBars = NULL;
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
//| Expert initialization function | //| Expert initialization function |
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
int OnInit() int OnInit()
{ {
if(rangeBars == NULL)
{
rangeBars = new RangeBars(MQLInfoInteger((int)MQL5_TESTING) ? false : true);
}
rangeBars.Init(); rangeBars.Init();
if(rangeBars.GetHandle() == INVALID_HANDLE) if(rangeBars.GetHandle() == INVALID_HANDLE)
return(INIT_FAILED); return(INIT_FAILED);
@@ -48,7 +53,12 @@ int OnInit()
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
void OnDeinit(const int reason) void OnDeinit(const int reason)
{ {
rangeBars.Deinit(); if(rangeBars != NULL)
{
rangeBars.Deinit();
delete rangeBars;
rangeBars = NULL;
}
// //
// your custom code goes here... // your custom code goes here...
+25 -5
View File
@@ -8,6 +8,7 @@
// Helper functions for placing market orders. // Helper functions for placing market orders.
// //
#define DEVELOPER_VERSION
#include <AZ-INVEST/SDK/TradeFunctions.mqh> #include <AZ-INVEST/SDK/TradeFunctions.mqh>
// //
@@ -52,14 +53,19 @@ ulong currentTicket;
// Example shown below // Example shown below
// //
RangeBars rangeBars(MQLInfoInteger((int)MQL5_TESTING) ? false : true); RangeBars *rangeBars = NULL;
CMarketOrder * marketOrder; CMarketOrder *marketOrder = NULL;
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
//| Expert initialization function | //| Expert initialization function |
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
int OnInit() int OnInit()
{ {
if(rangeBars == NULL)
{
rangeBars = new RangeBars(MQLInfoInteger((int)MQL5_TESTING) ? false : true);
}
rangeBars.Init(); rangeBars.Init();
if(rangeBars.GetHandle() == INVALID_HANDLE) if(rangeBars.GetHandle() == INVALID_HANDLE)
return(INIT_FAILED); return(INIT_FAILED);
@@ -79,8 +85,12 @@ int OnInit()
params.busyTimeout_ms = InpBusyTimeout_ms; params.busyTimeout_ms = InpBusyTimeout_ms;
params.requoteTimeout_ms = InpRequoteTimeout_ms; params.requoteTimeout_ms = InpRequoteTimeout_ms;
} }
marketOrder = new CMarketOrder(params);
if(marketOrder == NULL)
{
marketOrder = new CMarketOrder(params);
}
return(INIT_SUCCEEDED); return(INIT_SUCCEEDED);
} }
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
@@ -88,7 +98,16 @@ int OnInit()
//+------------------------------------------------------------------+ //+------------------------------------------------------------------+
void OnDeinit(const int reason) void OnDeinit(const int reason)
{ {
rangeBars.Deinit(); //
// delete RanegBars class
//
if(rangeBars != NULL)
{
rangeBars.Deinit();
delete rangeBars;
rangeBars = NULL;
}
// //
// delete MarketOrder class // delete MarketOrder class
@@ -97,6 +116,7 @@ void OnDeinit(const int reason)
if(marketOrder != NULL) if(marketOrder != NULL)
{ {
delete marketOrder; delete marketOrder;
marketOrder = NULL;
} }
} }
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -23,7 +23,7 @@
#else // user defined settings #else // user defined settings
input int barSizeInTicks = 20; // Range bar size (in ticks) input int barSizeInTicks = 100; // Range bar size (in ticks)
input ENUM_BOOL atrEnabled = false; // Enable ATR based bar size calculation input ENUM_BOOL atrEnabled = false; // Enable ATR based bar size calculation
ENUM_TIMEFRAMES atrTimeFrame = PERIOD_D1; // Use ATR period ENUM_TIMEFRAMES atrTimeFrame = PERIOD_D1; // Use ATR period
input int atrPeriod = 14; // ATR period input int atrPeriod = 14; // ATR period