pending martingale 1.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pending martingale 1.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Торговый советник для MetaTrader 4, написанный на языке MQL4. Использует блочную архитектуру с 87 блоками для обработки рыночных и торговых событий, включая открытие и закрытие позиций, управление ордерами и сделками. Поддерживает виртуальные стопы, экстренные жёсткие стопы, OCO-ордера, отложенные и рыночные ордера на покупку и продажу, а также отображение информации о спреде и статусе на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| inp3691_VolumeSize | Размер объёма — Задаёт базовый размер лота для торговых операций. |
Поиск по коду файла
#property description ""
#property version "1.0"
#property strict
/************************************************************************************************************************/
/************************************************************************************************************************/
#define PROJECT_ID "mt4-7388"
#define POINT_FORMAT_RULES "0.001=0.01,0.00001=0.0001,0.000001=0.0001" // this is deserialized in a special function later
#define ENABLE_SPREAD_METER true
#define ENABLE_STATUS true
#define ENABLE_EVENT_TICK 1 // enable "Tick" event
#define ENABLE_EVENT_TRADE 1 // enable "Trade" event
#define ENABLE_EVENT_TIMER 0 // enable "Timer" event
#define VIRTUAL_STOPS_ENABLED 0 // enable virtual stops
#define VIRTUAL_STOPS_TIMEOUT 0 // virtual stops timeout
#define USE_EMERGENCY_STOPS "no" // "yes" to use emergency (hard stops) when virtual stops are in use. "always" to use EMERGENCY_STOPS_ADD as emergency stops when there is no virtual stop.
#define EMERGENCY_STOPS_REL 0 // use 0 to disable hard stops when virtual stops are enabled. Use a value >=0 to automatically set hard stops with virtual. Example: if 2 is used, then hard stops will be 2 times bigger than virtual ones.
#define EMERGENCY_STOPS_ADD 0 // add pips to relative size of emergency stops (hard stops)
#define ON_TRADE_REALTIME 0 //
#define ON_TIMER_PERIOD 60 // Timer event period (in seconds)
string fxdBlocksLookupTable[];
#define TLOBJPROP_TIME1 801
#define OBJPROP_TL_PRICE_BY_SHIFT 802
#define OBJPROP_TL_SHIFT_BY_PRICE 803
#define OBJPROP_FIBOVALUE 804
#define OBJPROP_FIBOPRICEVALUE 805
#define OBJPROP_BARSHIFT1 807
#define OBJPROP_BARSHIFT2 808
#define OBJPROP_BARSHIFT3 809
#define SEL_CURRENT 0
#define SEL_INITIAL 1
input double _1Offset = 20.0;input double _1Volume = 0.01;input double _1MultiplyOnLoss = 0.5;input double _1StopLoss = 0.0;input double _1TakeProfit = 0.0;input double _2Offset = 20.0;input double _2Volume = 0.01;input double _2MultiplyOnLoss = 0.5;input double _2StopLoss = 0.0;input double _2TakeProfit = 0.0;input double _3Offset = 20.0;input double _3Volume = 0.01;input double _3MultiplyOnLoss = 0.5;input double _3StoppLoss = 0.0;input double _3TakeProfit = 0.0;input double _4Offset = 20.0;input double _4Volume = 0.01;input double _4MultiplyOnLoss = 0.5;input double _4StoppLoss = 0.0;input double _4TakeProfit = 0.0;input double _5Offset = 20.0;input double _5Volume = 0.01;input double _5MultiplyOnLoss = 0.5;input double _5StoppLoss = 0.0;input double _5TakeProfit = 0.0;input int MagicStart = 2766; // Magic Number, kind of...
class c
{
public:
static double _1Offset;
static double _1Volume;
static double _1MultiplyOnLoss;
static double _1StopLoss;
static double _1TakeProfit;
static double _2Offset;
static double _2Volume;
static double _2MultiplyOnLoss;
static double _2StopLoss;
static double _2TakeProfit;
static double _3Offset;
static double _3Volume;
static double _3MultiplyOnLoss;
static double _3StoppLoss;
static double _3TakeProfit;
static double _4Offset;
static double _4Volume;
static double _4MultiplyOnLoss;
static double _4StoppLoss;
static double _4TakeProfit;
static double _5Offset;
static double _5Volume;
static double _5MultiplyOnLoss;
static double _5StoppLoss;
static double _5TakeProfit;
static int MagicStart;
};
double c::_1Offset;
double c::_1Volume;
double c::_1MultiplyOnLoss;
double c::_1StopLoss;
double c::_1TakeProfit;
double c::_2Offset;
double c::_2Volume;
double c::_2MultiplyOnLoss;
double c::_2StopLoss;
double c::_2TakeProfit;
double c::_3Offset;
double c::_3Volume;
double c::_3MultiplyOnLoss;
double c::_3StoppLoss;
double c::_3TakeProfit;
double c::_4Offset;
double c::_4Volume;
double c::_4MultiplyOnLoss;
double c::_4StoppLoss;
double c::_4TakeProfit;
double c::_5Offset;
double c::_5Volume;
double c::_5MultiplyOnLoss;
double c::_5StoppLoss;
double c::_5TakeProfit;
int c::MagicStart;
class v
{
public:
};
input double inp3691_VolumeSize = 0.01;
class _externs
{
public:
static double inp3691_VolumeSize;
};
double _externs::inp3691_VolumeSize = inp3691_VolumeSize;
int FXD_CURRENT_FUNCTION_ID = 0;
double FXD_MILS_INIT_END = 0;
int FXD_TICKS_FROM_START = 0;
int FXD_MORE_SHIFT = 0;
bool FXD_DRAW_SPREAD_INFO = false;
bool FXD_FIRST_TICK_PASSED = false;
bool FXD_BREAK = false;
bool FXD_CONTINUE = false;
bool FXD_CHART_IS_OFFLINE = false;
bool FXD_ONTIMER_TAKEN = false;
bool FXD_ONTIMER_TAKEN_IN_MILLISECONDS = false;
double FXD_ONTIMER_TAKEN_TIME = 0;
bool USE_VIRTUAL_STOPS = VIRTUAL_STOPS_ENABLED;
string FXD_CURRENT_SYMBOL = "";
int FXD_BLOCKS_COUNT = 87;
datetime FXD_TICKSKIP_UNTIL = 0;
struct fxd_onchart
{
int id;
long lparam;
double dparam;
string sparam;
};
fxd_onchart FXD_ONCHART;
/************************************************************************************************************************/
/************************************************************************************************************************/
int OnInit()
{
// код доступен только после оплаты
}
void OnTick()
{
// код доступен только после оплаты
}
void EventTrade()
{
int blocks_to_run[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
for (int i=0; i<ArraySize(blocks_to_run); i++) {
_blocks_[blocks_to_run[i]].run();
}
OnTradeQueue(-1);
}
void OnTimer()
{
if (FXD_CHART_IS_OFFLINE && RefreshRates()) {
OnTick();
}
if (ON_TRADE_REALTIME == 1) {
OnTradeListener();
}
static datetime t0 = 0;
datetime t = 0;
bool ok = false;
if (FXD_ONTIMER_TAKEN)
{
if (FXD_ONTIMER_TAKEN_TIME > 0)
{
if (FXD_ONTIMER_TAKEN_IN_MILLISECONDS == true)
{
t = GetTickCount();
}
else
{
t = TimeLocal();
}
if ((t - t0) >= FXD_ONTIMER_TAKEN_TIME)
{
t0 = t;
ok = true;
}
}
if (ok == false) {
return;
}
}
}
void OnChartEvent(
const int id, // Event ID
const long& lparam, // Parameter of type long event
const double& dparam, // Parameter of type double event
const string& sparam // Parameter of type string events
)
{
FXD_ONCHART.id = id;
FXD_ONCHART.lparam = lparam;
FXD_ONCHART.dparam = dparam;
FXD_ONCHART.sparam = sparam;
return;
}
void OnDeinit(const int reason)
{
int reson = UninitializeReason();
if (reson == REASON_CHARTCHANGE || reson == REASON_PARAMETERS || reason == REASON_TEMPLATE) {return;}
EventKillTimer();
if (ENABLE_STATUS) DrawStatus("stopped");
if (ENABLE_SPREAD_METER) DrawSpreadInfo();
if (MQLInfoInteger(MQL_TESTER)) {
Print("Backtested in "+DoubleToString((GetTickCount()-FXD_MILS_INIT_END)/1000, 2)+" seconds");
double tc = GetTickCount()-FXD_MILS_INIT_END;
if (tc > 0)
{
Print("Average ticks per second: "+DoubleToString(FXD_TICKS_FROM_START/tc, 0));
}
}
if (MQLInfoInteger(MQL_PROGRAM_TYPE) == PROGRAM_EXPERT)
{
switch(UninitializeReason())
{
case REASON_PROGRAM : Print("Expert Advisor self terminated"); break;
case REASON_REMOVE : Print("Expert Advisor removed from the chart"); break;
case REASON_RECOMPILE : Print("Expert Advisor has been recompiled"); break;
case REASON_CHARTCHANGE : Print("Symbol or chart period has been changed"); break;
case REASON_CHARTCLOSE : Print("Chart has been closed"); break;
case REASON_PARAMETERS : Print("Input parameters have been changed by a user"); break;
case REASON_ACCOUNT : Print("Another account has been activated or reconnection to the trade server has occurred due to changes in the account settings"); break;
case REASON_TEMPLATE : Print("A new template has been applied"); break;
case REASON_INITFAILED : Print("OnInit() handler has returned a nonzero value"); break;
case REASON_CLOSE : Print("Terminal has been closed"); break;
}
}
for (int i=0; i<ArraySize(_blocks_); i++)
{
delete _blocks_[i];
_blocks_[i] = NULL;
}
ArrayResize(_blocks_, 0);
return;
}
/************************************************************************************************************************/
/************************************************************************************************************************/
/**
The base class for all block calls
*/
class BlockCalls
{
public:
bool __disabled; // whether or not the block is disabled
string __block_user_number;
int __block_number;
int __block_waiting;
int __parent_number;
int __inbound_blocks[];
int __outbound_blocks[];
void __addInboundBlock(int id = 0) {
int size = ArraySize(__inbound_blocks);
for (int i = 0; i < size; i++) {
if (__inbound_blocks[i] == id) {
return;
}
}
ArrayResize(__inbound_blocks, size + 1);
__inbound_blocks[size] = id;
}
/**
Announce this block to the list of inbound connections of all the blocks to which this block is connected to
*/
void __announceThisBlock()
{
for (int i = 0; i < ArraySize(__outbound_blocks); i++)
{
int block = __outbound_blocks[i]; // outbound block number
int size = ArraySize(_blocks_[block].__inbound_blocks); // the size of its inbound list
for (int j = 0; j < size; j++) {
if (_blocks_[block].__inbound_blocks[j] == __block_number)
{
return;
}
}
ArrayResize(_blocks_[block].__inbound_blocks, size + 1);
_blocks_[block].__inbound_blocks[size] = __block_number;
}
}
virtual void _execute_() = 0;
/**
In the derived class this method should be used to set dynamic parameters or other stuff before the main execute.
This method is automatically called within the main "run" method below, before the execution of the main class.
*/
virtual void _beforeExecute_() {return;};
bool _beforeExecuteEnabled; // for speed
/**
Same as _beforeExecute_, but to work after the execute method.
*/
virtual void _afterExecute_() {return;};
bool _afterExecuteEnabled; // for speed
/**
This is the method that is used to run the block
*/
virtual void run(int _parent_=0) {
__parent_number = _parent_;
if (__disabled || FXD_BREAK) {return;}
FXD_CURRENT_FUNCTION_ID = __block_number;
if (_beforeExecuteEnabled) {_beforeExecute_();}
_execute_();
if (_afterExecuteEnabled) {_afterExecute_();}
if (__block_waiting && FXD_CURRENT_FUNCTION_ID == __block_number) {fxdWait.Accumulate(FXD_CURRENT_FUNCTION_ID);}
}
};
BlockCalls *_blocks_[];
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7>
class MDL_eTrade_TradeClosed: public BlockCalls
{
public: /* Input Parameters */
T1 GroupMode;
T2 Group;
T3 SymbolMode;
T4 Symbol;
T5 BuysOrSells;
T6 CloseMode;
T7 ClosePartialMode;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_eTrade_TradeClosed()
{
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
CloseMode = (string)"";
ClosePartialMode = (int)0;
}
public: /* The main method */
virtual void _execute_()
{
bool next = false;
if (
(e_Reason() == "close" || e_Reason() == "decrement")
&& e_attrType() < 2
&& FilterEventTrade(GroupMode, Group, SymbolMode, Symbol, BuysOrSells)
)
{
string close_type = "nosltp";
double price_close = e_attrClosePrice();
if (MathAbs(price_close - e_attrStopLoss()) == 0) {close_type = "sl";}
else if (MathAbs(price_close - e_attrTakeProfit()) == 0) {close_type = "tp";}
if (
(
(CloseMode == "")
|| (CloseMode == close_type)
|| (CloseMode == "sltp" && (close_type == "sl" || close_type == "tp"))
|| (CloseMode == "exp" && e_ReasonDetail() == "expire")
)
&& (
(ClosePartialMode == 0)
|| (ClosePartialMode == 1 && e_attrTicket() == attrTicketChild(e_attrTicket())) // fully closed
|| (ClosePartialMode == 2 && e_attrTicket() != attrTicketChild(e_attrTicket())) // partially closed
)
)
{next = true;}
}
if (next) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5>
class MDL_eTrade_TradeNew: public BlockCalls
{
public: /* Input Parameters */
T1 GroupMode;
T2 Group;
T3 SymbolMode;
T4 Symbol;
T5 BuysOrSells;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_eTrade_TradeNew()
{
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
}
public: /* The main method */
virtual void _execute_()
{
if (
(e_Reason() == "new")
&& (e_attrType() < 2)
&& (FilterEventTrade(GroupMode, Group, SymbolMode, Symbol, BuysOrSells))
)
{_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename _T4_,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11,typename T12,typename _T12_,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename _T26_,typename T27,typename _T27_,typename T28,typename _T28_,typename T29,typename T30,typename T31,typename T32,typename _T32_,typename T33,typename _T33_,typename T34,typename _T34_,typename T35,typename T36,typename T37,typename T38,typename T39,typename _T39_,typename T40,typename T41,typename T42,typename T43>
class MDL_BuyPending: public BlockCalls
{
public: /* Input Parameters */
T1 Group;
T2 Symbol;
T3 Price;
T4 dPrice; virtual _T4_ _dPrice_(){return(_T4_)0;}
T5 PriceOffset;
T6 VolumeMode;
T7 VolumeSize;
T8 VolumeSizeRisk;
T9 VolumeRisk;
T10 VolumePercent;
T11 VolumeBlockPercent;
T12 dVolumeSize; virtual _T12_ _dVolumeSize_(){return(_T12_)0;}
T13 FixedRatioUnitSize;
T14 FixedRatioDelta;
T15 mmMgInitialLots;
T16 mmMgMultiplyOnLoss;
T17 mmMgMultiplyOnProfit;
T18 mmMgAddLotsOnLoss;
T19 mmMgAddLotsOnProfit;
T20 mmMgResetOnLoss;
T21 mmMgResetOnProfit;
T22 VolumeUpperLimit;
T23 StopLossMode;
T24 StopLossPips;
T25 StopLossPercentTP;
T26 dlStopLoss; virtual _T26_ _dlStopLoss_(){return(_T26_)0;}
T27 dpStopLoss; virtual _T27_ _dpStopLoss_(){return(_T27_)0;}
T28 ddStopLoss; virtual _T28_ _ddStopLoss_(){return(_T28_)0;}
T29 TakeProfitMode;
T30 TakeProfitPips;
T31 TakeProfitPercentSL;
T32 dlTakeProfit; virtual _T32_ _dlTakeProfit_(){return(_T32_)0;}
T33 ddTakeProfit; virtual _T33_ _ddTakeProfit_(){return(_T33_)0;}
T34 dpTakeProfit; virtual _T34_ _dpTakeProfit_(){return(_T34_)0;}
T35 ExpMode;
T36 ExpDays;
T37 ExpHours;
T38 ExpMinutes;
T39 dExp; virtual _T39_ _dExp_(){return(_T39_)0;}
T40 CreateOCO;
T41 Slippage;
T42 MyComment;
T43 ArrowColorBuy;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_BuyPending()
{
Group = (string)"";
Symbol = (string)CurrentSymbol();
Price = (string)"ask";
PriceOffset = (double)20.0;
VolumeMode = (string)"fixed";
VolumeSize = (double)0.1;
VolumeSizeRisk = (double)50.0;
VolumeRisk = (double)2.5;
VolumePercent = (double)100.0;
VolumeBlockPercent = (double)3.0;
FixedRatioUnitSize = (double)0.01;
FixedRatioDelta = (double)20.0;
mmMgInitialLots = (double)0.1;
mmMgMultiplyOnLoss = (double)2.0;
mmMgMultiplyOnProfit = (double)1.0;
mmMgAddLotsOnLoss = (double)0.0;
mmMgAddLotsOnProfit = (double)0.0;
mmMgResetOnLoss = (int)0;
mmMgResetOnProfit = (int)1;
VolumeUpperLimit = (double)0.0;
StopLossMode = (string)"fixed";
StopLossPips = (double)50.0;
StopLossPercentTP = (double)100.0;
TakeProfitMode = (string)"fixed";
TakeProfitPips = (double)50.0;
TakeProfitPercentSL = (double)100.0;
ExpMode = (string)"GTC";
ExpDays = (int)0;
ExpHours = (int)1;
ExpMinutes = (int)0;
CreateOCO = (int)0;
Slippage = (ulong)4;
MyComment = (string)"";
ArrowColorBuy = (color)clrBlue;
}
public: /* The main method */
virtual void _execute_()
{
double op = 0;
if (Price == "ask") {op = SymbolAsk(Symbol);}
else if (Price == "bid") {op = SymbolBid(Symbol);}
else if (Price == "mid") {op = (SymbolAsk(Symbol)+SymbolBid(Symbol))/2;}
else if (Price == "dynamic") {op = _dPrice_();}
op = op + toDigits(PriceOffset, Symbol);
double sll = 0, slp = 0, tpl = 0, tpp = 0;
if (StopLossMode == "fixed") {slp = StopLossPips;}
else if (StopLossMode == "dynamicPips") {slp = _dpStopLoss_();}
else if (StopLossMode == "dynamicDigits") {slp = toPips(_ddStopLoss_(),Symbol);}
else if (StopLossMode == "dynamicLevel") {sll = _dlStopLoss_();}
if (TakeProfitMode == "fixed") {tpp = TakeProfitPips;}
else if (TakeProfitMode == "dynamicPips") {tpp = _dpTakeProfit_();}
else if (TakeProfitMode == "dynamicDigits") {tpp = toPips(_ddTakeProfit_(),Symbol);}
else if (TakeProfitMode == "dynamicLevel") {tpl = _dlTakeProfit_();}
if (StopLossMode == "percentTP")
{
if (tpp > 0) {slp = tpp*StopLossPercentTP/100;}
if (tpl > 0) {slp = toPips(MathAbs(op - tpl), Symbol)*StopLossPercentTP/100;}
}
if (TakeProfitMode == "percentSL")
{
if (slp > 0) {tpp = slp*TakeProfitPercentSL/100;}
if (sll > 0) {tpp = toPips(MathAbs(op - sll), Symbol)*TakeProfitPercentSL/100;}
}
double lots = 0;
double pre_sll = sll;
if (pre_sll == 0) {pre_sll = op;}
double pre_sl_pips = toPips(op-(pre_sll-toDigits(slp,Symbol)), Symbol);
if (VolumeMode == "fixed") {lots = DynamicLots(Symbol, VolumeMode, VolumeSize);}
else if (VolumeMode == "block-equity") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-balance") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "equity") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "balance") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "equityRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "balanceRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "freemarginRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeSizeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRatio") {lots = DynamicLots(Symbol, VolumeMode, FixedRatioUnitSize, FixedRatioDelta);}
else if (VolumeMode == "martingale") {lots = BetMartingale((int)Group, Symbol, mmMgInitialLots, mmMgMultiplyOnLoss, mmMgMultiplyOnProfit, mmMgAddLotsOnLoss, mmMgAddLotsOnProfit, mmMgResetOnLoss, mmMgResetOnProfit);}
else if (VolumeMode == "dynamic") {lots = _dVolumeSize_();}
lots = AlignLots(Symbol, lots, 0, VolumeUpperLimit);
datetime exp = ExpirationTime(ExpMode,ExpDays,ExpHours,ExpMinutes,_dExp_());
long ticket = BuyLater(Symbol,lots,op,sll,tpl,slp,tpp,Slippage,exp,(MagicStart+(int)Group),MyComment,ArrowColorBuy,CreateOCO);
if (ticket > 0) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6>
class MDL_NoPendingOrders: public BlockCalls
{
public: /* Input Parameters */
T1 GroupMode;
T2 Group;
T3 SymbolMode;
T4 Symbol;
T5 BuysOrSells;
T6 LimitsOrStops;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_NoPendingOrders()
{
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
LimitsOrStops = (string)"both";
}
public: /* The main method */
virtual void _execute_()
{
bool exist = false;
for (int index = OrdersTotal()-1; index >= 0; index--)
{
if (PendingOrderSelectByIndex(index, GroupMode, Group, SymbolMode, Symbol, BuysOrSells, LimitsOrStops))
{
exist = true;
break;
}
}
if (exist == false) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename _T4_,typename T5,typename T6,typename T7,typename T8,typename T9,typename T10,typename T11,typename T12,typename _T12_,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename _T26_,typename T27,typename _T27_,typename T28,typename _T28_,typename T29,typename T30,typename T31,typename T32,typename _T32_,typename T33,typename _T33_,typename T34,typename _T34_,typename T35,typename T36,typename T37,typename T38,typename T39,typename _T39_,typename T40,typename T41,typename T42,typename T43>
class MDL_SellPending: public BlockCalls
{
public: /* Input Parameters */
T1 Group;
T2 Symbol;
T3 Price;
T4 dPrice; virtual _T4_ _dPrice_(){return(_T4_)0;}
T5 PriceOffset;
T6 VolumeMode;
T7 VolumeSize;
T8 VolumeSizeRisk;
T9 VolumeRisk;
T10 VolumePercent;
T11 VolumeBlockPercent;
T12 dVolumeSize; virtual _T12_ _dVolumeSize_(){return(_T12_)0;}
T13 FixedRatioUnitSize;
T14 FixedRatioDelta;
T15 mmMgInitialLots;
T16 mmMgMultiplyOnLoss;
T17 mmMgMultiplyOnProfit;
T18 mmMgAddLotsOnLoss;
T19 mmMgAddLotsOnProfit;
T20 mmMgResetOnLoss;
T21 mmMgResetOnProfit;
T22 VolumeUpperLimit;
T23 StopLossMode;
T24 StopLossPips;
T25 StopLossPercentTP;
T26 dlStopLoss; virtual _T26_ _dlStopLoss_(){return(_T26_)0;}
T27 dpStopLoss; virtual _T27_ _dpStopLoss_(){return(_T27_)0;}
T28 ddStopLoss; virtual _T28_ _ddStopLoss_(){return(_T28_)0;}
T29 TakeProfitMode;
T30 TakeProfitPips;
T31 TakeProfitPercentSL;
T32 dlTakeProfit; virtual _T32_ _dlTakeProfit_(){return(_T32_)0;}
T33 ddTakeProfit; virtual _T33_ _ddTakeProfit_(){return(_T33_)0;}
T34 dpTakeProfit; virtual _T34_ _dpTakeProfit_(){return(_T34_)0;}
T35 ExpMode;
T36 ExpDays;
T37 ExpHours;
T38 ExpMinutes;
T39 dExp; virtual _T39_ _dExp_(){return(_T39_)0;}
T40 CreateOCO;
T41 Slippage;
T42 MyComment;
T43 ArrowColorSell;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_SellPending()
{
Group = (string)"";
Symbol = (string)CurrentSymbol();
Price = (string)"bid";
PriceOffset = (double)20.0;
VolumeMode = (string)"fixed";
VolumeSize = (double)0.1;
VolumeSizeRisk = (double)50.0;
VolumeRisk = (double)2.5;
VolumePercent = (double)100.0;
VolumeBlockPercent = (double)3.0;
FixedRatioUnitSize = (double)0.01;
FixedRatioDelta = (double)20.0;
mmMgInitialLots = (double)0.1;
mmMgMultiplyOnLoss = (double)2.0;
mmMgMultiplyOnProfit = (double)1.0;
mmMgAddLotsOnLoss = (double)0.0;
mmMgAddLotsOnProfit = (double)0.0;
mmMgResetOnLoss = (int)0;
mmMgResetOnProfit = (int)1;
VolumeUpperLimit = (double)0.0;
StopLossMode = (string)"fixed";
StopLossPips = (double)50.0;
StopLossPercentTP = (double)100.0;
TakeProfitMode = (string)"fixed";
TakeProfitPips = (double)50.0;
TakeProfitPercentSL = (double)100.0;
ExpMode = (string)"GTC";
ExpDays = (int)0;
ExpHours = (int)1;
ExpMinutes = (int)0;
CreateOCO = (int)0;
Slippage = (ulong)4;
MyComment = (string)"";
ArrowColorSell = (color)clrRed;
}
public: /* The main method */
virtual void _execute_()
{
double op = 0;
if (Price == "ask") {op = SymbolAsk(Symbol);}
else if (Price == "bid") {op = SymbolBid(Symbol);}
else if (Price == "mid") {op = (SymbolAsk(Symbol)+SymbolBid(Symbol))/2;}
else if (Price == "dynamic") {op = _dPrice_();}
op = op - toDigits(PriceOffset, Symbol);
double sll = 0, slp = 0, tpl = 0, tpp = 0;
if (StopLossMode == "fixed") {slp = StopLossPips;}
else if (StopLossMode == "dynamicPips") {slp = _dpStopLoss_();}
else if (StopLossMode == "dynamicDigits") {slp = toPips(_ddStopLoss_(),Symbol);}
else if (StopLossMode == "dynamicLevel") {sll = _dlStopLoss_();}
if (TakeProfitMode == "fixed") {tpp = TakeProfitPips;}
else if (TakeProfitMode == "dynamicPips") {tpp = _dpTakeProfit_();}
else if (TakeProfitMode == "dynamicDigits") {tpp = toPips(_ddTakeProfit_(),Symbol);}
else if (TakeProfitMode == "dynamicLevel") {tpl = _dlTakeProfit_();}
if (StopLossMode == "percentTP")
{
if (tpp > 0) {slp = tpp*StopLossPercentTP/100;}
if (tpl > 0) {slp = toPips(MathAbs(op - tpl), Symbol)*StopLossPercentTP/100;}
}
if (TakeProfitMode == "percentSL")
{
if (slp > 0) {tpp = slp*TakeProfitPercentSL/100;}
if (sll > 0) {tpp = toPips(MathAbs(op - sll), Symbol)*TakeProfitPercentSL/100;}
}
double lots = 0;
double pre_sll = sll;
if (pre_sll == 0) {pre_sll = op;}
double pre_sl_pips = toPips((pre_sll+toDigits(slp,Symbol))-op, Symbol);
if (VolumeMode == "fixed") {lots = DynamicLots(Symbol, VolumeMode, VolumeSize);}
else if (VolumeMode == "block-equity") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-balance") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "equity") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "balance") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "equityRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "balanceRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "freemarginRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeSizeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRatio") {lots = DynamicLots(Symbol, VolumeMode, FixedRatioUnitSize, FixedRatioDelta);}
else if (VolumeMode == "martingale") {lots = BetMartingale((int)Group, Symbol, mmMgInitialLots, mmMgMultiplyOnLoss, mmMgMultiplyOnProfit, mmMgAddLotsOnLoss, mmMgAddLotsOnProfit, mmMgResetOnLoss, mmMgResetOnProfit);}
else if (VolumeMode == "dynamic") {lots = _dVolumeSize_();}
lots = AlignLots(Symbol, lots, 0, VolumeUpperLimit);
datetime exp = ExpirationTime(ExpMode,ExpDays,ExpHours,ExpMinutes,_dExp_());
long ticket = SellLater(Symbol,lots,op,sll,tpl,slp,tpp,Slippage,exp,(MagicStart+(int)Group),MyComment,ArrowColorSell,CreateOCO);
if (ticket > 0) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2>
class MDL_FlagSetB: public BlockCalls
{
public: /* Input Parameters */
T1 FlagName;
T2 FlagValue;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_FlagSetB()
{
FlagName = (string)"MyFlag";
FlagValue = (bool)true;
}
public: /* The main method */
virtual void _execute_()
{
SetFlagB(FlagName,FlagValue);
_callback_(1);
}
};
class MDL_Pass: public BlockCalls
{
virtual void _callback_(int r) {return;}
public: /* The main method */
virtual void _execute_()
{
_callback_(1);
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8>
class MDL_CheckOrdersCount: public BlockCalls
{
public: /* Input Parameters */
T1 Compare;
T2 CompareCount;
T3 GroupMode;
T4 Group;
T5 SymbolMode;
T6 Symbol;
T7 BuysOrSells;
T8 LimitsOrStops;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_CheckOrdersCount()
{
Compare = (string)">";
CompareCount = (int)3;
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
LimitsOrStops = (string)"both";
}
public: /* The main method */
virtual void _execute_()
{
int count = 0;
for (int index = OrdersTotal()-1; index >= 0; index--)
{
if (PendingOrderSelectByIndex(index, GroupMode, Group, SymbolMode, Symbol, BuysOrSells, LimitsOrStops))
{
count++;
}
}
if (compare(Compare, count, CompareCount)) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7>
class MDL_DeletePendingOrders: public BlockCalls
{
public: /* Input Parameters */
T1 GroupMode;
T2 Group;
T3 SymbolMode;
T4 Symbol;
T5 BuysOrSells;
T6 LimitsOrStops;
T7 ArrowColor;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_DeletePendingOrders()
{
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
LimitsOrStops = (string)"both";
ArrowColor = (color)clrDeepPink;
}
public: /* The main method */
virtual void _execute_()
{
for (int index = OrdersTotal()-1; index >= 0; index--)
{
if (PendingOrderSelectByIndex(index, GroupMode, Group, SymbolMode, Symbol, BuysOrSells, LimitsOrStops))
{
DeleteOrder(OrderTicket(), ArrowColor);
}
}
_callback_(1);
}
};
template<typename T1,typename T2>
class MDL_FlagCheckB: public BlockCalls
{
public: /* Input Parameters */
T1 FlagName;
T2 FlagValue;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_FlagCheckB()
{
FlagName = (string)"MyFlag";
FlagValue = (bool)true;
}
public: /* The main method */
virtual void _execute_()
{
if (GetFlagB(FlagName) == FlagValue) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5>
class MDL_NoOpenedOrders: public BlockCalls
{
public: /* Input Parameters */
T1 GroupMode;
T2 Group;
T3 SymbolMode;
T4 Symbol;
T5 BuysOrSells;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_NoOpenedOrders()
{
GroupMode = (string)"group";
Group = (string)"";
SymbolMode = (string)"symbol";
Symbol = (string)CurrentSymbol();
BuysOrSells = (string)"both";
}
public: /* The main method */
virtual void _execute_()
{
bool exist = false;
for (int index = TradesTotal()-1; index >= 0; index--)
{
if (TradeSelectByIndex(index, GroupMode, Group, SymbolMode, Symbol, BuysOrSells))
{
exist = true;
break;
}
}
if (exist == false) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename _T9_,typename T10,typename T11,typename T12,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename T27,typename T28,typename T29,typename T30,typename T31,typename T32,typename T33,typename T34,typename T35,typename _T35_,typename T36,typename _T36_,typename T37,typename _T37_,typename T38,typename T39,typename T40,typename T41,typename _T41_,typename T42,typename _T42_,typename T43,typename _T43_,typename T44,typename T45,typename T46,typename T47,typename T48,typename _T48_,typename T49,typename T50,typename T51>
class MDL_SellNow: public BlockCalls
{
public: /* Input Parameters */
T1 Group;
T2 Symbol;
T3 VolumeMode;
T4 VolumeSize;
T5 VolumeSizeRisk;
T6 VolumeRisk;
T7 VolumePercent;
T8 VolumeBlockPercent;
T9 dVolumeSize; virtual _T9_ _dVolumeSize_(){return(_T9_)0;}
T10 FixedRatioUnitSize;
T11 FixedRatioDelta;
T12 mmMgInitialLots;
T13 mmMgMultiplyOnLoss;
T14 mmMgMultiplyOnProfit;
T15 mmMgAddLotsOnLoss;
T16 mmMgAddLotsOnProfit;
T17 mmMgResetOnLoss;
T18 mmMgResetOnProfit;
T19 mm1326InitialLots;
T20 mm1326Reverse;
T21 mmFiboInitialLots;
T22 mmDalembertInitialLots;
T23 mmDalembertReverse;
T24 mmLabouchereInitialLots;
T25 mmLabouchereList;
T26 mmLabouchereReverse;
T27 mmSeqBaseLots;
T28 mmSeqOnLoss;
T29 mmSeqOnProfit;
T30 mmSeqReverse;
T31 VolumeUpperLimit;
T32 StopLossMode;
T33 StopLossPips;
T34 StopLossPercentTP;
T35 dlStopLoss; virtual _T35_ _dlStopLoss_(){return(_T35_)0;}
T36 dpStopLoss; virtual _T36_ _dpStopLoss_(){return(_T36_)0;}
T37 ddStopLoss; virtual _T37_ _ddStopLoss_(){return(_T37_)0;}
T38 TakeProfitMode;
T39 TakeProfitPips;
T40 TakeProfitPercentSL;
T41 dlTakeProfit; virtual _T41_ _dlTakeProfit_(){return(_T41_)0;}
T42 dpTakeProfit; virtual _T42_ _dpTakeProfit_(){return(_T42_)0;}
T43 ddTakeProfit; virtual _T43_ _ddTakeProfit_(){return(_T43_)0;}
T44 ExpMode;
T45 ExpDays;
T46 ExpHours;
T47 ExpMinutes;
T48 dExp; virtual _T48_ _dExp_(){return(_T48_)0;}
T49 Slippage;
T50 MyComment;
T51 ArrowColorSell;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_SellNow()
{
Group = (string)"";
Symbol = (string)CurrentSymbol();
VolumeMode = (string)"fixed";
VolumeSize = (double)0.1;
VolumeSizeRisk = (double)50.0;
VolumeRisk = (double)2.5;
VolumePercent = (double)100.0;
VolumeBlockPercent = (double)3.0;
FixedRatioUnitSize = (double)0.01;
FixedRatioDelta = (double)20.0;
mmMgInitialLots = (double)0.1;
mmMgMultiplyOnLoss = (double)2.0;
mmMgMultiplyOnProfit = (double)1.0;
mmMgAddLotsOnLoss = (double)0.0;
mmMgAddLotsOnProfit = (double)0.0;
mmMgResetOnLoss = (int)0;
mmMgResetOnProfit = (int)1;
mm1326InitialLots = (double)0.1;
mm1326Reverse = (bool)false;
mmFiboInitialLots = (double)0.1;
mmDalembertInitialLots = (double)0.1;
mmDalembertReverse = (bool)false;
mmLabouchereInitialLots = (double)0.1;
mmLabouchereList = (string)"1,2,3,4,5,6";
mmLabouchereReverse = (bool)false;
mmSeqBaseLots = (double)0.1;
mmSeqOnLoss = (string)"3,2,6";
mmSeqOnProfit = (string)"1";
mmSeqReverse = (bool)false;
VolumeUpperLimit = (double)0.0;
StopLossMode = (string)"fixed";
StopLossPips = (double)50.0;
StopLossPercentTP = (double)100.0;
TakeProfitMode = (string)"fixed";
TakeProfitPips = (double)50.0;
TakeProfitPercentSL = (double)100.0;
ExpMode = (string)"GTC";
ExpDays = (int)0;
ExpHours = (int)1;
ExpMinutes = (int)0;
Slippage = (ulong)4;
MyComment = (string)"";
ArrowColorSell = (color)clrRed;
}
public: /* The main method */
virtual void _execute_()
{
double sll = 0, slp = 0, tpl = 0, tpp = 0;
if (StopLossMode == "fixed") {slp = StopLossPips;}
else if (StopLossMode == "dynamicPips") {slp = _dpStopLoss_();}
else if (StopLossMode == "dynamicDigits") {slp = toPips(_ddStopLoss_(),Symbol);}
else if (StopLossMode == "dynamicLevel") {sll = _dlStopLoss_();}
if (TakeProfitMode == "fixed") {tpp = TakeProfitPips;}
else if (TakeProfitMode == "dynamicPips") {tpp = _dpTakeProfit_();}
else if (TakeProfitMode == "dynamicDigits") {tpp = toPips(_ddTakeProfit_(),Symbol);}
else if (TakeProfitMode == "dynamicLevel") {tpl = _dlTakeProfit_();}
if (StopLossMode == "percentTP") {
if (tpp > 0) {slp = tpp*StopLossPercentTP/100;}
if (tpl > 0) {slp = toPips(MathAbs(SymbolAsk(Symbol) - tpl), Symbol)*StopLossPercentTP/100;}
}
if (TakeProfitMode == "percentSL") {
if (slp > 0) {tpp = slp*TakeProfitPercentSL/100;}
if (sll > 0) {tpp = toPips(MathAbs(SymbolAsk(Symbol) - sll), Symbol)*TakeProfitPercentSL/100;}
}
double lots = 0;
double pre_sll = sll;
if (pre_sll == 0) {
pre_sll = SymbolBid(Symbol);
}
double pre_sl_pips = toPips((pre_sll+toDigits(slp,Symbol))-SymbolBid(Symbol), Symbol);
if (VolumeMode == "fixed") {lots = DynamicLots(Symbol, VolumeMode, VolumeSize);}
else if (VolumeMode == "block-equity") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-balance") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "equity") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "balance") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "equityRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "balanceRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "freemarginRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeSizeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRatio") {lots = DynamicLots(Symbol, VolumeMode, FixedRatioUnitSize, FixedRatioDelta);}
else if (VolumeMode == "dynamic") {lots = _dVolumeSize_();}
else if (VolumeMode == "1326") {lots = Bet1326((int)Group, Symbol, mm1326InitialLots, mm1326Reverse);}
else if (VolumeMode == "fibonacci") {lots = BetFibonacci((int)Group, Symbol, mmFiboInitialLots);}
else if (VolumeMode == "dalembert") {lots = BetDalembert((int)Group, Symbol, mmDalembertInitialLots, mmDalembertReverse);}
else if (VolumeMode == "labouchere") {lots = BetLabouchere((int)Group, Symbol, mmLabouchereInitialLots, mmLabouchereList, mmLabouchereReverse);}
else if (VolumeMode == "martingale") {lots = BetMartingale((int)Group, Symbol, mmMgInitialLots, mmMgMultiplyOnLoss, mmMgMultiplyOnProfit, mmMgAddLotsOnLoss, mmMgAddLotsOnProfit, mmMgResetOnLoss, mmMgResetOnProfit);}
else if (VolumeMode == "sequence") {lots = BetSequence((int)Group, Symbol, mmSeqBaseLots, mmSeqOnLoss, mmSeqOnProfit, mmSeqReverse);}
lots = AlignLots(Symbol, lots, 0, VolumeUpperLimit);
datetime exp = ExpirationTime(ExpMode,ExpDays,ExpHours,ExpMinutes,_dExp_());
long ticket = SellNow(Symbol, lots, sll, tpl, slp, tpp, Slippage, (MagicStart+(int)Group), MyComment, ArrowColorSell, exp);
if (ticket > 0) {_callback_(1);} else {_callback_(0);}
}
};
template<typename T1,typename T2,typename T3,typename T4,typename T5,typename T6,typename T7,typename T8,typename T9,typename _T9_,typename T10,typename T11,typename T12,typename T13,typename T14,typename T15,typename T16,typename T17,typename T18,typename T19,typename T20,typename T21,typename T22,typename T23,typename T24,typename T25,typename T26,typename T27,typename T28,typename T29,typename T30,typename T31,typename T32,typename T33,typename T34,typename T35,typename _T35_,typename T36,typename _T36_,typename T37,typename _T37_,typename T38,typename T39,typename T40,typename T41,typename _T41_,typename T42,typename _T42_,typename T43,typename _T43_,typename T44,typename T45,typename T46,typename T47,typename T48,typename _T48_,typename T49,typename T50,typename T51>
class MDL_BuyNow: public BlockCalls
{
public: /* Input Parameters */
T1 Group;
T2 Symbol;
T3 VolumeMode;
T4 VolumeSize;
T5 VolumeSizeRisk;
T6 VolumeRisk;
T7 VolumePercent;
T8 VolumeBlockPercent;
T9 dVolumeSize; virtual _T9_ _dVolumeSize_(){return(_T9_)0;}
T10 FixedRatioUnitSize;
T11 FixedRatioDelta;
T12 mmMgInitialLots;
T13 mmMgMultiplyOnLoss;
T14 mmMgMultiplyOnProfit;
T15 mmMgAddLotsOnLoss;
T16 mmMgAddLotsOnProfit;
T17 mmMgResetOnLoss;
T18 mmMgResetOnProfit;
T19 mm1326InitialLots;
T20 mm1326Reverse;
T21 mmFiboInitialLots;
T22 mmDalembertInitialLots;
T23 mmDalembertReverse;
T24 mmLabouchereInitialLots;
T25 mmLabouchereList;
T26 mmLabouchereReverse;
T27 mmSeqBaseLots;
T28 mmSeqOnLoss;
T29 mmSeqOnProfit;
T30 mmSeqReverse;
T31 VolumeUpperLimit;
T32 StopLossMode;
T33 StopLossPips;
T34 StopLossPercentTP;
T35 dlStopLoss; virtual _T35_ _dlStopLoss_(){return(_T35_)0;}
T36 dpStopLoss; virtual _T36_ _dpStopLoss_(){return(_T36_)0;}
T37 ddStopLoss; virtual _T37_ _ddStopLoss_(){return(_T37_)0;}
T38 TakeProfitMode;
T39 TakeProfitPips;
T40 TakeProfitPercentSL;
T41 dlTakeProfit; virtual _T41_ _dlTakeProfit_(){return(_T41_)0;}
T42 dpTakeProfit; virtual _T42_ _dpTakeProfit_(){return(_T42_)0;}
T43 ddTakeProfit; virtual _T43_ _ddTakeProfit_(){return(_T43_)0;}
T44 ExpMode;
T45 ExpDays;
T46 ExpHours;
T47 ExpMinutes;
T48 dExp; virtual _T48_ _dExp_(){return(_T48_)0;}
T49 Slippage;
T50 MyComment;
T51 ArrowColorBuy;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDL_BuyNow()
{
Group = (string)"";
Symbol = (string)CurrentSymbol();
VolumeMode = (string)"fixed";
VolumeSize = (double)0.1;
VolumeSizeRisk = (double)50.0;
VolumeRisk = (double)2.5;
VolumePercent = (double)100.0;
VolumeBlockPercent = (double)3.0;
FixedRatioUnitSize = (double)0.01;
FixedRatioDelta = (double)20.0;
mmMgInitialLots = (double)0.1;
mmMgMultiplyOnLoss = (double)2.0;
mmMgMultiplyOnProfit = (double)1.0;
mmMgAddLotsOnLoss = (double)0.0;
mmMgAddLotsOnProfit = (double)0.0;
mmMgResetOnLoss = (int)0;
mmMgResetOnProfit = (int)1;
mm1326InitialLots = (double)0.1;
mm1326Reverse = (bool)false;
mmFiboInitialLots = (double)0.1;
mmDalembertInitialLots = (double)0.1;
mmDalembertReverse = (bool)false;
mmLabouchereInitialLots = (double)0.1;
mmLabouchereList = (string)"1,2,3,4,5,6";
mmLabouchereReverse = (bool)false;
mmSeqBaseLots = (double)0.1;
mmSeqOnLoss = (string)"3,2,6";
mmSeqOnProfit = (string)"1";
mmSeqReverse = (bool)false;
VolumeUpperLimit = (double)0.0;
StopLossMode = (string)"fixed";
StopLossPips = (double)50.0;
StopLossPercentTP = (double)100.0;
TakeProfitMode = (string)"fixed";
TakeProfitPips = (double)50.0;
TakeProfitPercentSL = (double)100.0;
ExpMode = (string)"GTC";
ExpDays = (int)0;
ExpHours = (int)1;
ExpMinutes = (int)0;
Slippage = (ulong)4;
MyComment = (string)"";
ArrowColorBuy = (color)clrBlue;
}
public: /* The main method */
virtual void _execute_()
{
double sll = 0, slp = 0, tpl = 0, tpp = 0;
if (StopLossMode == "fixed") {slp = StopLossPips;}
else if (StopLossMode == "dynamicPips") {slp = _dpStopLoss_();}
else if (StopLossMode == "dynamicDigits") {slp = toPips(_ddStopLoss_(),Symbol);}
else if (StopLossMode == "dynamicLevel") {sll = _dlStopLoss_();}
if (TakeProfitMode == "fixed") {tpp = TakeProfitPips;}
else if (TakeProfitMode == "dynamicPips") {tpp = _dpTakeProfit_();}
else if (TakeProfitMode == "dynamicDigits") {tpp = toPips(_ddTakeProfit_(),Symbol);}
else if (TakeProfitMode == "dynamicLevel") {tpl = _dlTakeProfit_();}
if (StopLossMode == "percentTP") {
if (tpp > 0) {slp = tpp*StopLossPercentTP/100;}
if (tpl > 0) {slp = toPips(MathAbs(SymbolAsk(Symbol) - tpl), Symbol)*StopLossPercentTP/100;}
}
if (TakeProfitMode == "percentSL") {
if (slp > 0) {tpp = slp*TakeProfitPercentSL/100;}
if (sll > 0) {tpp = toPips(MathAbs(SymbolAsk(Symbol) - sll), Symbol)*TakeProfitPercentSL/100;}
}
double lots = 0;
double pre_sll = sll;
if (pre_sll == 0) {
pre_sll = SymbolAsk(Symbol);
}
double pre_sl_pips = toPips(SymbolAsk(Symbol)-(pre_sll-toDigits(slp,Symbol)), Symbol);
if (VolumeMode == "fixed") {lots = DynamicLots(Symbol, VolumeMode, VolumeSize);}
else if (VolumeMode == "block-equity") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-balance") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "block-freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumeBlockPercent);}
else if (VolumeMode == "equity") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "balance") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "freemargin") {lots = DynamicLots(Symbol, VolumeMode, VolumePercent);}
else if (VolumeMode == "equityRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "balanceRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "freemarginRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRisk") {lots = DynamicLots(Symbol, VolumeMode, VolumeSizeRisk, pre_sl_pips);}
else if (VolumeMode == "fixedRatio") {lots = DynamicLots(Symbol, VolumeMode, FixedRatioUnitSize, FixedRatioDelta);}
else if (VolumeMode == "dynamic") {lots = _dVolumeSize_();}
else if (VolumeMode == "1326") {lots = Bet1326((int)Group, Symbol, mm1326InitialLots, mm1326Reverse);}
else if (VolumeMode == "fibonacci") {lots = BetFibonacci((int)Group, Symbol, mmFiboInitialLots);}
else if (VolumeMode == "dalembert") {lots = BetDalembert((int)Group, Symbol, mmDalembertInitialLots, mmDalembertReverse);}
else if (VolumeMode == "labouchere") {lots = BetLabouchere((int)Group, Symbol, mmLabouchereInitialLots, mmLabouchereList, mmLabouchereReverse);}
else if (VolumeMode == "martingale") {lots = BetMartingale((int)Group, Symbol, mmMgInitialLots, mmMgMultiplyOnLoss, mmMgMultiplyOnProfit, mmMgAddLotsOnLoss, mmMgAddLotsOnProfit, mmMgResetOnLoss, mmMgResetOnProfit);}
else if (VolumeMode == "sequence") {lots = BetSequence((int)Group, Symbol, mmSeqBaseLots, mmSeqOnLoss, mmSeqOnProfit, mmSeqReverse);}
lots = AlignLots(Symbol, lots, 0, VolumeUpperLimit);
datetime exp = ExpirationTime(ExpMode,ExpDays,ExpHours,ExpMinutes,_dExp_());
long ticket = BuyNow(Symbol, lots, sll, tpl, slp, tpp, Slippage, (MagicStart+(int)Group), MyComment, ArrowColorBuy, exp);
if (ticket > 0) {_callback_(1);} else {_callback_(0);}
}
};
class MDLIC_value_value
{
public: /* Input Parameters */
double Value;
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDLIC_value_value()
{
Value = (double)1.0;
}
public: /* The main method */
double _execute_()
{
return Value;
}
};
class MDLIC_value_time
{
public: /* Input Parameters */
int ModeTime;
int TimeSource;
string TimeStamp;
int TimeCandleID;
string TimeMarket;
ENUM_TIMEFRAMES TimeCandleTimeframe;
int TimeComponentYear;
int TimeComponentMonth;
int TimeComponentDay;
int TimeComponentHour;
int TimeComponentMinute;
int TimeComponentSecond;
int ModeTimeShift;
int TimeShiftYears;
int TimeShiftMonths;
int TimeShiftWeeks;
int TimeShiftDays;
int TimeShiftHours;
int TimeShiftMinutes;
int TimeShiftSeconds;
bool TimeSkipWeekdays;
/* Static Parameters */
datetime retval;
datetime retval0;
int ModeTime0;
int smodeshift;
int years0;
int months0;
datetime Time[];
virtual void _callback_(int r) {return;}
public: /* Constructor */
MDLIC_value_time()
{
ModeTime = (int)0;
TimeSource = (int)0;
TimeStamp = (string)"00:00";
TimeCandleID = (int)1;
TimeMarket = (string)"";
TimeCandleTimeframe = (ENUM_TIMEFRAMES)0;
TimeComponentYear = (int)0;
TimeComponentMonth = (int)0;
TimeComponentDay = (int)0;
TimeComponentHour = (int)12;
TimeComponentMinute = (int)0;
TimeComponentSecond = (int)0;
ModeTimeShift = (int)0;
TimeShiftYears = (int)0;
TimeShiftMonths = (int)0;
TimeShiftWeeks = (int)0;
TimeShiftDays = (int)0;
TimeShiftHours = (int)0;
TimeShiftMinutes = (int)0;
TimeShiftSeconds = (int)0;
TimeSkipWeekdays = (bool)false;
/* Static Parameters (initial value) */
retval = 0;
retval0 = 0;
ModeTime0 = 0;
smodeshift = 0;
years0 = 0;
months0 = 0;
}
public: /* The main method */
datetime _execute_()
{
if (ModeTime == 0)
{
if (TimeSource == 0) {retval = TimeCurrent();}
else if (TimeSource == 1) {retval = TimeLocal();}
else if (TimeSource == 2) {retval = TimeGMT();}
}
else if (ModeTime == 1)
{
retval = StringToTime(TimeStamp);
retval0 = retval;
}
else if (ModeTime==2)
{
retval = TimeFromComponents(TimeSource, TimeComponentYear, TimeComponentMonth, TimeComponentDay, TimeComponentHour, TimeComponentMinute, TimeComponentSecond);
}
else if (ModeTime == 3)
{
ArraySetAsSeries(Time,true);
CopyTime(TimeMarket,TimeCandleTimeframe,TimeCandleID,1,Time);
retval = Time[0];
}
if (ModeTimeShift > 0)
{
int sh = 1;
if (ModeTimeShift == 1) {sh = -1;}
if (
ModeTimeShift != smodeshift
|| TimeShiftYears != years0
|| TimeShiftMonths != months0
)
{
years0 = TimeShiftYears;
months0 = TimeShiftMonths;
if (TimeShiftYears > 0 || TimeShiftMonths > 0)
{
int year = 0, month = 0, week = 0, day = 0, hour = 0, minute = 0, second = 0;
if (ModeTime == 3)
{
year = TimeComponentYear;
month = TimeComponentYear;
day = TimeComponentDay;
hour = TimeComponentHour;
minute = TimeComponentMinute;
second = TimeComponentSecond;
}
else {
year = TimeYear(retval);
month = TimeMonth(retval);
day = TimeDay(retval);
hour = TimeHour(retval);
minute = TimeMinute(retval);
second = TimeSeconds(retval);
}
year = year + TimeShiftYears * sh;
month = month + TimeShiftMonths * sh;
if (month < 0) {month = 12 - month;}
else if (month > 12) {month = month - 12;}
retval = StringToTime(IntegerToString(year)+"."+IntegerToString(month)+"."+IntegerToString(day)+" "+IntegerToString(hour)+":"+IntegerToString(minute)+":"+IntegerToString(second));
}
}
retval = retval + TimeShiftWeeks*604800*sh + TimeShiftDays*86400*sh + TimeShiftHours*3600*sh + TimeShiftMinutes*60*sh + TimeShiftSeconds*sh;
if (TimeSkipWeekdays == true)
{
int weekday = TimeDayOfWeek(retval);
if (sh > 0) { // forward
if (weekday == 0) {retval = retval + 86400;}
else if (weekday == 6) {retval = retval + 172800;}
}
else if (sh < 0) { // back
if (weekday == 0) {retval = retval - 172800;}
else if (weekday == 6) {retval = retval - 86400;}
}
}
}
smodeshift = ModeTimeShift;
ModeTime0 = ModeTime;
return (datetime)retval;
}
};
class Block0: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block0() {
__block_number = 0;
__block_user_number = "1";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {61};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1";
BuysOrSells = "buys";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[61].run(0);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block1: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block1() {
__block_number = 1;
__block_user_number = "2";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {62};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1";
BuysOrSells = "sells";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[62].run(1);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block2: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block2() {
__block_number = 2;
__block_user_number = "3";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {65};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "2";
BuysOrSells = "buys";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[65].run(2);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block3: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block3() {
__block_number = 3;
__block_user_number = "4";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {66};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "2";
BuysOrSells = "sells";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[66].run(3);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block4: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block4() {
__block_number = 4;
__block_user_number = "5";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {68};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "3";
BuysOrSells = "buys";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[68].run(4);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block5: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block5() {
__block_number = 5;
__block_user_number = "6";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {69};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "3";
BuysOrSells = "sells";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[69].run(5);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block6: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block6() {
__block_number = 6;
__block_user_number = "7";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {72};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "4";
BuysOrSells = "buys";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[72].run(6);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block7: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block7() {
__block_number = 7;
__block_user_number = "8";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {73};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "4";
BuysOrSells = "sells";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[73].run(7);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block8: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block8() {
__block_number = 8;
__block_user_number = "9";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {75};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "5";
BuysOrSells = "buys";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[75].run(8);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block9: public MDL_eTrade_TradeClosed<string,string,string,string,string,string,int>
{
public: /* Constructor */
Block9() {
__block_number = 9;
__block_user_number = "10";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {76};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "5";
BuysOrSells = "sells";
CloseMode = "sl";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[76].run(9);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block10: public MDL_eTrade_TradeNew<string,string,string,string,string>
{
public: /* Constructor */
Block10() {
__block_number = 10;
__block_user_number = "11";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {44};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[44].run(10);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block11: public MDL_eTrade_TradeNew<string,string,string,string,string>
{
public: /* Constructor */
Block11() {
__block_number = 11;
__block_user_number = "12";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {18};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "2";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[18].run(11);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block12: public MDL_eTrade_TradeNew<string,string,string,string,string>
{
public: /* Constructor */
Block12() {
__block_number = 12;
__block_user_number = "13";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {40};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "3";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[40].run(12);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block13: public MDL_eTrade_TradeNew<string,string,string,string,string>
{
public: /* Constructor */
Block13() {
__block_number = 13;
__block_user_number = "14";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {45};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "4";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[45].run(13);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block14: public MDL_eTrade_TradeNew<string,string,string,string,string>
{
public: /* Constructor */
Block14() {
__block_number = 14;
__block_user_number = "15";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {50};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[50].run(14);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block15: public MDL_BuyPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block15() {
__block_number = 15;
__block_user_number = "18";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "2";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_2Offset;
mmMgInitialLots = (double)c::_2Volume;
mmMgMultiplyOnLoss = (double)c::_2MultiplyOnLoss;
StopLossPips = (double)c::_2StopLoss;
TakeProfitPips = (double)c::_2TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block16: public MDL_NoPendingOrders<string,string,string,string,string,string>
{
public: /* Constructor */
Block16() {
__block_number = 16;
__block_user_number = "23";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {54};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[54].run(16);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block17: public MDL_SellPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block17() {
__block_number = 17;
__block_user_number = "24";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "1";
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_1Offset;
VolumeSize = (double)c::_1Volume;
StopLossPips = (double)c::_1StopLoss;
TakeProfitPips = (double)c::_1TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block18: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block18() {
__block_number = 18;
__block_user_number = "27";
int ___outbound_blocks[1] = {22};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "2";
FlagValue = false;
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[22].run(18);
}
}
};
class Block19: public MDL_Pass
{
public: /* Constructor */
Block19() {
__block_number = 19;
__block_user_number = "30";
int ___outbound_blocks[1] = {39};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[39].run(19);
}
}
};
class Block20: public MDL_CheckOrdersCount<string,int,string,string,string,string,string,string>
{
public: /* Constructor */
Block20() {
__block_number = 20;
__block_user_number = "31";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {21};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Compare = ">=";
CompareCount = 1;
Group = "2";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[21].run(20);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block21: public MDL_DeletePendingOrders<string,string,string,string,string,string,color>
{
public: /* Constructor */
Block21() {
__block_number = 21;
__block_user_number = "32";
_beforeExecuteEnabled = true;
Group = "2";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
ArrowColor = (color)clrDeepPink;
}
};
class Block22: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block22() {
__block_number = 22;
__block_user_number = "34";
int ___outbound_blocks[1] = {20};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "3";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[20].run(22);
}
}
};
class Block23: public MDL_SellPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block23() {
__block_number = 23;
__block_user_number = "35";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "3";
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_3Offset;
VolumeSize = (double)c::_3Volume;
StopLossPips = (double)c::_3StoppLoss;
TakeProfitPips = (double)c::_3TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block24: public MDL_FlagCheckB<string,bool>
{
public: /* Constructor */
Block24() {
__block_number = 24;
__block_user_number = "36";
int ___outbound_blocks[1] = {26};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "3";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[26].run(24);
}
}
};
class Block25: public MDL_Pass
{
public: /* Constructor */
Block25() {
__block_number = 25;
__block_user_number = "40";
int ___outbound_blocks[1] = {74};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[74].run(25);
}
}
};
class Block26: public MDL_NoPendingOrders<string,string,string,string,string,string>
{
public: /* Constructor */
Block26() {
__block_number = 26;
__block_user_number = "45";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {57};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[57].run(26);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block27: public MDL_BuyPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block27() {
__block_number = 27;
__block_user_number = "46";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "3";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_3Offset;
mmMgInitialLots = (double)c::_3Volume;
mmMgMultiplyOnLoss = (double)c::_3MultiplyOnLoss;
StopLossPips = (double)c::_3StoppLoss;
TakeProfitPips = (double)c::_3TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block28: public MDL_Pass
{
public: /* Constructor */
Block28() {
__block_number = 28;
__block_user_number = "50";
int ___outbound_blocks[1] = {24};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[24].run(28);
}
}
};
class Block29: public MDL_SellPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block29() {
__block_number = 29;
__block_user_number = "51";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "4";
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_4Offset;
VolumeSize = (double)c::_4Volume;
StopLossPips = (double)c::_4StoppLoss;
TakeProfitPips = (double)c::_4TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block30: public MDL_FlagCheckB<string,bool>
{
public: /* Constructor */
Block30() {
__block_number = 30;
__block_user_number = "52";
int ___outbound_blocks[1] = {33};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "4";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[33].run(30);
}
}
};
class Block31: public MDL_BuyPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block31() {
__block_number = 31;
__block_user_number = "56";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "4";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_4Offset;
mmMgInitialLots = (double)c::_4Volume;
mmMgMultiplyOnLoss = (double)c::_4MultiplyOnLoss;
StopLossPips = (double)c::_4StoppLoss;
TakeProfitPips = (double)c::_4TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block32: public MDL_Pass
{
public: /* Constructor */
Block32() {
__block_number = 32;
__block_user_number = "60";
int ___outbound_blocks[1] = {30};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[30].run(32);
}
}
};
class Block33: public MDL_NoPendingOrders<string,string,string,string,string,string>
{
public: /* Constructor */
Block33() {
__block_number = 33;
__block_user_number = "61";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {55};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[55].run(33);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block34: public MDL_Pass
{
public: /* Constructor */
Block34() {
__block_number = 34;
__block_user_number = "70";
int ___outbound_blocks[1] = {36};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[36].run(34);
}
}
};
class Block35: public MDL_SellPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block35() {
__block_number = 35;
__block_user_number = "73";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "5";
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_5Offset;
VolumeSize = (double)c::_5Volume;
StopLossPips = (double)c::_5StoppLoss;
TakeProfitPips = (double)c::_5TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block36: public MDL_FlagCheckB<string,bool>
{
public: /* Constructor */
Block36() {
__block_number = 36;
__block_user_number = "74";
int ___outbound_blocks[1] = {38};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[38].run(36);
}
}
};
class Block37: public MDL_BuyPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block37() {
__block_number = 37;
__block_user_number = "78";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "5";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_5Offset;
mmMgInitialLots = (double)c::_5Volume;
mmMgMultiplyOnLoss = (double)c::_5MultiplyOnLoss;
StopLossPips = (double)c::_5StoppLoss;
TakeProfitPips = (double)c::_5TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block38: public MDL_NoPendingOrders<string,string,string,string,string,string>
{
public: /* Constructor */
Block38() {
__block_number = 38;
__block_user_number = "83";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {58};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[58].run(38);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block39: public MDL_FlagCheckB<string,bool>
{
public: /* Constructor */
Block39() {
__block_number = 39;
__block_user_number = "84";
int ___outbound_blocks[1] = {70};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[70].run(39);
}
}
};
class Block40: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block40() {
__block_number = 40;
__block_user_number = "109";
int ___outbound_blocks[1] = {43};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "3";
FlagValue = false;
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[43].run(40);
}
}
};
class Block41: public MDL_CheckOrdersCount<string,int,string,string,string,string,string,string>
{
public: /* Constructor */
Block41() {
__block_number = 41;
__block_user_number = "113";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {42};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Compare = ">=";
CompareCount = 1;
Group = "3";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[42].run(41);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block42: public MDL_DeletePendingOrders<string,string,string,string,string,string,color>
{
public: /* Constructor */
Block42() {
__block_number = 42;
__block_user_number = "114";
_beforeExecuteEnabled = true;
Group = "3";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
ArrowColor = (color)clrDeepPink;
}
};
class Block43: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block43() {
__block_number = 43;
__block_user_number = "116";
int ___outbound_blocks[1] = {41};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "4";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[41].run(43);
}
}
};
class Block44: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block44() {
__block_number = 44;
__block_user_number = "117";
int ___outbound_blocks[1] = {67};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "1";
FlagValue = false;
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[67].run(44);
}
}
};
class Block45: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block45() {
__block_number = 45;
__block_user_number = "223";
int ___outbound_blocks[1] = {48};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "4";
FlagValue = false;
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[48].run(45);
}
}
};
class Block46: public MDL_CheckOrdersCount<string,int,string,string,string,string,string,string>
{
public: /* Constructor */
Block46() {
__block_number = 46;
__block_user_number = "227";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {47};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Compare = ">=";
CompareCount = 1;
Group = "4";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[47].run(46);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block47: public MDL_DeletePendingOrders<string,string,string,string,string,string,color>
{
public: /* Constructor */
Block47() {
__block_number = 47;
__block_user_number = "228";
_beforeExecuteEnabled = true;
Group = "4";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
ArrowColor = (color)clrDeepPink;
}
};
class Block48: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block48() {
__block_number = 48;
__block_user_number = "230";
int ___outbound_blocks[1] = {46};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[46].run(48);
}
}
};
class Block49: public MDL_Pass
{
public: /* Constructor */
Block49() {
__block_number = 49;
__block_user_number = "231";
int ___outbound_blocks[1] = {59};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[59].run(49);
}
}
};
class Block50: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block50() {
__block_number = 50;
__block_user_number = "450";
int ___outbound_blocks[1] = {53};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "5";
FlagValue = false;
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[53].run(50);
}
}
};
class Block51: public MDL_CheckOrdersCount<string,int,string,string,string,string,string,string>
{
public: /* Constructor */
Block51() {
__block_number = 51;
__block_user_number = "454";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {52};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Compare = ">=";
CompareCount = 1;
Group = "5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[52].run(51);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block52: public MDL_DeletePendingOrders<string,string,string,string,string,string,color>
{
public: /* Constructor */
Block52() {
__block_number = 52;
__block_user_number = "455";
_beforeExecuteEnabled = true;
Group = "5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
ArrowColor = (color)clrDeepPink;
}
};
class Block53: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block53() {
__block_number = 53;
__block_user_number = "457";
int ___outbound_blocks[1] = {51};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[51].run(53);
}
}
};
class Block54: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block54() {
__block_number = 54;
__block_user_number = "458";
_beforeExecuteEnabled = true;
int ___outbound_blocks[2] = {15,71};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[15].run(54);
_blocks_[71].run(54);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block55: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block55() {
__block_number = 55;
__block_user_number = "459";
_beforeExecuteEnabled = true;
int ___outbound_blocks[2] = {29,31};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[29].run(55);
_blocks_[31].run(55);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block56: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block56() {
__block_number = 56;
__block_user_number = "460";
_beforeExecuteEnabled = true;
int ___outbound_blocks[2] = {17,60};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[17].run(56);
_blocks_[60].run(56);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block57: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block57() {
__block_number = 57;
__block_user_number = "461";
_beforeExecuteEnabled = true;
int ___outbound_blocks[2] = {23,27};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[23].run(57);
_blocks_[27].run(57);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block58: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block58() {
__block_number = 58;
__block_user_number = "462";
_beforeExecuteEnabled = true;
int ___outbound_blocks[2] = {35,37};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[35].run(58);
_blocks_[37].run(58);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block59: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block59() {
__block_number = 59;
__block_user_number = "463";
FlagName = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
};
class Block60: public MDL_BuyPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block60() {
__block_number = 60;
__block_user_number = "464";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "1";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_1Offset;
mmMgInitialLots = (double)c::_1Volume;
mmMgMultiplyOnLoss = (double)c::_1MultiplyOnLoss;
StopLossPips = (double)c::_1StopLoss;
TakeProfitPips = (double)c::_1TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block61: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block61() {
__block_number = 61;
__block_user_number = "465";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {77};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[77].run(61);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block62: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block62() {
__block_number = 62;
__block_user_number = "466";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {78};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[78].run(62);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block63: public MDL_CheckOrdersCount<string,int,string,string,string,string,string,string>
{
public: /* Constructor */
Block63() {
__block_number = 63;
__block_user_number = "467";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {64};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Compare = ">=";
CompareCount = 1;
Group = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[64].run(63);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block64: public MDL_DeletePendingOrders<string,string,string,string,string,string,color>
{
public: /* Constructor */
Block64() {
__block_number = 64;
__block_user_number = "468";
_beforeExecuteEnabled = true;
Group = "1";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
ArrowColor = (color)clrDeepPink;
}
};
class Block65: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block65() {
__block_number = 65;
__block_user_number = "926";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {79};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[79].run(65);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block66: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block66() {
__block_number = 66;
__block_user_number = "927";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {80};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[80].run(66);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block67: public MDL_FlagSetB<string,bool>
{
public: /* Constructor */
Block67() {
__block_number = 67;
__block_user_number = "929";
int ___outbound_blocks[1] = {63};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "2";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[63].run(67);
}
}
};
class Block68: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block68() {
__block_number = 68;
__block_user_number = "1846";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {81};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[81].run(68);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block69: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block69() {
__block_number = 69;
__block_user_number = "1847";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {82};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[82].run(69);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block70: public MDL_NoPendingOrders<string,string,string,string,string,string>
{
public: /* Constructor */
Block70() {
__block_number = 70;
__block_user_number = "1848";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {56};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[56].run(70);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block71: public MDL_SellPending<string,string,string,MDLIC_value_value,double,double,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,int,ulong,string,color>
{
public: /* Constructor */
Block71() {
__block_number = 71;
__block_user_number = "1849";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
ddTakeProfit.Value = 0.01;
dpTakeProfit.Value = 100.0;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "2";
}
public: /* Custom methods */
virtual double _dPrice_() {return dPrice._execute_();}
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
PriceOffset = (double)c::_2Offset;
VolumeSize = (double)c::_2Volume;
StopLossPips = (double)c::_2StopLoss;
TakeProfitPips = (double)c::_2TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block72: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block72() {
__block_number = 72;
__block_user_number = "2766";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {83};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[83].run(72);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block73: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block73() {
__block_number = 73;
__block_user_number = "2767";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {84};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[84].run(73);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block74: public MDL_FlagCheckB<string,bool>
{
public: /* Constructor */
Block74() {
__block_number = 74;
__block_user_number = "2768";
int ___outbound_blocks[1] = {16};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
FlagName = "2";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[16].run(74);
}
}
};
class Block75: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block75() {
__block_number = 75;
__block_user_number = "3686";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {85};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[85].run(75);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block76: public MDL_NoOpenedOrders<string,string,string,string,string>
{
public: /* Constructor */
Block76() {
__block_number = 76;
__block_user_number = "3687";
_beforeExecuteEnabled = true;
int ___outbound_blocks[1] = {86};
ArrayCopy(__outbound_blocks, ___outbound_blocks);
Group = "1,2,3,4,5";
}
public: /* Callback & Run */
virtual void _callback_(int value) {
if (value == 1) {
_blocks_[86].run(76);
}
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
}
};
class Block77: public MDL_SellNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block77() {
__block_number = 77;
__block_user_number = "3688";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "1";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_1Volume;
mmMgMultiplyOnLoss = (double)c::_1MultiplyOnLoss;
StopLossPips = (double)c::_1StopLoss;
TakeProfitPips = (double)c::_1TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block78: public MDL_BuyNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block78() {
__block_number = 78;
__block_user_number = "3689";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "1";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_1Volume;
mmMgMultiplyOnLoss = (double)c::_1MultiplyOnLoss;
StopLossPips = (double)c::_1StopLoss;
TakeProfitPips = (double)c::_1TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block79: public MDL_SellNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block79() {
__block_number = 79;
__block_user_number = "3690";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "2";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_2Volume;
mmMgMultiplyOnLoss = (double)c::_2MultiplyOnLoss;
StopLossPips = (double)c::_2StopLoss;
TakeProfitPips = (double)c::_2TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block80: public MDL_BuyNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block80() {
__block_number = 80;
__block_user_number = "3691";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "2";
VolumeMode = "martingale";
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
VolumeSize = (double)_externs::inp3691_VolumeSize;
mmMgInitialLots = (double)c::_2Volume;
mmMgMultiplyOnLoss = (double)c::_2MultiplyOnLoss;
StopLossPips = (double)c::_2StopLoss;
TakeProfitPips = (double)c::_2TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block81: public MDL_SellNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block81() {
__block_number = 81;
__block_user_number = "3692";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "3";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_3Volume;
mmMgMultiplyOnLoss = (double)c::_3MultiplyOnLoss;
StopLossPips = (double)c::_3StoppLoss;
TakeProfitPips = (double)c::_3TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block82: public MDL_BuyNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block82() {
__block_number = 82;
__block_user_number = "3693";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "3";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_3Volume;
mmMgMultiplyOnLoss = (double)c::_2MultiplyOnLoss;
StopLossPips = (double)c::_3StoppLoss;
TakeProfitPips = (double)c::_3TakeProfit;
ArrowColorBuy = (color)clrBlue;
}
};
class Block83: public MDL_SellNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block83() {
__block_number = 83;
__block_user_number = "3694";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "4";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return dVolumeSize._execute_();}
virtual double _dlStopLoss_() {return dlStopLoss._execute_();}
virtual double _dpStopLoss_() {return dpStopLoss._execute_();}
virtual double _ddStopLoss_() {return ddStopLoss._execute_();}
virtual double _dlTakeProfit_() {return dlTakeProfit._execute_();}
virtual double _dpTakeProfit_() {return dpTakeProfit._execute_();}
virtual double _ddTakeProfit_() {return ddTakeProfit._execute_();}
virtual datetime _dExp_() {return dExp._execute_();}
public: /* Callback & Run */
virtual void _callback_(int value) {
}
virtual void _beforeExecute_()
{
Symbol = (string)CurrentSymbol();
mmMgInitialLots = (double)c::_4Volume;
mmMgMultiplyOnLoss = (double)c::_4MultiplyOnLoss;
StopLossPips = (double)c::_4StoppLoss;
TakeProfitPips = (double)c::_4TakeProfit;
ArrowColorSell = (color)clrRed;
}
};
class Block84: public MDL_BuyNow<string,string,string,double,double,double,double,double,MDLIC_value_value,double,double,double,double,double,double,double,double,int,int,double,bool,double,double,bool,double,string,bool,double,string,string,bool,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,double,double,MDLIC_value_value,double,MDLIC_value_value,double,MDLIC_value_value,double,string,int,int,int,MDLIC_value_time,datetime,ulong,string,color>
{
public: /* Constructor */
Block84() {
__block_number = 84;
__block_user_number = "3695";
_beforeExecuteEnabled = true;
dVolumeSize.Value = 0.1;
dpStopLoss.Value = 100.0;
ddStopLoss.Value = 0.01;
dpTakeProfit.Value = 100.0;
ddTakeProfit.Value = 0.01;
dExp.ModeTimeShift = 2;
dExp.TimeShiftDays = 1;
dExp.TimeSkipWeekdays = true;
Group = "4";
VolumeMode = "martingale";
VolumeSize = 0.01;
mmMgMultiplyOnProfit = 0.0;
}
public: /* Custom methods */
virtual double _dVolumeSize_() {return Показано первые 50% кода (символов: 194197)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.