h4_breakout_cycle_v1a.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «h4_breakout_cycle_v1a.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
H4 Break Out Cycle V1a — советник для MetaTrader 4, работающий на таймфрейме H4 и анализирующий ценовые данные с использованием скользящих средних (EMA, SMA, LWMA), полос Боллинджера и уровней высоких/низких свечей на нескольких таймфреймах. Поддерживает длинные и короткие позиции с управлением рисками через стоп-лосс и тейк-профит в пипсах, расчёт лота по проценту риска или по балансу/эквити счёта. Встроены модуль управления позицией (брейк-эвен, трейлинг-стоп, прыжковый стоп, частичное закрытие), фильтрация по торговым часам, проверка спреда и защита от подозрительной активности.
Настройки программы
| Настройка | Описание |
|---|---|
| gen | Общие входы — Текстовый заголовок раздела общих настроек советника. |
| TradingTimeFrame | Таймфрейм торговли — Выбор таймфрейма для анализа ценовых данных и формирования сигналов; используется во всех вызовах индикаторов и функций цены. |
| EveryTickMode | Режим каждого тика — Если включён, советник пересчитывает сигналы на каждом тике; если выключен — только при открытии новой свечи выбранного таймфрейма. |
| Lot | Лот — Фиксированный размер лота для открытия сделок, используется когда расчёт по проценту риска отключён. |
| Set to zero to disable and use Lot (RiskPercent) | Процент риска — Процент свободного маржи, который советник рискует на одну сделку; при нулевом значении используется фиксированный лот Lot. |
| Over rides Lot. Zero input to cancel. (LotsPerDollopOfCash) | Лотов на денежную единицу — Размер лота на каждую денежную единицу баланса/эквити; переопределяет фиксированный Lot при ненулевом значении. |
| SizeOfDollop | Размер денежной единицы — Номинал денежной единицы для расчёта лота по балансу счёта (например, 1000 означает расчёт на каждые 1000 единиц средств). |
| UseBalance | Использовать баланс — Флаг использования баланса счёта (а не эквити) при расчёте размера лота через LotsPerDollopOfCash. |
| UseEquity | Использовать эквити — Флаг использования эквити счёта при расчёте размера лота через LotsPerDollopOfCash. |
| StopTrading | Остановить торговлю — Если включён, советник прекращает открытие новых сделок, но продолжает управлять существующими позициями. |
| Setup007 | Настройка 007 — Включает режим раннего открытия позиции в понедельник в указанный часовой интервал на основе анализа ценовых уровней H4. |
| TradeLong | Торговля в лонг — Разрешает советнику открывать длинные (покупку) позиции. |
| TradeShort | Торговля в шорт — Разрешает советнику открывать короткие (продажу) позиции. |
| TakeProfitPips | Тейк-профит в пипсах — Размер тейк-профита в пипсах для новых сделок. |
| StopLossPips | Стоп-лосс в пипсах — Размер стоп-лосса в пипсах для новых сделок; при нулевом значении стоп-лосс не устанавливается. |
| BasketTrail | Трейлинг корзины — Включает трейлинг-стоп для группы позиций (корзины сделок). |
| MagicNumber | Магический номер — Уникальный идентификатор ордеров советника для фильтрации своих сделок и ордеров. |
| TradeComment | Комментарий к сделке — Текстовый комментарий, добавляемый к каждой открытой сделке. |
| IsGlobalPrimeOrECNCriminal | Глобальный прайм или ECN — Флаг для работы с ECN/прайм-брокерами: при включении используется двухэтапная отправка ордера (без TP/SL, затем модификация). |
| MaxSlippagePips | Максимальный проскальзывание — Допустимое проскальзывание в пипсах при отправке рыночных ордеров. |
| Defaults to 10 minutes (PostTradeAttemptWaitSeconds) | Пауза после попытки торговли — Время в секундах ожидания перед повторной попыткой торговли после неудачной отправки ордера. |
| sep2c | Разделитель — Текстовый разделитель визуального блока настроек в интерфейсе советника. |
| mpp | Минимальные пипсы между сделками — Текстовый заголовок раздела настройки минимального расстояния между сделками по одному инструменту. |
| MinDistanceBetweenTradesPips | Минимальное расстояние между сделками — Минимальное расстояние в пипсах между ценой открытия новой сделки и ценой открытия существующей сделки того же направления. |
| sep1 | Разделитель HGI — Текстовый разделитель визуального блока настроек HGI в интерфейсе советника. |
| hgic | Выбор HGI — Текстовый заголовок раздела настроек Hidden Grid Indicator (HGI) для закрытия сделок. |
| hgi | Входы HGI — Текстовый заголовок раздела входных параметров HGI в интерфейсе советника. |
| HgiTimeFrame | Таймфрейм HGI — Таймфрейм для получения сигналов Hidden Grid Indicator, используемых для закрытия сделок. |
| CloseOnLargeArrows | Закрывать на крупные стрелки — Если включён, советник закрывает сделки при получении сигнала tradable up/down arrow от HGI. |
| CloseOnBlueWavy | Закрывать на синюю волну — Если включён, советник закрывает сделки при получении сигнала blue wavy long/short от HGI. |
Поиск по коду файла
#define version "Version 1a"
#include <WinUser32.mqh>
#include <stdlib.mqh>
#define NL "\n"
#define up "Up"
#define down "Down"
#define ranging "Ranging"
#define none "None"
#define both "Both"
#define buy "Buy"
#define sell "Sell"
enum SIGNAL {NONE=0,TRENDUP=1,TRENDDN=2,RANGEUP=3,RANGEDN=4,RADUP=5,RADDN=6};
enum SLOPE {UNDEFINED=0,RANGEABOVE=1,RANGEBELOW=2,TRENDABOVE=3,TRENDBELOW=4};
#import
#define hginoarrow ": No relevant signal"
#define hgiuparrowtradable ": Tradable up arrow"
#define hgidownarrowtradable ": Tradable down arrow"
#define hgiuparrowuntradable ": Untradable up arrow"
#define hgidownarrowuntradable ": Untradable down arrow"
#define hgiupradarrowtradable ": Tradable Rad up arrow"
#define hgidownradarrowtradable ": Tradable Rad down arrow"
#define hgiupradarrowuntradable ": Untradable Rad up arrow"
#define hgidownradarrowuntradable ": Untradable Rad down arrow"
#define hgibluewavylong ": Blue wavy long"
#define hgibluewavyshort ": Blue wavy short"
#define AllTrades 10 //Tells CloseAllTrades() to close/delete everything
#define million 1000000;
#define TradeTicket 1
#define pendingpriceline "Pending price line"
#define TpPrefix "Tp"
#define SlPrefix "Sl"
#define slm " stop loss modification failed with error "
#define tpm " take profit modification failed with error "
#define ocm " order close failed with error "
#define odm " order delete failed with error "
#define pcm " part close failed with error "
#define spm " shirt-protection close failed with error "
#define slim " stop loss insertion failed with error "
#define tpim " take profit insertion failed with error "
#define tpsl " take profit or stop loss insertion failed with error "
#define oop " pending order price modification failed with error "
/*
Matt Kennel has provided the code for bool O_R_CheckForHistory(int ticket). Cheers Matt, You are a star.
Code for adding debugging Sleep
Alert("G");
int x = 0;
while (x == 0) Sleep(100);
or
Alert("Y");
RemoveExpert = true;
ExpertRemove();
return;
Standard order loop code
for (int cc = OrdersTotal() - 1; cc >= 0; cc--)
{
if (!BetterOrderSelect(cc, SELECT_BY_POS) ) continue;
if (OrderSymbol() != Symbol() ) continue;
if (OrderMagicNumber() != MagicNumber) continue;
}//for (int cc = OrdersTotal() - 1; cc >= 0; cc--)
Code from George, to detect the shift of an order open time
int shift = iBarShift(NULL,Period(),OrderOpenTime(), false);
To calculate what percentage a small number is of a larger one:
(Given amount Divided by Total amount) x100 = %
as in UpperWickPercentage = (UpperWick / CandleSize) * 100; where CandleSize is the size of the the candle and UpperWick the size of the top of the body to the High.
Example of iHighest and iLowest
double high = iHigh( Symbol(), TradingTimeFrame, iHighest( Symbol(), TradingTimeFrame, MODE_HIGH, 24, 1 ) );
double low = iLow( Symbol(), TradingTimeFrame, iLowest( Symbol(), TradingTimeFrame, MODE_LOW, 24, 1 ) );
Full snippet to force closure of all open trades. Use whichever part is most appropriate.
if (ForceTradeClosure)
{
CloseAllTrades();
if (ForceTradeClosure)
{
CloseAllTrades();
if (ForceTradeClosure)
{
return;
}//if (ForceTradeClosure)
}//if (ForceTradeClosure)
}//if (ForceTradeClosure)
*/
extern string gen="----General inputs----";
/*
Note to coders about TradingTimeFrame. Be consistent in your calls to indicators etc and always use TradingTimeFrame i.e.
double v = iClose(Symbol(), TradingTimeFrame, shift) instead of Close[shift].
This allows the user to change time frames without disturbing the ea. There is a line of code in OnInit(), just above the call
to DisplayUserFeedback() that forces the EA to wait until the open of a new TradingTimeFrame candle; you might want to comment
this out during your EA development.
*/
extern ENUM_TIMEFRAMES TradingTimeFrame=PERIOD_CURRENT;
extern bool EveryTickMode=true;
extern double Lot=0.02;
extern double RiskPercent=0;//Set to zero to disable and use Lot
extern double LotsPerDollopOfCash=0;//Over rides Lot. Zero input to cancel.
extern double SizeOfDollop=1000;
extern bool UseBalance=false;
extern bool UseEquity=true;
extern bool StopTrading=false;
extern bool Setup007=true;
extern bool TradeLong=true;
extern bool TradeShort=true;
extern int TakeProfitPips=60;
extern int StopLossPips=0;
extern bool BasketTrail=false;
extern int MagicNumber=0;
extern string TradeComment="H4_BreakOut_Cycle";
extern bool IsGlobalPrimeOrECNCriminal=false;
extern double MaxSlippagePips=5;
extern int PostTradeAttemptWaitSeconds=2;//Defaults to 10 minutes
datetime TimeToStartTrading=0;//Re-start calling LookForTradingOpportunities() at this time.
double TakeProfit, StopLoss;
datetime OldBarsTime;
double dPriceFloor = 0, dPriceCeiling = 0;//Next x0 numbers
double PriceCeiling100 = 0, PriceFloor100 = 0;// Next 'big' numbers
string GvName="Under management flag";//The name of the GV that tells the EA not to send trades whilst the manager is closing them.
string LocalGvName = "Local closure in operation " + Symbol();
string NuclearGvName = "Nuclear option closure in operation " + Symbol();
string TradingTimeFrameDisplay="";
int FifoTicket[];//Array to store trade ticket numbers in FIFO mode, to cater for
double ForceCloseTickets[];
bool RemoveExpert=false;
double MinDistanceBetweenTrades=0;
extern string sep2c="================================================================";
extern string mpp="---- Minimum pips in between same-pair trades ----";
extern int MinDistanceBetweenTradesPips=7;
extern string sep1="================================================================";
extern string hgic="======== HGI choices ========";
extern string hgi="-- HGI Inputs --";
extern ENUM_TIMEFRAMES HgiTimeFrame=PERIOD_M5;
extern bool CloseOnLargeArrows=false;
extern bool CloseOnBlueWavy=false;
extern bool OnlyCloseWinningTrades=false;
string HgiStatus;//Constants defined at top of file//Amended HGI code
string HgiTimeFrameDisplay="";
extern string sep2="================================================================";
bool Hedged=false;
extern string sepb="================================================================";
extern string off="---- Offsetting ----";
extern bool UseOffsetting=false;//Simple offset and double-sided complex offset
extern bool AllowComplexSingleSidedOffsets=false;//Allow complex single-sided offset. Not allowed if UseOffsetting = false
extern int MinOpenTradesToStartOffset=3;//Only use offsetting if there are at least this number of trades in the group
extern string sep2a="================================================================";
extern string ubp="---- Unbalanced positions inputs ----";
extern int PositionIsUnbalancedAt=7;//The difference between open buys and sells to constitute an unbalanced position.
extern string rec="-- Offsetting for unbalanced positions --";
extern bool UseOffsettingForBalanceRecovery=false;
extern bool AllowComplexSingleSidedOffsetsRecovery=false;//Allow complex single-sided offset. Not allowed if UseOffsetting = false
extern int MinTradesToStartUnbalancedOffset=6;
extern string nco="-- Nuclear option closure --";
extern bool UseInstantClosure=false;//Close the position the moment it becomes unbalanced.
extern bool UseMarginLevelClosure=false;//Only close when the margin level drops
extern int ClosureMarginLevel=500; //to this point.
bool AllowTradeManagement=true, Unbalanced=false;
extern string sep1a="================================================================";
extern string sfs="----SafetyFeature----";
extern int MinMinutesBetweenTradeOpenClose=0;//For spotting possible rogue trades
extern int MinMinutesBetweenTrades=0;//Minimum time to pass after a trade closes, until the ea can open another.
bool SafetyViolation;//For chart display
bool RobotSuspended=false;
extern string sep3="================================================================";
extern string hts="----Stealth stop loss and take profit inputs----";
extern int PipsHiddenFromCriminal=0;//Added to the 'hard' sl and tp and used for closure calculations
double HiddenStopLoss,HiddenTakeProfit;
double HiddenPips=0;//Added to the 'hard' sl and tp and used for closure calculations
extern string sep7="================================================================";
extern string trh = "----Trading hours----";
extern string tr1 = "tradingHours is a comma delimited list";
extern string tr1a="of start and stop times.";
extern string tr2="Prefix start with '+', stop with '-'";
extern string tr2a="Use 24H format, local time.";
extern string tr3="Example: '+07.00,-10.30,+14.15,-16.00'";
extern string tr3a="Do not leave spaces";
extern string tr4="Blank input means 24 hour trading.";
extern string tradingHours="";
double TradeTimeOn[];
double TradeTimeOff[];
int tradeHours[];
string tradingHoursDisplay;//tradingHours is reduced to "" on initTradingHours, so this variable saves it for screen display.
bool TradeTimeOk;
extern string sep1de="================================================================";
extern string fssmt="---- Inputs applied to individual days ----";
extern int FridayStopTradingHour=22;//Ignore signals at and after this time on Friday.
extern int FridayCloseAllHour=22;//Friday time to close all open trades/delete stop orders for the weekend.
extern int SaturdayStopTradingHour=24;//For those in Upside Down Land.
extern int SaturdayCloseAllHour=24;//For those in Upside Down Land.
extern int MaxAllowableCashLoss=-20;//Only close all trades when the negative cash upl is less than this.
extern bool TradeSundayCandle=false;
extern int MondayStartHour=1;//24h local time
bool TradeThursdayCandle=true;//Thursday tends to be a reversal day, so avoid it.
extern string sep7b="================================================================";
extern string roll="---- Rollover time ----";
extern bool DisableEaDuringRollover=true;
extern string ro1 = "Use 24H format, SERVER time.";
extern string ro2 = "Example: '23.55'";
extern string RollOverStarts="23.55";
extern string RollOverEnds="00.15";
bool RolloverInProgress=false;//Tells DisplayUserFeedback() to display the rollover message
extern string sep10="================================================================";
extern string amc="----Available Margin checks----";
extern string sco="Scoobs";
extern bool UseScoobsMarginCheck=false;
extern string fk="ForexKiwi";
extern bool UseForexKiwi=false;
extern int FkMinimumMarginPercent=300;
bool EnoughMargin;
string MarginMessage;
extern string sep11="================================================================";
extern string asi="----Average spread inputs----";
bool RunInSpreadDetectionMode=false;
extern int TicksToCount=5;//The ticks to count whilst canculating the av spread
extern double MultiplierToDetectStopHunt=10;
double AverageSpread=0;
string SpreadGvName;//A GV will hold the calculated average spread
int CountedTicks=0;//For status display whilst calculating the spread
double BiggestSpread=0;//Holds a record of the widest spread since the EA was loaded
extern string sep13="================================================================";
extern string tmm="----Trade management module----";
extern string BE="Break even settings";
extern bool BreakEven=true;
extern double BreakEvenTargetPips=20;
extern int BreakEvenTargetProfit=3;
extern bool PartCloseEnabled=true;
extern double PartClosePercent=50;//Percentage of the trade lots to close
double BreakEvenPips,BreakEvenProfit;
bool TradeHasPartClosed=false;
extern string sep14="================================================================";
extern string JSL="Jumping stop loss settings";
extern bool JumpingStop=true;
extern int JumpingStopTargetPips=25;
extern bool AddBEP=true;
double JumpingStopPips;
extern string sep15="================================================================";
extern string cts="----Candlestick jumping stop----";
extern bool UseCandlestickTrailingStop=false;
extern int CstTimeFrame=0;//Defaults to current chart
extern int CstTrailCandles=1;//Defaults to previous candle
extern bool TrailMustLockInProfit=true;
int OldCstBars;//For candlestick ts
extern string sep16="================================================================";
extern string TSL="Trailing stop loss settings";
extern bool TrailingStop=false;
extern int TrailingStopTargetPips=20;
double TrailingStopPips;
extern string se52 ="================================================================";
extern string oad ="----Odds and ends----";
extern int ChartRefreshDelaySeconds=3;
extern int DisplayGapSize = 30; // if using Comments
extern bool DisplayAsText = true; // replaces Comment() with OBJ_LABEL text
extern bool KeepTextOnTop = true;//Disable the chart in foreground CrapTx setting so the candles do not obscure the text
extern int DisplayX = 100;
extern int DisplayY = 0;
extern int fontSise = 8;
extern string fontName = "Arial";
extern color colour = Yellow;
int DisplayCount;
string Gap,ScreenMessage;
double factor;//For pips/points stuff. Set up in int init()
int O_R_Setting_max_retries=10;
double O_R_Setting_sleep_time=4.0; /* seconds */
double O_R_Setting_sleep_max=15.0; /* seconds */
int RetryCount=10;//Will make this number of attempts to get around the trade context busy error.
int LossTrades,WinTrades;
double OverallProfit;
int OldBars;
string PipDescription=" pips";
bool ForceTradeClosure;
int TurnOff=0;//For turning off functions without removing their code
int MarketTradesTotal=0;//Total of open market trades
bool BuyOpen=false;
int MarketBuysCount=0;
double LatestBuyPrice=0, EarliestBuyPrice=0, HighestBuyPrice=0, LowestBuyPrice=0;
int BuyTicketNo=-1, HighestBuyTicketNo=-1, LowestBuyTicketNo=-1, LatestBuyTicketNo=-1, EarliestBuyTicketNo=-1;
double BuyPipsUpl=0;
double BuyCashUpl=0;
datetime LatestBuyTradeTime=0;
datetime EarliestBuyTradeTime=0;
bool SellOpen=false;
int MarketSellsCount=0;
double LatestSellPrice=0, EarliestSellPrice=0, HighestSellPrice=0, LowestSellPrice=0;
int SellTicketNo=-1, HighestSellTicketNo=-1, LowestSellTicketNo=-1, LatestSellTicketNo=-1, EarliestSellTicketNo=-1;;
double SellPipsUpl=0;
double SellCashUpl=0;
datetime LatestSellTradeTime=0;
datetime EarliestSellTradeTime=0;
bool BuyStopOpen=false;
int BuyStopsCount=0;
double LatestBuyStopPrice=0, EarliestBuyStopPrice=0, HighestBuyStopPrice=0, LowestBuyStopPrice=0;
int BuyStopTicketNo=-1, HighestBuyStopTicketNo=-1, LowestBuyStopTicketNo=-1, LatestBuyStopTicketNo=-1, EarliestBuyStopTicketNo=-1;;
datetime LatestBuyStopTradeTime=0;
datetime EarliestBuyStopTradeTime=0;
bool BuyLimitOpen=false;
int BuyLimitsCount=0;
double LatestBuyLimitPrice=0, EarliestBuyLimitPrice=0, HighestBuyLimitPrice=0, LowestBuyLimitPrice=0;
int BuyLimitTicketNo=-1, HighestBuyLimitTicketNo=-1, LowestBuyLimitTicketNo=-1, LatestBuyLimitTicketNo=-1, EarliestBuyLimitTicketNo=-1;;
datetime LatestBuyLimitTradeTime=0;
datetime EarliestBuyLimitTradeTime=0;
bool SellStopOpen=false;
int SellStopsCount=0;
double LatestSellStopPrice=0, EarliestSellStopPrice=0, HighestSellStopPrice=0, LowestSellStopPrice=0;
int SellStopTicketNo=-1, HighestSellStopTicketNo=-1, LowestSellStopTicketNo=-1, LatestSellStopTicketNo=-1, EarliestSellStopTicketNo=-1;;
datetime LatestSellStopTradeTime=0;
datetime EarliestSellStopTradeTime=0;
bool SellLimitOpen=false;
int SellLimitsCount=0;
double LatestSellLimitPrice=0, EarliestSellLimitPrice=0, HighestSellLimitPrice=0, LowestSellLimitPrice=0;
int SellLimitTicketNo=-1, HighestSellLimitTicketNo=-1, LowestSellLimitTicketNo=-1, LatestSellLimitTicketNo=-1, EarliestSellLimitTicketNo=-1;;
datetime LatestSellLimitTradeTime=0;
datetime EarliestSellLimitTradeTime=0;
int TicketNo=-1,OpenTrades,OldOpenTrades;
bool BuySignal=false, SellSignal=false;
bool BuyCloseSignal=false, SellCloseSignal=false;
datetime LatestTradeTime=0, EarliestTradeTime=0;//More specific times are in each individual section
int LatestTradeTicketNo=-1, EarliestTradeTicketNo=-1;
double PipsUpl;//For keeping track of the pips PipsUpl of multi-trade/hedged positions
double CashUpl;//For keeping track of the cash PipsUpl of multi-trade/hedged positions
bool TpSet=false, SlSet=false;
double GridOrderBuyTickets[][2]; // number of lines will be equal to MarketBuysOpen - 1
double GridOrderSellTickets[][2];
void DisplayUserFeedback()
{
if(IsTesting() && !IsVisualMode()) return;
string text = "";
static datetime CurrentTime = 0;
static datetime DisplayNow = 0;
if (TimeCurrent() < DisplayNow )
return;
CurrentTime = TimeCurrent();
DisplayNow = CurrentTime + ChartRefreshDelaySeconds;
DisplayCount = 1;
removeAllObjects();
ScreenMessage="";
SM(NL);
if(SafetyViolation) SM("*************** CANNOT TRADE YET. TOO SOON AFTER CLOSE OF PREVIOUS TRADE***************"+NL);
SM("Updates for this EA are to be found at "+NL);
SM("Feeling generous? Help keep the coder going with a small Paypal donation to p**********r*@hotmail.com"+NL);
SM("Broker time = "+TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS)+": Local time = "+TimeToStr(TimeLocal(),TIME_DATE|TIME_SECONDS)+NL);
SM(version+NL);
/*
SM( TimeToString( iTime(Symbol(), TradingTimeFrame, 0) + TradingTimeFrame * 60 - CurTime(), TIME_MINUTES|TIME_SECONDS )
+ " left to bar end" + NL );
*/
if(!TradeTimeOk)
{
SM(NL);
SM("---------- OUTSIDE TRADING HOURS. Will continue to monitor opent trades. ----------"+NL+NL);
}//if (!TradeTimeOk)
if(RolloverInProgress)
{
SM(NL);
SM("---------- ROLLOVER IN PROGRESS. I am taking no action until "+RollOverEnds+" ----------"+NL+NL);
return;
}//if (RolloverInProgress)
SM(NL);
SM(NL);
if (CloseOnLargeArrows || CloseOnBlueWavy)
{
SM("HGI time frame: " + HgiTimeFrameDisplay + NL);
SM("HGI signal status" + HgiStatus + NL);
}//if (CloseOnLargeArrows || CloseOnBlueWavy)
SM(NL);
text = "Market trades open = ";
SM(text + IntegerToString(MarketTradesTotal) + ": Pips UPL = " + DoubleToStr(PipsUpl, 0)
+ ": Cash UPL = " + DoubleToStr(CashUpl, 2) + NL);
if (BuyOpen)
SM("Buy trades = " + IntegerToString(MarketBuysCount)
+ ": Pips upl = " + IntegerToString(BuyPipsUpl)
+ ": Cash upl = " + DoubleToStr(BuyCashUpl, 2)
+ NL);
if (SellOpen)
SM("Sell trades = " + IntegerToString(MarketSellsCount)
+ ": Pips upl = " + IntegerToString(SellPipsUpl)
+ ": Cash upl = " + DoubleToStr(SellCashUpl,2)
+ NL);
if (Hedged || Unbalanced)
SM("I am looking for an opportunity to close the position at a profit." + NL);
SM(NL);
SM("Trading time frame: " + TradingTimeFrameDisplay + NL);
if(TradeLong) SM("Taking long trades"+NL);
if(TradeShort) SM("Taking short trades"+NL);
if(!TradeLong && !TradeShort) SM("Both TradeLong and TradeShort are set to false"+NL);
SM("Lot size: "+DoubleToStr(Lot,2)+" (Criminal's minimum lot size: "+DoubleToStr(MarketInfo(Symbol(),MODE_MINLOT),2)+")"+NL);
if(!CloseEnough(TakeProfit,0)) SM("Take profit: "+DoubleToStr(TakeProfit,0)+PipDescription+NL);
if(!CloseEnough(StopLoss,0)) SM("Stop loss: "+DoubleToStr(StopLoss,0)+PipDescription+NL);
SM("Magic number: "+MagicNumber+NL);
SM("Trade comment: "+TradeComment+NL);
if(IsGlobalPrimeOrECNCriminal) SM("IsGlobalPrimeOrECNCriminal = true"+NL);
else SM("IsGlobalPrimeOrECNCriminal = false"+NL);
double spread=(Ask-Bid)*factor;
SM("Average Spread = "+DoubleToStr(AverageSpread,1)+": Spread = "+DoubleToStr(spread,1)+": Widest since loading = "+DoubleToStr(BiggestSpread,1)+NL);
SM(NL);
if(tradingHoursDisplay!="") SM("Trading hours: "+tradingHoursDisplay+NL);
else SM("24 hour trading: "+NL);
if(MarginMessage!="") SM(MarginMessage+NL);
SM(Gap+NL);
SM("Results today. Wins: "+WinTrades+": Losses "+LossTrades+": P/L "+DoubleToStr(OverallProfit,2)+NL);
SM(NL);
if(BreakEven)
{
SM("Breakeven is set to "+DoubleToStr(BreakEvenPips,0)+PipDescription+": BreakEvenProfit = "+DoubleToStr(BreakEvenProfit,0)+PipDescription);
SM(NL);
if(PartCloseEnabled)
{
double CloseLots=NormalizeLots(Symbol(),Lot *(PartClosePercent/100));
SM("Part-close is enabled at "+DoubleToStr(PartClosePercent,2)+"% ("+DoubleToStr(CloseLots,2)+" lots to close)"+NL);
}//if (PartCloseEnabled)
}//if (BreakEven)
if(UseCandlestickTrailingStop)
{
SM("Using candlestick trailing stop"+NL);
}//if (UseCandlestickTrailingStop)
if(JumpingStop)
{
SM("Jumping stop is set to "+DoubleToStr(JumpingStopPips,0)+PipDescription);
SM(NL);
}//if (JumpingStop)
if(TrailingStop)
{
SM("Trailing stop is set to "+DoubleToStr(TrailingStopPips,0)+PipDescription);
SM(NL);
}//if (TrailingStop)
Comment(ScreenMessage);
}//void DisplayUserFeedback()
void SM(string message)
{
if (DisplayAsText)
{
DisplayCount++;
Display(message);
}
else
ScreenMessage = StringConcatenate(ScreenMessage,Gap, message);
}//End void SM()
void removeAllObjects()
{
for(int i = ObjectsTotal() - 1; i >= 0; i--)
if (StringFind(ObjectName(i),"OAM-",0) > -1)
ObjectDelete(ObjectName(i));
}//End void removeAllObjects()
void Display(string text)
{
string lab_str = "OAM-" + IntegerToString(DisplayCount);
double ofset = 0;
string textpart[5];
uint w,h;
for (int cc = 0; cc < 5; cc++)
{
textpart[cc] = StringSubstr(text,cc*63,64);
if (StringLen(textpart[cc]) ==0) continue;
lab_str = lab_str + IntegerToString(cc);
ObjectCreate(lab_str, OBJ_LABEL, 0, 0, 0);
ObjectSet(lab_str, OBJPROP_CORNER, 0);
ObjectSet(lab_str, OBJPROP_XDISTANCE, DisplayX + ofset);
ObjectSet(lab_str, OBJPROP_YDISTANCE, DisplayY+DisplayCount*(fontSise+4));
ObjectSet(lab_str, OBJPROP_BACK, false);
ObjectSetText(lab_str, textpart[cc], fontSise, fontName, colour);
TextSetFont(fontName,-fontSise*10,0,0);
TextGetSize(textpart[cc],w,h);
if (StringSubstr(textpart[cc],63,1)==" ")
ofset+=(int)(w-fontSise*0.25);
else
ofset+=(int)(w-fontSise*0.65);
}//for (int cc = 0; cc < 5; cc++)
}
bool ChartForegroundSet(const bool value,const long chart_ID=0)
{
ResetLastError();
if(!ChartSetInteger(chart_ID,CHART_FOREGROUND,0,value))
{
Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}//if(!ChartSetInteger(chart_ID,CHART_FOREGROUND,0,value))
return(true);
}//End bool ChartForegroundSet(const bool value,const long chart_ID=0)
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
Comment("");
removeAllObjects();
return;
}
string GetTimeFrameDisplay(int tf)
{
if (tf == 0)
tf = Period();
if (tf == PERIOD_M1)
return "M1";
if (tf == PERIOD_M5)
return "M5";
if (tf == PERIOD_M15)
return "M15";
if (tf == PERIOD_M30)
return "M30";
if (tf == PERIOD_H1)
return "H1";
if (tf == PERIOD_H4)
return "H4";
if (tf == PERIOD_D1)
return "D1";
if (tf == PERIOD_W1)
return "W1";
if (tf == PERIOD_MN1)
return "Monthly";
return("No recognisable time frame selected");
}//string GetTimeFrameDisplay()
bool SendSingleTrade(string symbol,int type,string comment,double lotsize,double price,double stop,double take)
{
double slippage=MaxSlippagePips*MathPow(10,Digits)/factor;
int ticket = -1;
color col=Red;
if(type==OP_BUY || type==OP_BUYSTOP || type == OP_BUYLIMIT) col=Green;
datetime expiry=0;
for(int cc=0; cc<RetryCount; cc++)
{
while(IsTradeContextBusy()) Sleep(100);//Put here so that excess slippage will cancel the trade if the ea has to wait for some time.
RefreshRates();
if(type == OP_BUY) price = MarketInfo(symbol, MODE_ASK);
if(type == OP_SELL) price = MarketInfo(symbol, MODE_BID);
if(!IsGlobalPrimeOrECNCriminal)
ticket=OrderSend(symbol,type,lotsize,price,slippage,stop,take,comment,MagicNumber,expiry,col);
if(IsGlobalPrimeOrECNCriminal)
{
ticket=OrderSend(symbol,type,lotsize,price,slippage,0,0,comment,MagicNumber,expiry,col);
if(ticket>-1)
{
ModifyOrderTpSl(ticket,stop,take);
}//if (ticket > 0)}
}//if (IsGlobalPrimeOrECNCriminal)
if(ticket>-1) break;//Exit the trade send loop
if(cc == RetryCount - 1) return(false);
if(ticket<0)
{
string stype;
if(type == OP_BUY) stype = "OP_BUY";
if(type == OP_SELL) stype = "OP_SELL";
if(type == OP_BUYLIMIT) stype = "OP_BUYLIMIT";
if(type == OP_SELLLIMIT) stype = "OP_SELLLIMIT";
if(type == OP_BUYSTOP) stype = "OP_BUYSTOP";
if(type == OP_SELLSTOP) stype = "OP_SELLSTOP";
int err=GetLastError();
if (type < 2)
Alert(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
Print(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
return(false);
}//if (ticket < 0)
}//for (int cc = 0; cc < RetryCount; cc++);
TicketNo=ticket;
bool TradeReturnedFromCriminal=false;
while(!TradeReturnedFromCriminal)
{
TradeReturnedFromCriminal=O_R_CheckForHistory(ticket);
if(!TradeReturnedFromCriminal)
{
Alert(Symbol()," sent trade not in your trade history yet. Turn of this ea NOW.");
}//if (!TradeReturnedFromCriminal)
}//while (!TradeReturnedFromCriminal)
return(true);
}//End bool SendSingleTrade(int type, string comment, double lotsize, double price, double stop, double take)
bool SendSingleTradeB(string symbol,int type,string comment,double lotsize,double priceb,double stop,double take)
{
double slippage=MaxSlippagePips*MathPow(10,Digits)/factor;
int ticket = -1;
color col=Red;
if(type==OP_BUY || type==OP_BUYSTOP || type == OP_BUYLIMIT) col=Green;
datetime expiry=0;
for(int cc=0; cc<RetryCount; cc++)
{
while(IsTradeContextBusy()) Sleep(100);//Put here so that excess slippage will cancel the trade if the ea has to wait for some time.
RefreshRates();
if(type == OP_BUY) priceb = MarketInfo(symbol, MODE_ASK);
if(!IsGlobalPrimeOrECNCriminal)
ticket=OrderSend(symbol,type,lotsize,priceb,slippage,stop,take,comment,MagicNumber,expiry,col);
if(IsGlobalPrimeOrECNCriminal)
{
ticket=OrderSend(symbol,type,lotsize,priceb,slippage,0,0,comment,MagicNumber,expiry,col);
if(ticket>-1)
{
ModifyOrderTpSl(ticket,stop,take);
}//if (ticket > 0)}
}//if (IsGlobalPrimeOrECNCriminal)
if(ticket>-1) break;//Exit the trade send loop
if(cc == RetryCount - 1) return(false);
if(ticket<0)
{
string stype;
if(type == OP_BUY) stype = "OP_BUY";
if(type == OP_SELL) stype = "OP_SELL";
if(type == OP_BUYLIMIT) stype = "OP_BUYLIMIT";
if(type == OP_SELLLIMIT) stype = "OP_SELLLIMIT";
if(type == OP_BUYSTOP) stype = "OP_BUYSTOP";
if(type == OP_SELLSTOP) stype = "OP_SELLSTOP";
int err=GetLastError();
if (type < 2)
Alert(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
Print(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
return(false);
}//if (ticket < 0)
}//for (int cc = 0; cc < RetryCount; cc++);
TicketNo=ticket;
bool TradeReturnedFromCriminal=false;
while(!TradeReturnedFromCriminal)
{
TradeReturnedFromCriminal=O_R_CheckForHistory(ticket);
if(!TradeReturnedFromCriminal)
{
Alert(Symbol()," sent trade not in your trade history yet. Turn of this ea NOW.");
}//if (!TradeReturnedFromCriminal)
}//while (!TradeReturnedFromCriminal)
return(true);
}//End bool SendSingleTrade(int type, string comment, double lotsize, double price, double stop, double take)
bool SendSingleTradeS(string symbol,int type,string comment,double lotsize,double prices,double stop,double take)
{
double slippage=MaxSlippagePips*MathPow(10,Digits)/factor;
int ticket = -1;
color col=Red;
if(type==OP_BUY || type==OP_BUYSTOP || type == OP_BUYLIMIT) col=Green;
datetime expiry=0;
for(int cc=0; cc<RetryCount; cc++)
{
while(IsTradeContextBusy()) Sleep(100);//Put here so that excess slippage will cancel the trade if the ea has to wait for some time.
RefreshRates();
if(type == OP_SELL) prices = MarketInfo(symbol, MODE_BID);
if(!IsGlobalPrimeOrECNCriminal)
ticket=OrderSend(symbol,type,lotsize,prices,slippage,stop,take,comment,MagicNumber,expiry,col);
if(IsGlobalPrimeOrECNCriminal)
{
ticket=OrderSend(symbol,type,lotsize,prices,slippage,0,0,comment,MagicNumber,expiry,col);
if(ticket>-1)
{
ModifyOrderTpSl(ticket,stop,take);
}//if (ticket > 0)}
}//if (IsGlobalPrimeOrECNCriminal)
if(ticket>-1) break;//Exit the trade send loop
if(cc == RetryCount - 1) return(false);
if(ticket<0)
{
string stype;
if(type == OP_BUY) stype = "OP_BUY";
if(type == OP_SELL) stype = "OP_SELL";
if(type == OP_BUYLIMIT) stype = "OP_BUYLIMIT";
if(type == OP_SELLLIMIT) stype = "OP_SELLLIMIT";
if(type == OP_BUYSTOP) stype = "OP_BUYSTOP";
if(type == OP_SELLSTOP) stype = "OP_SELLSTOP";
int err=GetLastError();
if (type < 2)
Alert(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
Print(symbol," ",WindowExpertName()," ",stype," order send failed with error(",err,"): ",ErrorDescription(err));
return(false);
}//if (ticket < 0)
}//for (int cc = 0; cc < RetryCount; cc++);
TicketNo=ticket;
bool TradeReturnedFromCriminal=false;
while(!TradeReturnedFromCriminal)
{
TradeReturnedFromCriminal=O_R_CheckForHistory(ticket);
if(!TradeReturnedFromCriminal)
{
Alert(Symbol()," sent trade not in your trade history yet. Turn of this ea NOW.");
}//if (!TradeReturnedFromCriminal)
}//while (!TradeReturnedFromCriminal)
return(true);
}//End bool SendSingleTrade(int type, string comment, double lotsize, double price, double stop, double take)
void ModifyOrderTpSl(int ticket, double stop, double take)
{
if (CloseEnough(stop, 0) && CloseEnough(take, 0) ) return; //nothing to do
if (!BetterOrderSelect(ticket, SELECT_BY_TICKET) ) return;//Trade does not exist, so no mod needed
if (OrderCloseTime() > 0) return;//Somehow, we are examining a closed trade
if (OrderType() == OP_BUY && take < OrderOpenPrice() && !CloseEnough(take, 0) )
{
take = 0;
ReportError(" ModifyOrder()", " take profit < market ");
}//if (OrderType() == OP_BUY && take < OrderOpenPrice() )
if (OrderType() == OP_SELL && take > OrderOpenPrice() )
{
take = 0;
ReportError(" ModifyOrder()", " take profit < market ");
}//if (OrderType() == OP_SELL && take > OrderOpenPrice() )
if (OrderType() == OP_BUY && stop > OrderOpenPrice() )
{
stop = 0;
ReportError(" ModifyOrder()", " stop loss > market ");
}//if (OrderType() == OP_BUY && take < OrderOpenPrice() )
if (OrderType() == OP_SELL && stop < OrderOpenPrice() && !CloseEnough(stop, 0) )
{
stop = 0;
ReportError(" ModifyOrder()", " stop loss < market ");
}//if (OrderType() == OP_SELL && take > OrderOpenPrice() )
string Reason;
for (int cc = 0; cc < RetryCount; cc++)
{
for (int d = 0; (d < RetryCount) && IsTradeContextBusy(); d++) Sleep(100);
if (!CloseEnough(take, 0) && !CloseEnough(stop, 0) )
{
while(IsTradeContextBusy()) Sleep(100);
if (ModifyOrder(ticket, OrderOpenPrice(), stop, take, OrderExpiration(), clrNONE, __FUNCTION__, tpsl)) return;
}//if (take > 0 && stop > 0)
if (!CloseEnough(take, 0) && CloseEnough(stop, 0))
{
while(IsTradeContextBusy()) Sleep(100);
if (ModifyOrder(ticket, OrderOpenPrice(), OrderStopLoss(), take, OrderExpiration(), clrNONE, __FUNCTION__, tpm)) return;
}//if (take == 0 && stop != 0)
if (CloseEnough(take, 0) && !CloseEnough(stop, 0))
{
while(IsTradeContextBusy()) Sleep(100);
if (ModifyOrder(ticket, OrderOpenPrice(), stop, OrderTakeProfit(), OrderExpiration(), clrNONE, __FUNCTION__, slm)) return;
}//if (take == 0 && stop != 0)
}//for (int cc = 0; cc < RetryCount; cc++)
}//void ModifyOrderTpSl(int ticket, double tp, double sl)
bool O_R_CheckForHistory(int ticket)
{
int lastTicket=OrderTicket();
int cnt =0;
int err=GetLastError(); // so we clear the global variable.
err=0;
bool exit_loop=false;
bool success=false;
int c = 0;
while(!exit_loop)
{
/* loop through open trades */
int total=OrdersTotal();
for(c=0; c<total; c++)
{
if(BetterOrderSelect(c,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderTicket()==ticket)
{
success=true;
exit_loop=true;
}
}
}
if(cnt>3)
{
/* look through history too, as order may have opened and closed immediately */
total=OrdersHistoryTotal();
for(c=0; c<total; c++)
{
if(BetterOrderSelect(c,SELECT_BY_POS,MODE_HISTORY)==true)
{
if(OrderTicket()==ticket)
{
success=true;
exit_loop=true;
}
}
}
}
cnt=cnt+1;
if(cnt>O_R_Setting_max_retries)
{
exit_loop=true;
}
if(!(success || exit_loop))
{
Print("Did not find #"+ticket+" in history, sleeping, then doing retry #"+cnt);
O_R_Sleep(O_R_Setting_sleep_time,O_R_Setting_sleep_max);
}
}
if(lastTicket>=0)
{
bool s = BetterOrderSelect(lastTicket,SELECT_BY_TICKET,MODE_TRADES);
}
if(!success)
{
Print("Never found #"+ticket+" in history! crap!");
}
return(success);
}//End bool O_R_CheckForHistory(int ticket)
void O_R_Sleep(double mean_time, double max_time)
{
if (IsTesting())
{
return; // return immediately if backtesting.
}
double p = (MathRand()+1) / 32768.0;
double t = -MathLog(p)*mean_time;
t = MathMin(t,max_time);
int ms = t*1000;
if (ms < 10) {
ms=10;
}//if (ms < 10) {
Sleep(ms);
}//End void O_R_Sleep(double mean_time, double max_time)
bool IsTradingAllowed()
{
if (!IsTesting() )
{
double spread = (Ask - Bid) * factor;
if (spread > AverageSpread * MultiplierToDetectStopHunt) return(false);
}//if (!IsTesting() )
return(true);
}//End bool IsTradingAllowed()
double CalculateLotSize(double price1,double price2)
{
if(price1==0 || price2==0) return(Lot);//Just in case
double FreeMargin= AccountFreeMargin();
double TickValue = MarketInfo(Symbol(),MODE_TICKVALUE);
double LotStep=MarketInfo(Symbol(),MODE_LOTSTEP);
double SLPts=MathAbs(price1-price2);
SLPts = int(SLPts * factor * 10);//Code from Radar. Thanks Radar; much appreciated
double Exposure=SLPts*TickValue; // Exposure based on 1 full lot
double AllowedExposure=(FreeMargin*RiskPercent)/100;
int TotalSteps = ((AllowedExposure / Exposure) / LotStep);
double LotSize = TotalSteps * LotStep;
double MinLots = MarketInfo(Symbol(), MODE_MINLOT);
double MaxLots = MarketInfo(Symbol(), MODE_MAXLOT);
if(LotSize < MinLots) LotSize = MinLots;
if(LotSize > MaxLots) LotSize = MaxLots;
return(LotSize);
}//double CalculateLotSize(double price1, double price1)
double CalculateStopLoss(int type, double price)
{
double stop;
RefreshRates();
if (type == OP_BUY)
{
if (!CloseEnough(StopLoss, 0) )
{
stop = price - (StopLoss / factor);
HiddenStopLoss = stop;
}//if (!CloseEnough(StopLoss, 0) )
if (HiddenPips > 0 && stop > 0) stop = NormalizeDouble(stop - (HiddenPips / factor), Digits);
}//if (type == OP_BUY)
if (type == OP_SELL)
{
if (!CloseEnough(StopLoss, 0) )
{
stop = price + (StopLoss / factor);
HiddenStopLoss = stop;
}//if (!CloseEnough(StopLoss, 0) )
if (HiddenPips > 0 && stop > 0) stop = NormalizeDouble(stop + (HiddenPips / factor), Digits);
}//if (type == OP_SELL)
return(stop);
}//End double CalculateStopLoss(int type)
double CalculateTakeProfit(int type, double price)
{
double take;
RefreshRates();
double StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD);
double spread = (Ask - Bid) * factor;
if (type == OP_BUY)
{
if (!CloseEnough(TakeProfit, 0) )
{
if (TakeProfit < StopLevel)
if (TakeProfitPips > 0)
TakeProfit = StopLevel;
take = price + (TakeProfit / factor);
HiddenTakeProfit = take;
}//if (!CloseEnough(TakeProfit, 0) )
if (HiddenPips > 0 && take > 0) take = NormalizeDouble(take + (HiddenPips / factor), Digits);
}//if (type == OP_BUY)
if (type == OP_SELL)
{
if (!CloseEnough(TakeProfit, 0) )
{
if (TakeProfit < StopLevel)
if (TakeProfitPips > 0)
TakeProfit = StopLevel;
take = price - (TakeProfit / factor);
HiddenTakeProfit = take;
}//if (!CloseEnough(TakeProfit, 0) )
if (HiddenPips > 0 && take > 0) take = NormalizeDouble(take - (HiddenPips / factor), Digits);
}//if (type == OP_SELL)
return(take);
}//End double CalculateTakeProfit(int type)
bool EnoughDistance(int type, double price)
{
double pips = 0;
if (type == OP_BUY)
if (!BuyOpen)
return(true);
if (type == OP_SELL)
if (!SellOpen)
return(true);
for (int cc = OrdersTotal() - 1; cc >= 0; cc--)
{
if (!BetterOrderSelect(cc, SELECT_BY_POS, MODE_TRADES) ) continue;
if (OrderSymbol() != Symbol() ) continue;
if (OrderMagicNumber() != MagicNumber) continue;
if (OrderType() != type) continue;
pips = MathAbs(price - OrderOpenPrice() ) * factor;
if (pips < MinDistanceBetweenTrades)
return(false);
}//for (int cc = OrdersTotal() - 1; cc >= 0; cc--)
return(true);
}//End bool EnoughDistance(int type, double price)
void LookForTradingOpportunities()
{
RefreshRates();
double take, stop, priceb, priceb2, priceb3,
prices, prices2, prices3;
bool Buy01=false, Buy02=false, Buy03=false, Buy04=false, Buy05=false, Buy06=false,
Buy07=false, Buy08=false, Buy09=false, Buy10=false, Buy11=false, Buy12=false, Buy13=false,
Buy14=false, Buy15=false, Buy16=false, Buy17=false, Buy18=false, Buy19=false, Buy20=false,
Buy21=false, Buy22=false, Buy23=false, Buy24=false, Buy25=false, Buy26=false, Buy27=false,
Buy28=false, Buy29=false, Buy30=false, Buy31=false, Buy32=false, Buy33=false, Buy34=false,
Buy35=false, Buy36=false, Buy37=false, Buy38=false, Buy39=false, Buy40=false, Buy41=false,
Buy42=false, Buy43=false, Buy44=false, Buy45=false, Buy46=false, Buy47=false, Buy48=false,
Buy49=false, Buy50=false, Buy51=false, Buy52=false, Buy53=false, Buy54=false, Buy55=false,
Sell01=false,Sell02=false,Sell03=false,Sell04=false,Sell05=false,Sell06=false,
Sell07=false,Sell08=false,Sell09=false,Sell10=false,Sell11=false,Sell12=false,Sell13=false,
Sell14=false,Sell15=false,Sell16=false,Sell17=false,Sell18=false,Sell19=false,Sell20=false,
Sell21=false,Sell22=false,Sell23=false,Sell24=false,Sell25=false,Sell26=false,Sell27=false,
Sell28=false,Sell29=false,Sell30=false,Sell31=false,Sell32=false,Sell33=false,Sell34=false,
Sell35=false,Sell36=false,Sell37=false,Sell38=false,Sell39=false,Sell40=false,Sell41=false,
Sell42=false,Sell43=false,Sell44=false,Sell45=false,Sell46=false,Sell47=false,Sell48=false,
Sell49=false,Sell50=false,Sell51=false,Sell52=false,Sell53=false,Sell54=false,Sell55=false;
int type;
bool result = false;
/* bool MaCrossi=false,MaCrossii=false,MaCrossiii=false,MaCrossiv=false,MaCrossv=false,MaCrossvi=false,MaCrossvii=false,MaCrossviii=false,MaCrossix=false,
MaCrossx=false,MaCrossxi=false,MaCrossxii=false;
bool MaPullBacki=false,MaPullBackii=false,MaPullBackiii=false,MaPullBackiv=false,MaPullBackv=false,MaPullBackvi=false,MaPullBackvii=false,
MaPullBackviii=false,MaPullBackix=false,MaPullBackx=false,MaPullBackxi=false,MaPullBackxii=false,MaPullBackxiii=false,MaPullBackxiv=false,
MaPullBackxv=false,MaPullBackxvi=false,MaPullBackxvii=false,MaPullBackxviii=false,MaPullBackixx=false,MaPullBackxx=false;
bool Setup01=false,Setup02=false,Setup03=false,Setup04=false,Setup05=false,Setup06=false,Setup07=false,Setup08=false,Setup09=false,Setup10=false,
Setup11=false,Setup12=false,Setup13=false,Setup14=false;
*/
bool DeleteBuyStop = false, DeleteBuyOpen = false,
DeleteSellStop = false, DeleteSellOpen = false;
double SendLots = Lot;
if (!IsTradingAllowed() ) return;
bool SendTradeBS1 =false;
bool SendTradeBS2 =false;
bool SendTradeBS3 =false;
bool SendTradeSS1 = false;
bool SendTradeSS2 = false;
bool SendTradeSS3 = false;
int err = 0;
double spread = (Ask - Bid) * factor;
int PeHiBarM1A60 = iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 60, 0);
int PeLoBarM1A60 = iLowest(Symbol(), PERIOD_M1, MODE_LOW, 60, 0);
double PeHiM1A60 = iHigh(Symbol(), PERIOD_M1, PeHiBarM1A60);
double PeLoM1A60 = iLow(Symbol(), PERIOD_M1, PeLoBarM1A60);
int PeHiBarM1A120 = iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 120, 0);
int PeLoBarM1A120 = iLowest(Symbol(), PERIOD_M1, MODE_LOW, 120, 0);
double PeHiM1A120 = iHigh(Symbol(), PERIOD_M1, PeHiBarM1A120);
double PeLoM1A120 = iLow(Symbol(), PERIOD_M1, PeLoBarM1A120);
int PeHiBarM1A240 = iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 240, 0);
int PeLoBarM1A240 = iLowest(Symbol(), PERIOD_M1, MODE_LOW, 240, 0);
double PeHiM1A240 = iHigh(Symbol(), PERIOD_M1, PeHiBarM1A240);
double PeLoM1A240 = iLow(Symbol(), PERIOD_M1, PeLoBarM1A240);
int PeHiBarM1B60 = iHighest(Symbol(), PERIOD_M1, MODE_HIGH, 60, 1);
int PeLoBarM1B60 = iLowest(Symbol(), PERIOD_M1, MODE_LOW, 60, 1);
double PeHiM1B60 = iHigh(Symbol(), PERIOD_M1, PeHiBarM1B60);
double PeLoM1B60 = iLow(Symbol(), PERIOD_M1, PeLoBarM1B60);
int PeHiClBarM5B3 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 3, 1);
int PeLoClBarM5B3 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 3, 1);
int PeHiOpBarM5B3 = iHighest(Symbol(), PERIOD_M5, MODE_OPEN, 3, 1);
int PeLoOpBarM5B3 = iLowest(Symbol(), PERIOD_M5, MODE_OPEN, 3, 1);
double PeHiOpM5B3 = iClose(Symbol(), PERIOD_M5, PeHiOpBarM5B3);
double PeLoOpM5B3 = iClose(Symbol(), PERIOD_M5, PeLoOpBarM5B3);
double PeHiClM5B3 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B3);
double PeLoClM5B3 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B3);
int PeHiClBarM5B4 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 4, 1);
int PeLoClBarM5B4 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 4, 1);
int PeHiOpBarM5B4 = iHighest(Symbol(), PERIOD_M5, MODE_OPEN, 4, 1);
int PeLoOpBarM5B4 = iLowest(Symbol(), PERIOD_M5, MODE_OPEN, 4, 1);
double PeHiOpM5B4 = iClose(Symbol(), PERIOD_M5, PeHiOpBarM5B4);
double PeLoOpM5B4 = iClose(Symbol(), PERIOD_M5, PeLoOpBarM5B4);
double PeHiClM5B4 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B4);
double PeLoClM5B4 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B4);
int PeHiClBarM5B5 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 5, 1);
int PeLoClBarM5B5 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 5, 1);
double PeHiClM5B5 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B5);
double PeLoClM5B5 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B5);
int PeHiClBarM5H5 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 5, 7);
int PeLoClBarM5H5 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 5, 7);
double PeHiClM5H5 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5H5);
double PeLoClM5H5 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5H5);
int PeHiClBarM5B7 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 7, 1);
int PeLoClBarM5B7 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 7, 1);
double PeHiClM5B7 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B7);
double PeLoClM5B7 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B7);
int PeHiClBarM5B10 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 10, 1);
int PeLoClBarM5B10 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 10, 1);
double PeHiClM5B10 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B10);
double PeLoClM5B10 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B10);
int PeHiClBarM5B12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 1);
int PeLoClBarM5B12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 1);
double PeHiClM5B12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B12);
double PeLoClM5B12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B12);
int PeHiClBarM5C12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 2);
int PeLoClBarM5C12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 2);
double PeHiClM5C12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5C12);
double PeLoClM5C12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5C12);
int PeHiClBarM5D12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 3);
int PeLoClBarM5D12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 3);
double PeHiClM5D12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5D12);
double PeLoClM5D12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5D12);
int PeHiClBarM5E12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 4);
int PeLoClBarM5E12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 4);
double PeHiClM5E12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5E12);
double PeLoClM5E12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5E12);
int PeHiClBarM5F12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 5);
int PeLoClBarM5F12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 5);
double PeHiClM5F12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5F12);
double PeLoClM5F12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5F12);
int PeHiClBarM5G12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 6);
int PeLoClBarM5G12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 6);
double PeHiClM5G12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5G12);
double PeLoClM5G12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5G12);
int PeHiClBarM5K12 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 10);
int PeLoClBarM5K12 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 12, 10);
double PeHiClM5K12 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5K12);
double PeLoClM5K12 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5K12);
int PeHiClBarM5B18 = iHighest(Symbol(), PERIOD_M5, MODE_CLOSE, 18, 1);
int PeLoClBarM5B18 = iLowest(Symbol(), PERIOD_M5, MODE_CLOSE, 18, 1);
double PeHiClM5B18 = iClose(Symbol(), PERIOD_M5, PeHiClBarM5B18);
double PeLoClM5B18 = iClose(Symbol(), PERIOD_M5, PeLoClBarM5B18);
int PeHiBarM5B2 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 2, 1);
int PeLoBarM5B2 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 2, 1);
double PeHiM5B2 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B2);
double PeLoM5B2 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B2);
int PeHiBarM5B3 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 3, 1);
int PeLoBarM5B3 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 3, 1);
double PeHiM5B3 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B3);
double PeLoM5B3 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B3);
int PeHiBarM5B5 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 5, 1);
int PeLoBarM5B5 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 5, 1);
double PeHiM5B5 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B5);
double PeLoM5B5 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B5);
int PeHiBarM5B7 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 7, 1);
int PeLoBarM5B7 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 7, 1);
double PeHiM5B7 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B7);
double PeLoM5B7 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B7);
int PeHiBarM5H7 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 7, 1);
int PeLoBarM5H7 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 7, 1);
double PeHiM5H7 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5H7);
double PeLoM5H7 = iLow(Symbol(), PERIOD_M5, PeLoBarM5H7);
int PeHiBarM5A12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 0);
int PeLoBarM5A12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 0);
double PeHiM5A12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5A12);
double PeLoM5A12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5A12);
int PeHiBarM5B12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 1);
int PeLoBarM5B12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 1);
double PeHiM5B12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B12);
double PeLoM5B12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B12);
int PeHiBarM5C12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 2);
int PeLoBarM5C12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 2);
double PeHiM5C12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5C12);
double PeLoM5C12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5C12);
int PeHiBarM5D12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 3);
int PeLoBarM5D12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 3);
double PeHiM5D12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5D12);
double PeLoM5D12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5D12);
int PeHiBarM5E12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 4);
int PeLoBarM5E12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 4);
double PeHiM5E12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5E12);
double PeLoM5E12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5E12);
int PeHiBarM5F12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 5);
int PeLoBarM5F12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 5);
double PeHiM5F12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5F12);
double PeLoM5F12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5F12);
int PeHiBarM5G12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 6);
int PeLoBarM5G12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 6);
double PeHiM5G12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5G12);
double PeLoM5G12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5G12);
int PeHiBarM5H12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 7);
int PeLoBarM5H12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 7);
double PeHiM5H12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5H12);
double PeLoM5H12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5H12);
int PeHiBarM5I12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 8);
int PeLoBarM5I12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 8);
double PeHiM5I12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5I12);
double PeLoM5I12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5I12);
int PeHiBarM5J12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 9);
int PeLoBarM5J12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 9);
double PeHiM5J12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5J12);
double PeLoM5J12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5J12);
int PeHiBarM5K12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 10);
int PeLoBarM5K12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 10);
double PeHiM5K12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5K12);
double PeLoM5K12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5K12);
int PeHiBarM5L12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 11);
int PeLoBarM5L12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 11);
double PeHiM5L12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5L12);
double PeLoM5L12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5L12);
int PeHiBarM5M12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 12);
int PeLoBarM5M12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 12);
double PeHiM5M12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5M12);
double PeLoM5M12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5M12);
int PeHiBarM5R12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 18);
int PeLoBarM5R12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 18);
double PeHiM5R12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5R12);
double PeLoM5R12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5R12);
int PeHiBarM5Z12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 24);
int PeLoBarM5Z12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 24);
double PeHiM5Z12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5Z12);
double PeLoM5Z12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5Z12);
int PeHiBarM5ZM12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 36);
int PeLoBarM5ZM12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 36);
double PeHiM5ZM12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZM12);
double PeLoM5ZM12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZM12);
int PeHiBarM5ZZ12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 48);
int PeLoBarM5ZZ12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 48);
double PeHiM5ZZ12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZ12);
double PeLoM5ZZ12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZ12);
int PeHiBarM5ZZM12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 60);
int PeLoBarM5ZZM12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 60);
double PeHiM5ZZM12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZM12);
double PeLoM5ZZM12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZM12);
int PeHiBarM5ZZZ12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 72);
int PeLoBarM5ZZZ12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 72);
double PeHiM5ZZZ12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZ12);
double PeLoM5ZZZ12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZ12);
int PeHiBarM5ZZZM12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 84);
int PeLoBarM5ZZZM12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 84);
double PeHiM5ZZZM12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZM12);
double PeLoM5ZZZM12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZM12);
int PeHiBarM5ZZZZ12 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 12, 96);
int PeLoBarM5ZZZZ12 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 12, 96);
double PeHiM5ZZZZ12 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZZ12);
double PeLoM5ZZZZ12 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZZ12);
int PeHiBarM5A24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 0);
int PeLoBarM5A24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 0);
double PeHiM5A24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5A24);
double PeLoM5A24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5A24);
int PeHiBarM5B24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 1);
int PeLoBarM5B24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 1);
double PeHiM5B24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B24);
double PeLoM5B24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B24);
int PeHiBarM5C24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 2);
int PeLoBarM5C24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 2);
double PeHiM5C24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5C24);
double PeLoM5C24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5C24);
int PeHiBarM5D24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 3);
int PeLoBarM5D24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 3);
double PeHiM5D24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5D24);
double PeLoM5D24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5D24);
int PeHiBarM5E24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 4);
int PeLoBarM5E24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 4);
double PeHiM5E24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5E24);
double PeLoM5E24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5E24);
int PeHiBarM5F24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 4);
int PeLoBarM5F24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 4);
double PeHiM5F24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5F24);
double PeLoM5F24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5F24);
int PeHiBarM5G24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 6);
int PeLoBarM5G24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 6);
double PeHiM5G24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5G24);
double PeLoM5G24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5G24);
int PeHiBarM5K24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 10);
int PeLoBarM5K24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 10);
double PeHiM5K24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5K24);
double PeLoM5K24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5K24);
int PeHiBarM5M24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 12);
int PeLoBarM5M24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 12);
double PeHiM5M24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5M24);
double PeLoM5M24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5M24);
int PeHiBarM5R24 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 24, 18);
int PeLoBarM5R24 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 24, 18);
double PeHiM5R24 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5R24);
double PeLoM5R24 = iLow(Symbol(), PERIOD_M5, PeLoBarM5R24);
int PeHiBarM5A48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 0);
int PeLoBarM5A48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 0);
double PeHiM5A48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5A48);
double PeLoM5A48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5A48);
int PeHiBarM5B48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 1);
int PeLoBarM5B48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 1);
double PeHiM5B48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5B48);
double PeLoM5B48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5B48);
int PeHiBarM5C48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 2);
int PeLoBarM5C48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 2);
double PeHiM5C48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5C48);
double PeLoM5C48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5C48);
int PeHiBarM5D48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 3);
int PeLoBarM5D48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 3);
double PeHiM5D48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5D48);
double PeLoM5D48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5D48);
int PeHiBarM5E48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 4);
int PeLoBarM5E48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 4);
double PeHiM5E48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5E48);
double PeLoM5E48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5E48);
int PeHiBarM5F48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 5);
int PeLoBarM5F48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 5);
double PeHiM5F48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5F48);
double PeLoM5F48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5F48);
int PeHiBarM5G48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 6);
int PeLoBarM5G48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 6);
double PeHiM5G48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5G48);
double PeLoM5G48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5G48);
int PeHiBarM5H48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 7);
int PeLoBarM5H48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 7);
double PeHiM5H48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5H48);
double PeLoM5H48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5H48);
int PeHiBarM5I48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 8);
int PeLoBarM5I48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 8);
double PeHiM5I48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5I48);
double PeLoM5I48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5I48);
int PeHiBarM5J48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 9);
int PeLoBarM5J48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 9);
double PeHiM5J48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5J48);
double PeLoM5J48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5J48);
int PeHiBarM5K48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 10);
int PeLoBarM5K48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 10);
double PeHiM5K48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5K48);
double PeLoM5K48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5K48);
int PeHiBarM5L48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 11);
int PeLoBarM5L48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 11);
double PeHiM5L48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5L48);
double PeLoM5L48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5L48);
int PeHiBarM5M48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 12);
int PeLoBarM5M48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 12);
double PeHiM5M48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5M48);
double PeLoM5M48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5M48);
int PeHiBarM5R48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 18);
int PeLoBarM5R48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 18);
double PeHiM5R48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5R48);
double PeLoM5R48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5R48);
int PeHiBarM5Z48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 24);
int PeLoBarM5Z48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 24);
double PeHiM5Z48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5Z48);
double PeLoM5Z48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5Z48);
int PeHiBarM5ZM48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 36);
int PeLoBarM5ZM48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 36);
double PeHiM5ZM48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZM48);
double PeLoM5ZM48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZM48);
int PeHiBarM5ZZ48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 48);
int PeLoBarM5ZZ48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 48);
double PeHiM5ZZ48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZ48);
double PeLoM5ZZ48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZ48);
int PeHiBarM5ZZM48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 60);
int PeLoBarM5ZZM48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 60);
double PeHiM5ZZM48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZM48);
double PeLoM5ZZM48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZM48);
int PeHiBarM5ZZZ72 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 72);
int PeLoBarM5ZZZ72 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 72);
double PeHiM5ZZZ72 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZ72);
double PeLoM5ZZZ72 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZ72);
int PeHiBarM5ZZZM48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 84);
int PeLoBarM5ZZZM48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 84);
double PeHiM5ZZZM48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZM48);
double PeLoM5ZZZM48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZM48);
int PeHiBarM5ZZZZ48 = iHighest(Symbol(), PERIOD_M5, MODE_HIGH, 48, 96);
int PeLoBarM5ZZZZ48 = iLowest(Symbol(), PERIOD_M5, MODE_LOW, 48, 96);
double PeHiM5ZZZZ48 = iHigh(Symbol(), PERIOD_M5, PeHiBarM5ZZZZ48);
double PeLoM5ZZZZ48 = iLow(Symbol(), PERIOD_M5, PeLoBarM5ZZZZ48);
int PeHiBarM15A3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 0);
int PeLoBarM15A3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 0);
int PeHiBarM15B3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 1);
int PeLoBarM15B3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 1);
int PeHiBarM15C3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 2);
int PeLoBarM15C3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 2);
int PeHiBarM15D3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 3);
int PeLoBarM15D3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 3);
int PeHiBarM15E3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 4);
int PeLoBarM15E3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 4);
int PeHiBarM15F3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 5);
int PeLoBarM15F3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 5);
int PeHiBarM15G3 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 3, 6);
int PeLoBarM15G3 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 3, 6);
int PeHiBarM15A8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 0);
int PeLoBarM15A8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 0);
int PeHiBarM15B8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 1);
int PeLoBarM15B8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 1);
int PeHiBarM15C8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 2);
int PeLoBarM15C8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 2);
int PeHiBarM15D8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 3);
int PeLoBarM15D8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 3);
int PeHiBarM15E8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 4);
int PeLoBarM15E8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 4);
int PeHiBarM15F8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 5);
int PeLoBarM15F8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 5);
int PeHiBarM15G8 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 8, 6);
int PeLoBarM15G8 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 8, 6);
int PeHiBarM15A16 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 16, 0);
int PeLoBarM15A16 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 16, 0);
int PeHiBarM15B16 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 16, 1);
int PeLoBarM15B16 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 16, 1);
int PeHiBarM15C16 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 16, 2);
int PeLoBarM15C16 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 16, 2);
int PeHiBarM15D16 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 16, 3);
int PeLoBarM15D16 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 16, 3);
int PeHiBarM15E16 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 16, 4);
int PeLoBarM15E16 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 16, 4);
int PeHiBarM15A56 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 56, 0);
int PeLoBarM15A56 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 56, 0);
int PeHiBarM15B56 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 56, 1);
int PeLoBarM15B56 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 56, 1);
int PeHiBarM15C56 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 56, 2);
int PeLoBarM15C56 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 56, 2);
int PeHiBarM15D56 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 56, 3);
int PeLoBarM15D56 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 56, 3);
int PeHiBarM15E56 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 56, 4);
int PeLoBarM15E56 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 56, 4);
int PeHiBarM15A480 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 480, 0);
int PeLoBarM15A480 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 480, 0);
int PeHiBarM15B480 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 480, 1);
int PeLoBarM15B480 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 480, 1);
int PeHiBarM15C480 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 480, 2);
int PeLoBarM15C480 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 480, 2);
int PeHiBarM15D480 = iHighest(Symbol(), PERIOD_M15, MODE_HIGH, 480, 3);
int PeLoBarM15D480 = iLowest(Symbol(), PERIOD_M15, MODE_LOW, 480, 3);
double PeHiM15A3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15A3);
double PeLoM15A3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15A3);
double PeHiM15B3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15B3);
double PeLoM15B3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15B3);
double PeHiM15C3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15C3);
double PeLoM15C3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15C3);
double PeHiM15D3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15D3);
double PeLoM15D3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15D3);
double PeHiM15E3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15E3);
double PeLoM15E3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15E3);
double PeHiM15F3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15F3);
double PeLoM15F3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15F3);
double PeHiM15G3 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15G3);
double PeLoM15G3 = iLow(Symbol(), PERIOD_M15, PeLoBarM15G3);
double PeHiM15A8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15A8);
double PeLoM15A8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15A8);
double PeHiM15B8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15B8);
double PeLoM15B8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15B8);
double PeHiM15C8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15C8);
double PeLoM15C8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15C8);
double PeHiM15D8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15D8);
double PeLoM15D8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15D8);
double PeHiM15E8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15E8);
double PeLoM15E8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15E8);
double PeHiM15F8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15F8);
double PeLoM15F8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15F8);
double PeHiM15G8 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15G8);
double PeLoM15G8 = iLow(Symbol(), PERIOD_M15, PeLoBarM15G8);
double PeHiM15A16 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15A16);
double PeLoM15A16 = iLow(Symbol(), PERIOD_M15, PeLoBarM15A16);
double PeHiM15B16 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15B16);
double PeLoM15B16 = iLow(Symbol(), PERIOD_M15, PeLoBarM15B16);
double PeHiM15C16 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15C16);
double PeLoM15C16 = iLow(Symbol(), PERIOD_M15, PeLoBarM15C16);
double PeHiM15D16 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15D16);
double PeLoM15D16 = iLow(Symbol(), PERIOD_M15, PeLoBarM15D16);
double PeHiM15E16 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15E16);
double PeLoM15E16 = iLow(Symbol(), PERIOD_M15, PeLoBarM15E16);
double PeHiM15A56 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15A56);
double PeLoM15A56 = iLow(Symbol(), PERIOD_M15, PeLoBarM15A56);
double PeHiM15B56 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15B56);
double PeLoM15B56 = iLow(Symbol(), PERIOD_M15, PeLoBarM15B56);
double PeHiM15C56 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15C56);
double PeLoM15C56 = iLow(Symbol(), PERIOD_M15, PeLoBarM15C56);
double PeHiM15D56 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15D56);
double PeLoM15D56 = iLow(Symbol(), PERIOD_M15, PeLoBarM15D56);
double PeHiM15E56 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15E56);
double PeLoM15E56 = iLow(Symbol(), PERIOD_M15, PeLoBarM15E56);
double PeHiM15A480 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15A480);
double PeLoM15A480 = iLow(Symbol(), PERIOD_M15, PeLoBarM15A480);
double PeHiM15B480 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15B480);
double PeLoM15B480 = iLow(Symbol(), PERIOD_M15, PeLoBarM15B480);
double PeHiM15C480 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15C480);
double PeLoM15C480 = iLow(Symbol(), PERIOD_M15, PeLoBarM15C480);
double PeHiM15D480 = iHigh(Symbol(), PERIOD_M15, PeHiBarM15D480);
double PeLoM15D480 = iLow(Symbol(), PERIOD_M15, PeLoBarM15D480);
int PeHiBarH4A5 = iHighest(Symbol(), PERIOD_H4, MODE_HIGH, 5, 0);
int PeLoBarH4A5 = iLowest(Symbol(), PERIOD_H4, MODE_LOW, 5, 0);
int PeHiBarH4B5 = iHighest(Symbol(), PERIOD_H4, MODE_HIGH, 5, 1);
int PeLoBarH4B5 = iLowest(Symbol(), PERIOD_H4, MODE_LOW, 5, 1);
int PeHiBarH4C5 = iHighest(Symbol(), PERIOD_H4, MODE_HIGH, 5, 2);
int PeLoBarH4C5 = iLowest(Symbol(), PERIOD_H4, MODE_LOW, 5, 2);
int PeHiBarH4D5 = iHighest(Symbol(), PERIOD_H4, MODE_HIGH, 5, 3);
int PeLoBarH4D5 = iLowest(Symbol(), PERIOD_H4, MODE_LOW, 5, 3);
double PeHiH4A5 = iHigh(Symbol(), PERIOD_H4, PeHiBarH4A5);
double PeLoH4A5 = iLow(Symbol(), PERIOD_H4, PeLoBarH4A5);
double PeHiH4B5 = iHigh(Symbol(), PERIOD_H4, PeHiBarH4B5);
double PeLoH4B5 = iLow(Symbol(), PERIOD_H4, PeLoBarH4B5);
double PeHiH4C5 = iHigh(Symbol(), PERIOD_H4, PeHiBarH4C5);
double PeLoH4C5 = iLow(Symbol(), PERIOD_H4, PeLoBarH4C5);
double PeHiH4D5 = iHigh(Symbol(), PERIOD_H4, PeHiBarH4D5);
double PeLoH4D5 = iLow(Symbol(), PERIOD_H4, PeLoBarH4D5);
double BB38UA= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_UPPER,0);
double BB38LA= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_LOWER,0);
double BB38UB= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_UPPER,1);
double BB38LB= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_LOWER,1);
double BB38UC= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_UPPER,2);
double BB38LC= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_LOWER,2);
double BB38UD= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_UPPER,3);
double BB38LD= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_LOWER,3);
double BB38UE= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_UPPER,4);
double BB38LE= iBands(NULL,PERIOD_M1,38,1,0,PRICE_CLOSE,MODE_LOWER,4);
double BB50UB= iBands(NULL,PERIOD_M1,50,1,0,PRICE_CLOSE,MODE_UPPER,1);
double BB50LB= iBands(NULL,PERIOD_M1,50,1,0,PRICE_CLOSE,MODE_LOWER,1);
double BB60UB= iBands(NULL,PERIOD_M1,60,1,0,PRICE_CLOSE,MODE_UPPER,1);
double BB60LB= iBands(NULL,PERIOD_M1,60,1,0,PRICE_CLOSE,MODE_LOWER,1);
double BB64UA= iBands(NULL,PERIOD_M15,64,1,0,PRICE_CLOSE,MODE_UPPER,0);
double BB64LA= iBands(NULL,PERIOD_M15,64,1,0,PRICE_CLOSE,MODE_LOWER,0);
double BB64UB= iBands(NULL,PERIOD_M15,64,1,0,PRICE_CLOSE,MODE_UPPER,1);
double BB64LB= iBands(NULL,PERIOD_M15,64,1,0,PRICE_CLOSE,MODE_LOWER,1);
double BB4UA= iBands(NULL,PERIOD_H4,4,1,0,PRICE_CLOSE,MODE_UPPER,0);
double BB4LA= iBands(NULL,PERIOD_H4,4,1,0,PRICE_CLOSE,MODE_LOWER,0);
double BB4UB= iBands(NULL,PERIOD_H4,4,1,0,PRICE_CLOSE,MODE_UPPER,1);
double BB4LB= iBands(NULL,PERIOD_H4,4,1,0,PRICE_CLOSE,MODE_LOWER,1);
double copenM1A=iOpen(Symbol(),PERIOD_M1,0);
double copenM1B=iOpen(Symbol(),PERIOD_M1,1); double ccloseM1B=iClose(Symbol(),PERIOD_M1,1);
double copenM1C=iOpen(Symbol(),PERIOD_M1,2); double ccloseM1C=iClose(Symbol(),PERIOD_M1,2);
double copenM1D=iOpen(Symbol(),PERIOD_M1,3); double ccloseM1D=iClose(Symbol(),PERIOD_M1,3);
double copenM1E=iOpen(Symbol(),PERIOD_M1,4); double ccloseM1E=iClose(Symbol(),PERIOD_M1,4);
double copenM1F=iOpen(Symbol(),PERIOD_M1,5); double ccloseM1F=iClose(Symbol(),PERIOD_M1,5);
double chighM1A=iHigh(Symbol(),PERIOD_M1,0); double clowM1A=iLow(Symbol(),PERIOD_M1,0);
double chighM1B=iHigh(Symbol(),PERIOD_M1,1); double clowM1B=iLow(Symbol(),PERIOD_M1,1);
double chighM1C=iHigh(Symbol(),PERIOD_M1,2); double clowM1C=iLow(Symbol(),PERIOD_M1,2);
double chighM1D=iHigh(Symbol(),PERIOD_M1,3); double clowM1D=iLow(Symbol(),PERIOD_M1,3);
double chighM1E=iHigh(Symbol(),PERIOD_M1,4); double clowM1E=iLow(Symbol(),PERIOD_M1,4);
double copenM5A=iOpen(Symbol(),PERIOD_M5,0);
double chighM5A=iHigh(Symbol(),PERIOD_M5,0); double clowM5A=iLow(Symbol(),PERIOD_M5,0);
double copenM5B=iOpen(Symbol(),PERIOD_M5,1); double ccloseM5B=iClose(Symbol(),PERIOD_M5,1);
double copenM5C=iOpen(Symbol(),PERIOD_M5,2); double ccloseM5C=iClose(Symbol(),PERIOD_M5,2);
double copenM5D=iOpen(Symbol(),PERIOD_M5,3); double ccloseM5D=iClose(Symbol(),PERIOD_M5,3);
double copenM5E=iOpen(Symbol(),PERIOD_M5,4); double ccloseM5E=iClose(Symbol(),PERIOD_M5,4);
double copenM5F=iOpen(Symbol(),PERIOD_M5,5); double ccloseM5F=iClose(Symbol(),PERIOD_M5,5);
double copenM5G=iOpen(Symbol(),PERIOD_M5,6); double ccloseM5G=iClose(Symbol(),PERIOD_M5,6);
double copenM5H=iOpen(Symbol(),PERIOD_M5,7); double ccloseM5H=iClose(Symbol(),PERIOD_M5,7);
double copenM5I=iOpen(Symbol(),PERIOD_M5,8); double ccloseM5I=iClose(Symbol(),PERIOD_M5,8);
double copenM5M=iOpen(Symbol(),PERIOD_M5,12); double ccloseM5M=iClose(Symbol(),PERIOD_M5,12);
double chighM5B=iHigh(Symbol(),PERIOD_M5,1); double clowM5B=iLow(Symbol(),PERIOD_M5,1);
double chighM5C=iHigh(Symbol(),PERIOD_M5,2); double clowM5C=iLow(Symbol(),PERIOD_M5,2);
double chighM5D=iHigh(Symbol(),PERIOD_M5,3); double clowM5D=iLow(Symbol(),PERIOD_M5,3);
double chighM5E=iHigh(Symbol(),PERIOD_M5,4); double clowM5E=iLow(Symbol(),PERIOD_M5,4);
double chighM5F=iHigh(Symbol(),PERIOD_M5,5); double clowM5F=iLow(Symbol(),PERIOD_M5,5);
double chighM5G=iHigh(Symbol(),PERIOD_M5,6); double clowM5G=iLow(Symbol(),PERIOD_M5,6);
double chighM5H=iHigh(Symbol(),PERIOD_M5,7); double clowM5H=iLow(Symbol(),PERIOD_M5,7);
double chighM5I=iHigh(Symbol(),PERIOD_M5,8); double clowM5I=iLow(Symbol(),PERIOD_M5,8);
double chighM5J=iHigh(Symbol(),PERIOD_M5,9); double clowM5J=iLow(Symbol(),PERIOD_M5,9);
double chighM5K=iHigh(Symbol(),PERIOD_M5,10); double clowM5K=iLow(Symbol(),PERIOD_M5,10);
double chighM5L=iHigh(Symbol(),PERIOD_M5,11); double clowM5L=iLow(Symbol(),PERIOD_M5,11);
double chighM5M=iHigh(Symbol(),PERIOD_M5,12); double clowM5M=iLow(Symbol(),PERIOD_M5,12);
double copenM15A=iOpen(Symbol(),PERIOD_M15,0);
double chighM15A=iHigh(Symbol(),PERIOD_M15,0); double clowM15A=iLow(Symbol(),PERIOD_M15,0);
double copenM15B=iOpen(Symbol(),PERIOD_M15,1); double ccloseM15B=iClose(Symbol(),PERIOD_M15,1);
double copenM15C=iOpen(Symbol(),PERIOD_M15,2); double ccloseM15C=iClose(Symbol(),PERIOD_M15,2);
double copenM15D=iOpen(Symbol(),PERIOD_M15,3); double ccloseM15D=iClose(Symbol(),PERIOD_M15,3);
double copenM15E=iOpen(Symbol(),PERIOD_M15,4); double ccloseM15E=iClose(Symbol(),PERIOD_M15,4);
double copenM15F=iOpen(Symbol(),PERIOD_M15,5); double ccloseM15F=iClose(Symbol(),PERIOD_M15,5);
double copenM15G=iOpen(Symbol(),PERIOD_M15,6); double ccloseM15G=iClose(Symbol(),PERIOD_M15,6);
double copenM15H=iOpen(Symbol(),PERIOD_M15,7); double ccloseM15H=iClose(Symbol(),PERIOD_M15,7);
double chighM15B=iHigh(Symbol(),PERIOD_M15,1); double clowM15B=iLow(Symbol(),PERIOD_M15,1);
double chighM15C=iHigh(Symbol(),PERIOD_M15,2); double clowM15C=iLow(Symbol(),PERIOD_M15,2);
double chighM15D=iHigh(Symbol(),PERIOD_M15,3); double clowM15D=iLow(Symbol(),PERIOD_M15,3);
double chighM15E=iHigh(Symbol(),PERIOD_M15,4); double clowM15E=iLow(Symbol(),PERIOD_M15,4);
double chighM15F=iHigh(Symbol(),PERIOD_M15,5); double clowM15F=iLow(Symbol(),PERIOD_M15,5);
double chighM15G=iHigh(Symbol(),PERIOD_M15,6); double clowM15G=iLow(Symbol(),PERIOD_M15,6);
double chighM15H=iHigh(Symbol(),PERIOD_M15,7); double clowM15H=iLow(Symbol(),PERIOD_M15,7);
double chighM30B=iHigh(Symbol(),PERIOD_M30,1); double clowM30B=iLow(Symbol(),PERIOD_M30,1);
double chighM30C=iHigh(Symbol(),PERIOD_M30,2); double clowM30C=iLow(Symbol(),PERIOD_M30,2);
double chighM30D=iHigh(Symbol(),PERIOD_M30,3); double clowM30D=iLow(Symbol(),PERIOD_M30,3);
double chighM30E=iHigh(Symbol(),PERIOD_M30,4); double clowM30E=iLow(Symbol(),PERIOD_M30,4);
double chighM30F=iHigh(Symbol(),PERIOD_M30,5); double clowM30F=iLow(Symbol(),PERIOD_M30,5);
double chighM30G=iHigh(Symbol(),PERIOD_M30,6); double clowM30G=iLow(Symbol(),PERIOD_M30,6);
double chighM30H=iHigh(Symbol(),PERIOD_M30,7); double clowM30H=iLow(Symbol(),PERIOD_M30,7);
double copenH1B=iOpen(Symbol(),PERIOD_H1,1);double ccloseH1B=iClose(Symbol(),PERIOD_H1,1);
double copenH1C=iOpen(Symbol(),PERIOD_H1,2);double ccloseH1C=iClose(Symbol(),PERIOD_H1,2);
double clowH1A=iLow(Symbol(),PERIOD_H1,0); double chighH1A=iHigh(Symbol(),PERIOD_H1,0);
double clowH1B=iLow(Symbol(),PERIOD_H1,1); double chighH1B=iHigh(Symbol(),PERIOD_H1,1);
double clowH1C=iLow(Symbol(),PERIOD_H1,2); double chighH1C=iHigh(Symbol(),PERIOD_H1,2);
double clowH1D=iLow(Symbol(),PERIOD_H1,3); double chighH1D=iHigh(Symbol(),PERIOD_H1,3);
double clowH1E=iLow(Symbol(),PERIOD_H1,1); double chighH1E=iHigh(Symbol(),PERIOD_H1,4);
double copenD1A=iOpen(Symbol(),PERIOD_D1,0);
double copenD1B=iOpen(Symbol(),PERIOD_D1,1);
double ccloseD1B=iClose(Symbol(),PERIOD_D1,1);
double clowH4A=iLow(Symbol(),PERIOD_H4,0); double chighH4A=iHigh(Symbol(),PERIOD_H4,0);
double clowH4B=iLow(Symbol(),PERIOD_H4,1); double chighH4B=iHigh(Symbol(),PERIOD_H4,1);
double clowD1A=iLow(Symbol(),PERIOD_D1,0); double chighD1A=iHigh(Symbol(),PERIOD_D1,0);
double clowD1B=iLow(Symbol(),PERIOD_D1,1); double chighD1B=iHigh(Symbol(),PERIOD_D1,1);
double copenH1A=iOpen(Symbol(),PERIOD_H1,0);
double copenH4A=iOpen(Symbol(),PERIOD_H4,0);
double copenH4B=iOpen(Symbol(),PERIOD_H4,1);double ccloseH4B=iClose(Symbol(),PERIOD_H4,1);
double EMA2A4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA3A4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA4A4H = GetMa(Symbol(),PERIOD_H4,4,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA6A4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA12A4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA18A4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA25A4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,0);//7sma
double SMA30A4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,0);//7sma
double LWG25A = GetMa(Symbol(),PERIOD_M1,25,0,MODE_LWMA,PRICE_OPEN,0);//7sma
double LWG5A = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,0);//7sma
double EMA10A = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA40A = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA94A = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA195A = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,0);//7sma
double SMA5A = GetMa(Symbol(),PERIOD_M5,5,0,MODE_SMA,PRICE_CLOSE,0);//7sma
double SMA24A = GetMa(Symbol(),PERIOD_M5,24,0,MODE_SMA,PRICE_CLOSE,0);//7sma
double SMA30A = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,0);//7sma
double SMA60A = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,0);//7sma
double EMA200A = GetMa(Symbol(),PERIOD_M1,200,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA50A = GetMa(Symbol(),PERIOD_M1,50,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA3A = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA16A = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA24A = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA32A = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,0);//7sma
double EMA48A = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,0);//7sma
double SMA64A = GetMa(Symbol(),PERIOD_M15,64,0,MODE_SMA,PRICE_CLOSE,0);//7sma
double EMA360A = GetMa(Symbol(),PERIOD_M15,360,0,MODE_EMA,PRICE_OPEN,0);//7sma
bool DragonB = false, DragonS = false;
if (EMA3A - EMA16A < NormalizeDouble(18/factor,Digits))if(EMA3A>EMA16A) DragonB = true;
if (EMA3A<EMA16A) DragonB = true;
if (EMA16A - EMA3A < NormalizeDouble(18/factor,Digits))if(EMA3A<EMA16A) DragonS = true;
if(EMA3A>EMA16A) DragonS = true;
double EMA2B4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA3B4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA4B4H = GetMa(Symbol(),PERIOD_H4,4,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA6B4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA12B4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA18B4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA25B4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,1);//7sma
double SMA30B4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,1);//7sma
double LWG5B = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,1);//7sma
double EMA10B = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA40B = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA94B = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA195B = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,1);//7sma
double SMA24B = GetMa(Symbol(),PERIOD_M5,24,0,MODE_SMA,PRICE_CLOSE,1);//7sma
double SMA30B = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,1);//7sma
double SMA60B = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,1);//7sma
double EMA50B = GetMa(Symbol(),PERIOD_M1,50,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA200B = GetMa(Symbol(),PERIOD_M1,200,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA3BO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA16BO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA24BO = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA32BO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,1);//7sma
double EMA48BO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,1);//7sma
double SMA64B = GetMa(Symbol(),PERIOD_M15,64,0,MODE_SMA,PRICE_CLOSE,1);//7sma
double LWG25B = GetMa(Symbol(),PERIOD_M1,25,0,MODE_LWMA,PRICE_OPEN,1);//7sma
double EMA3B = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,1);//7sma
double EMA16B = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_CLOSE,1);//7sma
double EMA32B = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_CLOSE,1);//7sma
double EMA48B = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_CLOSE,1);//7sma
double EMA2C4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA3C4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA4C4H = GetMa(Symbol(),PERIOD_H4,4,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA6C4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA12C4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA18C4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA25C4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,2);//7sma
double SMA30C4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,2);//7sma
double LWG5C = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,2);//7sma
double EMA10C = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA40C = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA94C = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA195C = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,2);//7sma
double SMA24C = GetMa(Symbol(),PERIOD_M5,24,0,MODE_SMA,PRICE_CLOSE,2);//7sma
double SMA30C = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,2);//7sma
double SMA60C = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,2);//7sma
double LWG25C = GetMa(Symbol(),PERIOD_M1,25,0,MODE_LWMA,PRICE_OPEN,2);//7sma
double EMA50C = GetMa(Symbol(),PERIOD_M1,50,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA200C = GetMa(Symbol(),PERIOD_M1,200,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA3C = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,2);//7sma
double EMA16C = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_CLOSE,2);//7sma
double EMA32C = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_CLOSE,2);//7sma
double EMA48C = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_CLOSE,2);//7sma
double SMA64C = GetMa(Symbol(),PERIOD_M15,64,0,MODE_SMA,PRICE_CLOSE,2);//7sma
double EMA3CO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA16CO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA24CO = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA32CO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA48CO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,2);//7sma
double EMA2D4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA3D4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA4D4H = GetMa(Symbol(),PERIOD_H4,4,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA6D4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA12D4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA18D4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA25D4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,3);//7sma
double SMA30D4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,3);//7sma
double LWG5D = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,3);//7sma
double EMA10D = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA40D = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA94D = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA195D = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,3);//7sma
double SMA24D = GetMa(Symbol(),PERIOD_M5,24,0,MODE_SMA,PRICE_CLOSE,3);//7sma
double SMA30D = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,3);//7sma
double SMA60D = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,3);//7sma
double LWG25D = GetMa(Symbol(),PERIOD_M1,25,0,MODE_LWMA,PRICE_OPEN,3);//7sma
double EMA50D = GetMa(Symbol(),PERIOD_M1,50,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA200D = GetMa(Symbol(),PERIOD_M1,200,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA3D = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,3);//7sma
double EMA16D = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_CLOSE,3);//7sma
double EMA32D = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_CLOSE,3);//7sma
double EMA48D = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_CLOSE,3);//7sma
double EMA3DO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA16DO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA24DO = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA32DO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,3);//7sma
double EMA48DO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,3);//7sma
double LWG5E = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,4);//7sma
double EMA10E = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA40E = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA94E = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA195E = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,4);//7sma
double SMA24E = GetMa(Symbol(),PERIOD_M5,24,0,MODE_SMA,PRICE_CLOSE,4);//7sma
double SMA30E = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,4);//7sma
double SMA60E = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,4);//7sma
double EMA2E4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA3E4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA4E4H = GetMa(Symbol(),PERIOD_H4,4,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA6E4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA12E4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA18E4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA25E4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,4);//7sma
double SMA30E4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,4);//7sma
double LWG25E = GetMa(Symbol(),PERIOD_M1,25,0,MODE_LWMA,PRICE_OPEN,4);//7sma
double EMA50E = GetMa(Symbol(),PERIOD_M1,50,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA200E = GetMa(Symbol(),PERIOD_M1,200,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA3E = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_CLOSE,4);//7sma
double EMA16E = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_CLOSE,4);//7sma
double EMA32E = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_CLOSE,4);//7sma
double EMA48E = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_CLOSE,4);//7sma
double EMA3EO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA16EO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA32EO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,4);//7sma
double EMA48EO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,4);//7sma
double LWG5F = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,5);//7sma
double EMA10F = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA40F = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA94F = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA195F = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,5);//7sma
double SMA30F = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,5);//7sma
double SMA60F = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,5);//7sma
double EMA2F4H = GetMa(Symbol(),PERIOD_H4,2,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA3F4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA4F4H = GetMa(Symbol(),PERIOD_H4,3,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA6F4H = GetMa(Symbol(),PERIOD_H4,6,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA12F4H = GetMa(Symbol(),PERIOD_H4,12,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA18F4H = GetMa(Symbol(),PERIOD_H4,18,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA25F4H = GetMa(Symbol(),PERIOD_H4,25,0,MODE_EMA,PRICE_OPEN,5);//7sma
double SMA30F4H = GetMa(Symbol(),PERIOD_H4,30,0,MODE_SMA,PRICE_OPEN,5);//7sma
double EMA3FO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA16FO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA24FO = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA32FO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,5);//7sma
double EMA48FO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,5);//7sma
double LWG5G = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,6);//7sma
double EMA10G = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA40G = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA94G = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA195G = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,6);//7sma
double SMA30G = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,6);//7sma
double SMA60G = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,6);//7sma
double EMA3GO = GetMa(Symbol(),PERIOD_M15,3,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA16GO = GetMa(Symbol(),PERIOD_M15,16,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA24GO = GetMa(Symbol(),PERIOD_M15,24,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA32GO = GetMa(Symbol(),PERIOD_M15,32,0,MODE_EMA,PRICE_OPEN,6);//7sma
double EMA48GO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,6);//7sma
double LWG5H = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,7);//7sma
double EMA10H = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,7);//7sma
double EMA40H = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,7);//7sma
double EMA48HO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,7);//7sma
double EMA94H = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,7);//7sma
double EMA195H = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,7);//7sma
double SMA30H = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,7);//7sma
double SMA60H = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,7);//7sma
double LWG5I = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,8);//7sma
double EMA10I = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,8);//7sma
double EMA40I = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,8);//7sma
double EMA48IO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,8);//7sma
double EMA94I = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,8);//7sma
double EMA195I = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,8);//7sma
double SMA30I = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,8);//7sma
double SMA60I = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,8);//7sma
double LWG5J = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,9);//7sma
double EMA10J = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,9);//7sma
double EMA40J = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,9);//7sma
double EMA48JO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,9);//7sma
double EMA94J = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,9);//7sma
double EMA195J = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,9);//7sma
double SMA30J = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,9);//7sma
double SMA60J = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,9);//7sma
double LWG5K = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,10);//7sma
double EMA10K = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,10);//7sma
double EMA40K = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,10);//7sma
double EMA48KO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,10);//7sma
double EMA94K = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,10);//7sma
double EMA195K = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,10);//7sma
double SMA30K = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,10);//7sma
double SMA60K = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,10);//7sma
double LWG5L = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,11);//7sma
double EMA10L = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,11);//7sma
double EMA40L = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,11);//7sma
double EMA48LO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,11);//7sma
double EMA94L = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,11);//7sma
double EMA195L = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,11);//7sma
double SMA30L = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,11);//7sma
double SMA60L = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,11);//7sma
double LWG5M = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,12);//7sma
double EMA10M = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,12);//7sma
double EMA40M = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,12);//7sma
double EMA48MO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,12);//7sma
double EMA94M = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,12);//7sma
double EMA195M = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,12);//7sma
double SMA30M = GetMa(Symbol(),PERIOD_M5,30,0,MODE_SMA,PRICE_CLOSE,12);//7sma
double SMA60M = GetMa(Symbol(),PERIOD_M5,60,0,MODE_SMA,PRICE_CLOSE,12);//7sma
double LWG5R = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,18);//7sma
double EMA10R = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,18);//7sma
double EMA40R = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,18);//7sma
double EMA48RO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,18);//7sma
double EMA94R = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,18);//7sma
double EMA195R = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,18);//7sma
double LWG5Z = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,24);//7sma
double EMA10Z = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,24);//7sma
double EMA40Z = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,24);//7sma
double EMA48ZO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,24);//7sma
double EMA94Z = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,24);//7sma
double EMA195Z = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,24);//7sma
double LWG5ZM = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,36);//7sma
double EMA10ZM = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,36);//7sma
double EMA40ZM = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,36);//7sma
double EMA48ZMO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,36);//7sma
double EMA94ZM = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,36);//7sma
double EMA195ZM = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,36);//7sma
double LWG5ZZ = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,48);//7sma
double EMA10ZZ = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,48);//7sma
double EMA40ZZ = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,48);//7sma
double EMA48ZZO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,48);//7sma
double EMA94ZZ = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,48);//7sma
double EMA195ZZ = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,48);//7sma
double LWG5ZZM = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,60);//7sma
double EMA10ZZM = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,60);//7sma
double EMA40ZZM = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,60);//7sma
double EMA48ZZMO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,60);//7sma
double EMA94ZZM = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,60);//7sma
double EMA195ZZM = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,60);//7sma
double LWG5ZZZ = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,72);//7sma
double EMA10ZZZ = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,72);//7sma
double EMA40ZZZ = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,72);//7sma
double EMA48ZZZO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,72);//7sma
double EMA94ZZZ = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,72);//7sma
double EMA195ZZZ = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,72);//7sma
double LWG5ZZZM = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,84);//7sma
double EMA10ZZZM = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,84);//7sma
double EMA40ZZZM = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,84);//7sma
double EMA48ZZZMO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,84);//7sma
double EMA94ZZZM = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,84);//7sma
double EMA195ZZZM = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,84);//7sma
double LWG5ZZZZ = GetMa(Symbol(),PERIOD_M5,5,0,MODE_LWMA,PRICE_OPEN,96);//7sma
double EMA10ZZZZ = GetMa(Symbol(),PERIOD_M5,10,0,MODE_EMA,PRICE_OPEN,96);//7sma
double EMA40ZZZZ = GetMa(Symbol(),PERIOD_M5,40,0,MODE_EMA,PRICE_OPEN,96);//7sma
double EMA48ZZZZO = GetMa(Symbol(),PERIOD_M5,48,0,MODE_EMA,PRICE_OPEN,96);//7sma
double EMA94ZZZZ = GetMa(Symbol(),PERIOD_M5,94,0,MODE_EMA,PRICE_OPEN,96);//7sma
double EMA195ZZZZ = GetMa(Symbol(),PERIOD_M5,195,0,MODE_EMA,PRICE_OPEN,96);//7sma
bool M5SA=false,M5SB=false,M5SC=false,M5BA=false,M5BB=false,M5BC=false;
bool DragXUpF=false,DragXUpE=false,DragXUpD=false,DragXUpC=false,DragXUpB=false;
Показано первые 50% кода (символов: 167274)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.