Exp5_-_VirtualTradePad_v4.0

Author: 2008-2010, Expforex

The provided MQL4 script appears to be part of an Expert Advisor (EA) for the MetaTrader 4 platform, designed to analyze trading signals from the RSI indicator. Here's a breakdown of its components and functionality:

Key Components

  1. Variables:

    • i, iRSI: Loop counters.
    • RSI, Signal, RSILast, SignalLast, sig1, sig2, sig3, sig4: Variables used to store RSI values and trading signals.
  2. Input Parameters:

    • RSIPeriod: The period for the RSI indicator.
    • AlertSound, Commentary: Flags to enable alerts and commentary.
  3. Functions:

    • OnInit(): Initializes arrays and settings when the EA is loaded.

    • OnTick(): Main function executed every tick, which:

      • Updates current RSI values for each symbol.
      • Computes signals based on RSI levels (overbought/oversold).
      • Plots these signals using colored shapes (triangles) on a chart.
      • Optionally creates labels with signal information.
      • Sends alerts and updates commentary if enabled.
    • SetLabel(): A custom function to create and configure text labels on the chart.

    • arrow(int sig): Returns an arrow character based on the trading signal (buy/sell/no action).

    • Colorarrow(int sig): Returns a color corresponding to the trading signal.

Functionality

  • The EA uses RSI levels to generate buy or sell signals:

    • Buy Signal (sig1): Triggered when RSI falls below 30.
    • Sell Signal (sig2): Triggered when RSI rises above 70.
    • Neutral Signals (sig3, sig4): Indicate the absence of a buy or sell signal.
  • Plotting: It uses colored triangles on the chart to visually represent these signals:

    • Upward triangle for buy signals.
    • Downward triangle for sell signals.
  • Alerts and Commentary:

    • Plays a sound when a new signal is generated (if AlertSound is enabled).
    • Updates commentary with signal information (if Commentary is enabled).

Improvements

  1. Error Handling: Add checks to handle potential errors, such as failed access to chart data or invalid parameters.

  2. Optimization: Consider optimizing the loop and conditions to reduce redundancy and improve performance.

  3. Configuration: Allow dynamic configuration of RSI levels for buy/sell signals instead of hardcoding values (30 and 70).

  4. Code Readability: Improve variable naming conventions and add more comments to enhance readability and maintainability.

  5. Testing: Ensure thorough testing on different symbols and timeframes to validate functionality across various market conditions.

This script is a basic implementation for generating trading signals based on RSI indicators, suitable for customization and further enhancement as per specific trading strategies.

Orders Execution
It automatically opens orders when conditions are reachedChecks for the total of open orders
Indicators Used
Moving average indicatorMACD HistogramStochastic oscillatorRelative strength indexCommodity channel indexLarry William percent range indicatorBollinger bands indicatorEnvelopes indicatorBill Williams AlligatorBill Williams Awesome oscillatorIchimoku Kinko Hyo
Miscellaneous
It plays sound alerts
1 Views
0 Downloads
0 Favorites
Exp5_-_VirtualTradePad_v4.0
//+------------------------------------------------------------------+
//|                                         Copyright 2009, Expforex |
//|                                        http://www.expforex.at.ua |
//+------------------------------------------------------------------+
#property copyright "2008-2010, Expforex"
#property link      "http://www.expforex.at.ua"
#property version   "4.0"

#property description "VirtualTradePad for MT5 Àâòîðñêàÿ ðàçðàáîòêà. Ñèñòåìà äëÿ ðàáîòû íà ðûíêå Forex îäíèì íàæàòèåì êíîïêè. Äëÿ êîíêóðñà \"Ëó÷øàÿ ïàíåëü óïðàâëåíèÿ\" "
/*
Èñòîðèÿ âåðñèé: 

V1.0:
-Â Ýêñïåðòå ðåàëçèîâàíû âñå ñêðèïòû ïî çàêðûòèþ îðäåðîâ.
-Â äàííîé âåðñèè ïðèñóòñòâóþò òàêèå êíîïêè:
--CloseALL
--CloseALLSTOP
--CloseBUY
--CloseBUYSTOP
--CloseSELL
--CloseSELLSTOP
--CloseLOSS
--ClosePROFIT
-Ïðè íàæàòèè êíîïêè, âñå ïîçèöèè/îðäåðà çàêðîþòñÿ/óäàëÿòñÿ, ïî âñåì èíñòðóìåíòàì.
 
V2.0:
-Äîáàâèë êíîïêè îòêðûòèÿ îðäåðîâ BUY SELL 
-Äîáàâèë ïàðàìåòðû Òåéêïðîôèò, Ñòîïëîñ, Ëîò
-Åñëè StopLosss èëè TakeProfits - óêàçàíû ìèíèìàëüíû è íåðàâíû 0, òî ñèñòåìà àâòîìàòè÷åñêè óñòàíàâëèâàåò çíà÷åíèÿ íà ìèíèìàëüíîå ðàññòîÿíèå.
-Äîáàâèë SymbolClose - áóëåíò íà çàêðûòèå âñåõ ñèìâîëîâ, ëèáî æå ïî òåêóùåìó.
-Äîáàâèë âîçìîæíîñòü ñòàâèòü îòëîæåííûå îðäåðà BUYSTOP b SELLSTOP
-Ïàðàìåòð OrderPricePip - ðàññòîÿíèå äëÿ îòëîæêè
-Åñëè OrderPricePips íåðàâíî 0 è ìåíüøå ìèíèìàëüíîãî ñòîïà, ïàðàìåòðó ïðèñâàèâàåòñÿ ìèíèìàëüíûé ñòîï


V2.2:
-Èñïðàâëåíû íàçâàíèå êíîïîê íà óäàëåíèå îòëîæåííûõ îðäåðîâ
-Äîáàâëåíî ïîëå èçìåíåíèÿ Lots â ðåàëüíîì ðåæèìå.
--Åñëè Lots - ïûòàåòåñü âûñòàâèòü ìåíüøå ìèíèìàëüíîãî - çíà÷åíèå ñòàíîâèòñÿ ìèíèìàëüíî âîçìîæíûì íà ýòîì ñåðåâåðå
-Äîáàâëåíî ïîëå èçìåíåíèÿ TakeProfit â ðåàëüíîì ðåæèìå.
--Åñëè TakeProfit - ïûòàåòåñü âûñòàâèòü ìåíüøå ìèíèìàëüíîãî - çíà÷åíèå ñòàíîâèòñÿ ìèíèìàëüíî âîçìîæíûì íà ýòîì ñåðåâåðå
--Åñëè TakeProfit áîëüøå 0 , òî îêíî çíà÷åíèÿ òåéêïðîôèòà ñòàíîâèòñÿ çåëåíûì - ò.å. âêëþ÷åííûì.
-Äîáàâëåíî ïîëå èçìåíåíèÿ StopLoss â ðåàëüíîì ðåæèìå.
--Åñëè StopLoss - ïûòàåòåñü âûñòàâèòü ìåíüøå ìèíèìàëüíîãî - çíà÷åíèå ñòàíîâèòñÿ ìèíèìàëüíî âîçìîæíûì íà ýòîì ñåðåâåðå
--Åñëè StopLoss áîëüøå 0 , òî îêíî çíà÷åíèÿ òåéêïðîôèòà ñòàíîâèòñÿ çåëåíûì - ò.å. âêëþ÷åííûì.
-Äîáàâëåíî ïîëå èçìåíåíèÿ OrderPricePip â ðåàëüíîì ðåæèìå.
--Åñëè OrderPricePip - ïûòàåòåñü âûñòàâèòü ìåíüøå ìèíèìàëüíîãî - çíà÷åíèå ñòàíîâèòñÿ ìèíèìàëüíî âîçìîæíûì íà ýòîì ñåðåâåðå
--Åñëè OrderPricePip áîëüøå 0 , òî îêíî çíà÷åíèÿ òåéêïðîôèòà ñòàíîâèòñÿ çåëåíûì - ò.å. âêëþ÷åííûì.

V2.3
-Äîáàâèë âîçìîæíîñòü ïðÿòàòü ïàíåëü ñ ïîìîùüþ êíîïêè : Âêëþ÷èòü/Âûêëþ÷èòü VisualTrade 
-Ïåðåñòðîèë êíîïêè îòêðûòèÿ îðäåðîâ ïîä ïàðàìåòðû îòêðûòèÿ.

v2.6 
-Ðàçðàáîòêà è äîðàáîòêà äÿë êîíêóðñà íà mql5.com
-Ïåðåäâèíóë êíîïêè
-Èñïðàâèë îøèáêó îòêðûòèÿ ïîçèöèé
-Èñïðàâèë îøèáêó çàêðûòèÿ ïîçèöèé åñëèáîëüøå 1 à òàêæå óäàëåíèè â ïîðÿäêå óáûâàíèÿ
-Äîáàâèë òðàëëèíãñòîï



v 3.4 
-Ïîëíîñòüþ ïîìåíÿë äèçàéí
-Äîáàâèë ãðàôèê ïîêàçàíèÿ öåí Áèä è Àñê
-Äîáàâèë âûáîð âàëþòíîé ïàðû äëÿ ðàáîòû ñ íåé
-Óáðàë ðàáîòó ñ îòëîæåííèêàìè ïîêà-÷òî
-Äîáàâèë Èíôîðìàöèþ ïî îòêðûòîé ïîçèöè äëÿ âûáðàííîé ïàðû
-Äîáàâèë ïðîâåðêó ñîåäèíåíèÿ ñ ñåðâåðîì
-Äîáàâèë ïîñëåäíåå âðåìÿ ñåðâåðà
-Äîáàâèë ïàíåëü óïðàâëåíèÿ òðàëëèíãà
-Ïðè ñòàðòå - ïîçèöèè ñðàçó ïðîâåðÿþòñÿ è ñîîòâåòñòâóþùèå êíîïêè ñîîòâåòñâåííî ðàñêðàøèâàþòñÿ 
-Èñïðàâèë âñå ïðåäñòâàëåíèÿ äàííûõ, ÷òîáû íå âûñâå÷èâàëî Warningov
-Ïðèâåë â áîëåå ïîíÿòíûé âèä âåñü êîä, ñäåëàë îïèñàíèå âñåõ ôóíêöèé âíóòðè êîäà
-Äîáàâèë 4 âêëàäêè: 
Pos(Ðàáîòà ñ ïîçèöèÿûìè)
: Áëîê ëîòû
: Áëîê Ñòîïëîññ
: Áëîê Òåéêïðîôèò
: Áëîê Òðàëëèíãñòîï
: Áëîê îòêðûòèÿ BUY SELL
: Áëîê çàêðûòèÿ 
: Áëîê Reverse - ïåðåâåðíóòü ïîçèöèþ ïî ïàðå
Ord(Ðàáîòà ñ îòëîæåííèêàìè)
: Çíà÷åíèå Ïóíêòîâ îò òåêóöùåé öåíû
: 4 êíîïêè íà 4 îòëîæåííèêà: BUYSTOP SELLSTOP BUYLIMIT SELLLIMIT
: Ñòîïëîññ Òåéêïðîôèò
: Ëîò
: Êíîïêà Óäàëèòü âñå îòëîæåííèêè

INFO(Ïîêàçûâàåò èíôîðìàöèþ î âûáðàííîé âàëþòíîé ïàðå + ïîêàçûâàåò ñîñòîÿíèå áàðîâ ïî âñåì ñòàíäàðòíûì ÒÔ â âèäå ñòðåëîê)
: Ñïðåä
: Ñòîï 
: Ïèïñ
: ËÎÒ Ìèí
: ËÎÒ Ìàõ
: ËÎÒ øàã
: Ñâîï äëèííûé è êîðîòêèé
: Ïàíåëü äâèæåíèÿ âàëþòû íà ðàçíûõ ÒÔ

OTHER(Äîáàâèë ñþäà ïîëåçíûå ôóíêöèè)
: Çàêðûòèå âñåõ ïîçèöèé ïðè äîñòèæåíèè îïðåäåëåííîãî ïàðàìòåðà: Ïðîöåíò îò áàëàíñà / Ïóíêòû / Âàëþòà äåïîçèòà
: Ãðèäåð äëÿ ñóùåñòâóþùåé ïîçèöèè, âûñòàâëÿåò ñåòêó îòëîæåííûõ îðäåðîâ îò ñóùåñòâóþùåé ïîçèöèè.

+Ïðè íàæàòèè íà ÒÔ â âêëàäêå INFO  - Ñáîêó îòêðûâàåòñÿ ãðàôèê âûáðàííîé ïàðû è ÒÔ, ïðè ïîâòîðíîì íàæàòèè ãðàôèê çàêðûâàåòñÿ

Ind
: Âêëàäêà ïîêàçûâàþùàÿ ñèãíàëû ñ 11 èíäèêàòîðîâ, îïèñàííûõ â ñòàòüå 20 òîðãîâûõ òàêòèê http://www.mql5.com/ru/articles/130 

*/

//+------------------------------------------------------------------+
//| Âíåøíèå    ïåðåìåííûå                                            |
//+------------------------------------------------------------------+
input string Symbol1="EURUSD";
input string Symbol2="EURGBP";
input string Symbol3="EURCHF";
input string Symbol4="USDCHF";
input string Symbol5="USDJPY";
input string Symbol6="GBPUSD";

//+------------------------------------------------------------------+
//| Ãëîáàëüíûå ïåðåìåííûå                                            |
//+------------------------------------------------------------------+

bool SymbolClose=true;
double lot=0.1;
int TakeProfits=0;
int StopLosss=0;
int OrderPricePips=20;
int Profit;
int Loss;
int TypeofClose;
int OrderPricePip=0;
int GRIDNUMBER=1;
int TakeProfit=0;
int StopLoss=0;
double lotss=0;
bool SymbolCloseS;
int OrderLevelStop;

int TFToInd;
ushort     TRAILING_STOP  =      0; // Óðîâåíü òðåéëèíã ñòîïà
ushort     TRAILING_STEP  =      1; // Øàã ïåðåìåùåíèÿ òðåéëèíã ñòîïà
ushort     SLIPPAGE=2; // Ïðîñêàëüçûâàíèå

int window=0;

//+------------------------------------------------------------------+
//| Îáúÿâèì ïåðåìåííûå äëÿ õðàíåíèÿ íàñòðîåê èíäèêàòîðîâ             |
//+------------------------------------------------------------------+
//--- input parameters Moving Average
int                periodma1=8;
int                periodma2=16;
ENUM_MA_METHOD     MAmethod=MODE_SMA;
ENUM_APPLIED_PRICE MAprice=PRICE_CLOSE;
//--- input parameters MACD
int                FastMACD=12;
int                SlowMACD=26;
int                MACDSMA=9;
ENUM_APPLIED_PRICE MACDprice=PRICE_CLOSE;
//--- input parameters Price Channel
int                PCPeriod=22;
//--- input parameters Adaptive Channel ADX
int                ADXPeriod=14;
//--- input parameters Stochastic Oscillator
int                SOPeriodK=5;
int                SOPeriodD=3;
int                SOslowing=3;
ENUM_MA_METHOD     SOmethod=MODE_SMA;
ENUM_STO_PRICE     SOpricefield=STO_LOWHIGH;
//--- input parameters RSI
int                RSIPeriod=14;
ENUM_APPLIED_PRICE RSIprice=PRICE_CLOSE;
//--- input parameters CCI
int                CCIPeriod=14;
ENUM_APPLIED_PRICE CCIprice=PRICE_TYPICAL;
//--- input parameters WPR
int                WPRPeriod=14;
//--- input parameters Bollinger Bands
int                BBPeriod=20;
double             BBdeviation=2.0;
ENUM_APPLIED_PRICE BBprice=PRICE_CLOSE;
//--- input parameters Standard Deviation Channel
int                SDCPeriod=14;
double             SDCdeviation=2.0;
ENUM_APPLIED_PRICE SDCprice=PRICE_CLOSE;
ENUM_MA_METHOD     SDCmethod=MODE_SMA;
//--- input parameters Price Channel 2
int                PC2Period=22;
//--- input parameters Envelopes
int                ENVPeriod=14;
double             ENVdeviation=0.1;
ENUM_APPLIED_PRICE ENVprice=PRICE_CLOSE;
ENUM_MA_METHOD     ENVmethod=MODE_SMA;
//--- input parameters Donchian Channels
int                DCPeriod=24;
int                DCExtremes=3;
int                DCMargins=-2;
//--- input parameters Silver-channels
int                SCPeriod=26;
double             SCSilvCh=38.2;
double             SCSkyCh=23.6;
double             SCFutCh=61.8;
//--- input parameters NRTR
int                NRTRPeriod   =  40;
double             NRTRK        =  2.0;
//--- input parameters Alligator
int                ALjawperiod=13;
int                ALteethperiod=8;
int                ALlipsperiod=5;
ENUM_MA_METHOD     ALmethod=MODE_SMMA;
ENUM_APPLIED_PRICE ALprice=PRICE_MEDIAN;
//--- input parameters AMA
int                AMAperiod=9;
int                AMAfastperiod=2;
int                AMAslowperiod=30;
ENUM_APPLIED_PRICE AMAprice=PRICE_CLOSE;
//--- input parameters Ichimoku Kinko Hyo
int                IKHtenkansen=9;
int                IKHkijunsen=26;
int                IKHsenkouspanb=52;

string buttonID="Çàêðûòü âñå ïîçèöèè";
string buttonID8="Îòêðûòü ïîçèöèþ Buy ";
string buttonID9="Îòêðûòü ïîçèöèþ Sell";


int trailing_level;      // Óðîâåíü òðåéëèíã ñòîïà
int trailing_step;      // øàã òðåéëèíã ñòîïà
int slippage;           // ïðîñêàëüçûâàíèå


MqlTick tick;             // òåêóùàÿ êîòèðîâêà
MqlTick first_tick;       // ïåðâàÿ êîòèðîâêà 
MqlTradeRequest request;  // ïàðàìåòðû òîðãîâîãî çàïðîñà
MqlTradeResult result;    // ðåçóëüòàò òîðãîâîãî çàïðîñà


double order_open_price;  // öåíà îòêðûòèÿ îðäåðà
double spread;            // âåëè÷èíà ñïðýäà
ulong stop_level;         // ìèíèìàëüíûé îòñòóï îò öåíû äëÿ óñòàíîâêè ñòîï ëîññà / òåéê ïðîôèòà
ulong order_type;         // òèï îðäåðà
ulong order_ticket;       // òèêåò îðäåðà 

string  symToWork;
//+------------------------------------------------------------------+
//| Expert ÂÓDEinitialization function                               |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)

  {
//Ïðè äåèíèöèàëèçàöèè óäàëÿåì âñå îáüåêòû
   ObjectsDeleteAll(window,0);
   return;
  }
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//Ïðèñâàèâàåì ïî óìîë÷àíèþ - ãðàôèê íà êîòîðîì ñòîèò Ïàíåëü
   symToWork=Symbol();
//Ïðèñâàèâàåì çíà÷åíèÿ äëÿ Òðàëëèíãñòîïà
   trailing_step  = TRAILING_STEP;
   slippage       = SLIPPAGE;
   if((_Digits==3) || (_Digits==5))
     {
      trailing_step  = trailing_step  * 10;
      slippage       = slippage      * 10;
     }

//+------------------------------------------------------------------+  
//Ðèñóåì êíîïêè
   SetParametrsandCreate();

//Èíôîðìàöèÿ ïî òåêóùåìó èíñòðóìåíòó   
   PosInfo(0);
//Èíôîìðàöèÿ ïî ñåðâåðó   
   SeverInfo(0);
//Ïðîâåðêà Âñåõ ñèìâîëîâ íà íàëè÷èå ïîçèöèé   
   SymINFOStart(Symbol1);
   SymINFOStart(Symbol2);
   SymINFOStart(Symbol3);
   SymINFOStart(Symbol4);
   SymINFOStart(Symbol5);
   SymINFOStart(Symbol6);

   return(0);
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//Ïðèñâàèâàåì çíà÷åíèÿ Òåêóùåé öåíû ïðè îáíîâëåíèè òèêà  
   if(ObjectGetInteger(window,"Pos",OBJPROP_STATE)==true)SyMbolPriceRe(symToWork);
//Ïðèñâàèâàåì çíà÷åíèÿ Èíôîðìàöèè î ñèìâîëå  
   if(ObjectGetInteger(window,"INFO",OBJPROP_STATE)==true)InfoAboutSymbol();
//Åñëè íàæàòà êíîïêà Òðàëëèíãñòîï - òðàëëèì ïîçèöèþ
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol1);
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol2);
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol3);
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol4);
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol5);
   if(ObjectGetInteger(window,"TrallingStop",OBJPROP_STATE)==true)WorkWithPositions(Symbol6);
   if(ObjectGetInteger(window,"USEProfitCLOSE",OBJPROP_STATE)==true) startCloseBlock3();

   SymINFOStart(Symbol1);
   SymINFOStart(Symbol2);
   SymINFOStart(Symbol3);
   SymINFOStart(Symbol4);
   SymINFOStart(Symbol5);
   SymINFOStart(Symbol6);
// Îáíîâëÿåì ïîêàçàíèÿ Èíäèêàòîðîâ
   if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);

  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Expert CHART function                                            |
//+------------------------------------------------------------------+

void OnChartEvent(const int id,

                  const long &lparam,

                  const double &dparam,

                  const string &sparam)

  {

// Âûáîð Âàëþòíîé ïàðû
//+------------------------------------------------------------------+
//| Ðàáîòà ñ âàëþòíîé ïàðîé                                          |
//+------------------------------------------------------------------+

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol1)
     {
      symToWork=Symbol1;         ObjectSetInteger(window,Symbol1,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol2,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol3,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol4,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol5,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol6,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartClose_A(symToWork);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol2)
     {
      symToWork=Symbol2;         ObjectSetInteger(window,Symbol2,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol1,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol3,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol4,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol5,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol6,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      ChartClose_A(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol3)
     {
      symToWork=Symbol3;         ObjectSetInteger(window,Symbol3,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol2,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol1,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol4,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol5,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol6,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      ChartClose_A(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol4)
     {
      symToWork=Symbol4;         ObjectSetInteger(window,Symbol4,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol2,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol3,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol1,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol5,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol6,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      ChartClose_A(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol5)
     {
      symToWork=Symbol5;         ObjectSetInteger(window,Symbol5,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol2,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol3,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol4,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol1,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol6,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      ChartClose_A(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==Symbol6)
     {
      symToWork=Symbol6;         ObjectSetInteger(window,Symbol6,OBJPROP_STATE,true);
      ObjectSetInteger(window,Symbol2,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol3,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol4,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol5,OBJPROP_STATE,false);
      ObjectSetInteger(window,Symbol1,OBJPROP_STATE,false);
      SyMbolPriceRe(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      ChartClose_A(symToWork);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true) VKL_IND(10,symToWork);
      ChartRedraw();
     }

//+------------------------------------------------------------------+
//| Ðàáîòà ñ Âêëàäêàìè                                               |
//+------------------------------------------------------------------+
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Pos")
     {
      ObjectSetInteger(window,"Pos",OBJPROP_STATE,true);
      ObjectSetInteger(window,"Ord",OBJPROP_STATE,false);
      ObjectSetInteger(window,"INFO",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Func",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ind",OBJPROP_STATE,false);
      VkladkaOrders(-500,-500);

      BG(0); // ÁåêÃÁåêÃðàóíä
      Header();// Øàïêà - âêëàäêè
      body(0);  // Òåëî êíîïîê
      BODYLEVEL(-20,60);// Òåëî óðîâíåé
      InfoAboutSymbol(-2000);
      SymINFOStart(Symbol1);
      SymINFOStart(Symbol2);
      SymINFOStart(Symbol3);
      SymINFOStart(Symbol4);
      SymINFOStart(Symbol5);
      SymINFOStart(Symbol6);
      VKL_OTHERS(-500);
      VKL_IND(-5000);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Ord")
     {
      ObjectSetInteger(window,"Ord",OBJPROP_STATE,true);
      ObjectSetInteger(window,"Pos",OBJPROP_STATE,false);
      ObjectSetInteger(window,"INFO",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Func",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ind",OBJPROP_STATE,false);
      priceCreate("BID",-500+97,65,"",15,Black);
      priceCreate("BID2",-500+137,60,"",20,Red);
      priceCreate("Ask",-500+177,65,"",15,Black);
      priceCreate("Ask2",-500+217,60,"",20,Green);
      priceCreate("BID3",-500+137,60,"",20,Red);
      priceCreate("Ask3",-500+217,60,"",20,Green);
      BG(-2000);
      body(-2000);  // Òåëî êíîïîê
      BODYLEVEL(-2000,60);// Òåëî óðîâíåé
      InfoAboutSymbol(-2000);
      Header();// Øàïêà - âêëàäêè
      VkladkaOrders(-20,80);
      PosInfo();
      SeverInfo(-1000);
      SymINFOStart(Symbol1);
      SymINFOStart(Symbol2);
      SymINFOStart(Symbol3);
      SymINFOStart(Symbol4);
      SymINFOStart(Symbol5);
      SymINFOStart(Symbol6);
      if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true)
        {
         if(OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
         ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
        }
      VKL_OTHERS(-500);
      VKL_IND(-5000);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="INFO")
     {
      ObjectSetInteger(window,"INFO",OBJPROP_STATE,true);
      ObjectSetInteger(window,"Pos",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ord",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Func",OBJPROP_STATE,false);
      VkladkaOrders(-500,-500);
      ObjectSetInteger(window,"Ind",OBJPROP_STATE,false);

      priceCreate("BID",-500+97,65,"",15,Black);
      priceCreate("BID2",-500+137,60,"",20,Red);
      priceCreate("Ask",-500+177,65,"",15,Black);
      priceCreate("Ask2",-500+217,60,"",20,Green);
      priceCreate("BID3",-500+137,60,"",20,Red);
      priceCreate("Ask3",-500+217,60,"",20,Green);
      PosInfo(-1000);
      SeverInfo(-1000);
      BG(-2000);
      body(-2000);  // Òåëî êíîïîê
      BODYLEVEL(-2000,60);// Òåëî óðîâíåé
      InfoAboutSymbol();
      Header();// Øàïêà - âêëàäêè
      SymINFOStart(Symbol1);
      SymINFOStart(Symbol2);
      SymINFOStart(Symbol3);
      SymINFOStart(Symbol4);
      SymINFOStart(Symbol5);
      SymINFOStart(Symbol6);
      VKL_OTHERS(-500);
      VKL_IND(-5000);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Func")
     {
      ObjectSetInteger(window,"Func",OBJPROP_STATE,true);
      ObjectSetInteger(window,"Pos",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ord",OBJPROP_STATE,false);
      ObjectSetInteger(window,"INFO",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ind",OBJPROP_STATE,false);

      VkladkaOrders(-500,-500);

      priceCreate("BID",-500+97,65,"",15,Black);
      priceCreate("BID2",-500+137,60,"",20,Red);
      priceCreate("Ask",-500+177,65,"",15,Black);
      priceCreate("Ask2",-500+217,60,"",20,Green);
      priceCreate("BID3",-500+137,60,"",20,Red);
      priceCreate("Ask3",-500+217,60,"",20,Green);
      PosInfo(-1000);
      SeverInfo(-1000);
      BG(-2000);
      body(-2000);  // Òåëî êíîïîê
      BODYLEVEL(-2000,60);// Òåëî óðîâíåé
      InfoAboutSymbol(-2000);
      Header(-2000);// Øàïêà - âêëàäêè
      VKL_OTHERS(0);
      VKL_IND(-5000);

      ChartRedraw();
     }

//Ind

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Ind")
     {
      ObjectSetInteger(window,"Ind",OBJPROP_STATE,true);
      ObjectSetInteger(window,"Func",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Pos",OBJPROP_STATE,false);
      ObjectSetInteger(window,"Ord",OBJPROP_STATE,false);
      ObjectSetInteger(window,"INFO",OBJPROP_STATE,false);
      VkladkaOrders(-500,-500);

      priceCreate("BID",-500+97,65,"",15,Black);
      priceCreate("BID2",-500+137,60,"",20,Red);
      priceCreate("Ask",-500+177,65,"",15,Black);
      priceCreate("Ask2",-500+217,60,"",20,Green);
      priceCreate("BID3",-500+137,60,"",20,Red);
      priceCreate("Ask3",-500+217,60,"",20,Green);
      PosInfo(-1000);
      SeverInfo(-1000);
      BG(-2000);
      body(-2000);  // Òåëî êíîïîê
      BODYLEVEL(-2000,60);// Òåëî óðîâíåé
      InfoAboutSymbol(-2000);
      Header();// Øàïêà - âêëàäêè
      VKL_IND(10,symToWork);
      VKL_OTHERS(-2000);

      ChartRedraw();
     }

//+------------------------------------------------------------------+
//| Ðàáîòà ñ Çàêðûòèåì ñäåëêè                                        |
//+------------------------------------------------------------------+

//--- ïðîâåðèì ñîáûòèå íà íàæàòèå êíîïêè ìûøêè è èñïîëíÿåì ôóíêöèþ, ñîîòâòåòñâóþùóþ äàííîé êíîïêå, Ïîñëå èñïîëíåíèÿ - îòæèìàåì êíîïêó

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==buttonID)
     {
      CloseAll(symToWork);         ObjectSetInteger(window,buttonID,OBJPROP_STATE,false);

      ChartRedraw();
     }
//+------------------------------------------------------------------+
//| Ðàáîòà ñ îòêðûòèåì BUY                                           |
//+------------------------------------------------------------------+

//--- ïðîâåðèì ñîáûòèå íà íàæàòèå êíîïêè ìûøêè è èñïîëíÿåì ôóíêöèþ, ñîîòâòåòñâóþùóþ äàííîé êíîïêå, Ïîñëå èñïîëíåíèÿ - îòæèìàåì êíîïêó

   if(id==CHARTEVENT_OBJECT_CLICK && sparam==buttonID8)
     {
      OpenBUY(symToWork);         ObjectSetInteger(window,buttonID8,OBJPROP_STATE,false);

      ChartRedraw();
     }
//+------------------------------------------------------------------+
//| Ðàáîòà ñ îòêðûòèåì SELL                                          |
//+------------------------------------------------------------------+

//--- ïðîâåðèì ñîáûòèå íà íàæàòèå êíîïêè ìûøêè è èñïîëíÿåì ôóíêöèþ, ñîîòâòåòñâóþùóþ äàííîé êíîïêå, Ïîñëå èñïîëíåíèÿ - îòæèìàåì êíîïêó
   if(id==CHARTEVENT_OBJECT_CLICK && sparam==buttonID9)
     {
      OpenSELL(symToWork);         ObjectSetInteger(window,buttonID9,OBJPROP_STATE,false);

      ChartRedraw();
     }

//REVERSE  

//+------------------------------------------------------------------+
//| Ðàáîòà ñ îòêðûòèåì SELL                                          |
//+------------------------------------------------------------------+

//--- ïðîâåðèì ñîáûòèå íà íàæàòèå êíîïêè ìûøêè è èñïîëíÿåì ôóíêöèþ, ñîîòâòåòñâóþùóþ äàííîé êíîïêå, Ïîñëå èñïîëíåíèÿ - îòæèìàåì êíîïêó
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="REVERSE")
     {
      REVERSE(symToWork);         ObjectSetInteger(window,"REVERSE",OBJPROP_STATE,false);

      ChartRedraw();
     }
//+------------------------------------------------------------------+
//| Ðàáîòà ñ Ìèíèìèçàöèåé                                            |
//+------------------------------------------------------------------+

//--- Åñëè íàæàòà êíîïêà Ìèíèìèçàöèè - Ñâàðà÷èâàåì Ïàíåëü - Åñëè Íàæàòà â ñâåðíóòîì âèäå - ðàçâàðà÷èâàåì ïàíåëü
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Minimize2")
     {
      if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==true)
        {
         HideSetParametrsand();ButtonCreate("Minimize2",Black,LightCyan,2,200,13,70,">",10);
        }
      else  {SetParametrsandCreate();SyMbolPriceRe(symToWork);}

      ChartRedraw();
     }

//Minimize2    
//+------------------------------------------------------------------+
//| Ìîäèôèêàöèÿ                                                      |
//+------------------------------------------------------------------+

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Modify")
     {
      Modify(symToWork,StopLoss,TakeProfit);         ObjectSetInteger(window,"Modify",OBJPROP_STATE,false);

      ChartRedraw();

     }

//+------------------------------------------------------------------+
//| Ðàáîòà ñ ëîòàìè                                                   |
//+------------------------------------------------------------------+




   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Ëîò ââåðõ")
     {
      lotss=lotss+0.01;
      ObjectSetString(window,"Lots",OBJPROP_TEXT,DoubleToString(lotss,2));

      ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Ëîò âíèç")
     {
      lotss=lotss-0.01;
      if(lotss<SymbolInfoDouble(symToWork,SYMBOL_VOLUME_MIN))lotss=SymbolInfoDouble(symToWork,SYMBOL_VOLUME_MIN);
      ObjectSetString(window,"Lots",OBJPROP_TEXT,DoubleToString(lotss,2));

      ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="Lots")
     {

      lotss=StringToDouble(ObjectGetString(window,"Lots",OBJPROP_TEXT));
      ChartRedraw();
     }

//+------------------------------------------------------------------+
//| Ðàáîòà ñ Tralling                                              |
//+------------------------------------------------------------------+
//--- ïðîâåðèì ñîáûòèå íà íàæàòèå êíîïêè ìûøêè è èñïîëíÿåì ôóíêöèþ, ñîîòâòåòñâóþùóþ äàííîé êíîïêå
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TrallingStop")
     {

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Tralling ââåðõ")
     {
      trailing_level=trailing_level+1;
      if(trailing_level>0 && trailing_level<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))trailing_level=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      ObjectSetString(window,"Tralling",OBJPROP_TEXT,DoubleToString(trailing_level,0));

      ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="Tralling âíèç")
     {
      trailing_level=trailing_level-1;
      if(trailing_level<0)trailing_level=0;
      if(trailing_level>0 && trailing_level<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))trailing_level=0;

      ObjectSetString(window,"Tralling",OBJPROP_TEXT,DoubleToString(trailing_level,0));

      ObjectSetInteger(window,"Tralling âíèç",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="Tralling")
     {

      trailing_level=(int)StringToInteger(ObjectGetString(window,"Tralling",OBJPROP_TEXT));
      ChartRedraw();
     }

   if(trailing_level!=0)ObjectSetInteger(window,"Tralling",OBJPROP_COLOR,Green);else ObjectSetInteger(window,"Tralling",OBJPROP_COLOR,Red);

//+------------------------------------------------------------------+
//| Ðàáîòà ñ TakeProfit                                              |
//+------------------------------------------------------------------+



   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TakeProfit ââåðõ")
     {
      TakeProfit=TakeProfit+1;
      if(TakeProfit>0 && TakeProfit<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))TakeProfit=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      ObjectSetString(window,"TakeProfit",OBJPROP_TEXT,DoubleToString(TakeProfit,0));

      ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TakeProfit âíèç")
     {
      TakeProfit=TakeProfit-1;
      if(TakeProfit<0)TakeProfit=0;
      if(TakeProfit>0 && TakeProfit<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))TakeProfit=0;

      ObjectSetString(window,"TakeProfit",OBJPROP_TEXT,DoubleToString(TakeProfit,0));

      ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="TakeProfit")
     {

      TakeProfit=(int)StringToInteger(ObjectGetString(window,"TakeProfit",OBJPROP_TEXT));
      ChartRedraw();
     }

   if(TakeProfit!=0)ObjectSetInteger(window,"TakeProfit",OBJPROP_COLOR,Green);else ObjectSetInteger(window,"TakeProfit",OBJPROP_COLOR,Red);

//+------------------------------------------------------------------+
//| Ðàáîòà ñ StopLoss                                                |
//+------------------------------------------------------------------+



   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="StopLoss ââåðõ")
     {
      StopLoss=StopLoss+1;
      if(StopLoss>0 && StopLoss<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))StopLoss=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);

      ObjectSetString(window,"StopLoss",OBJPROP_TEXT,DoubleToString(StopLoss,0));

      ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="StopLoss âíèç")
     {
      StopLoss=StopLoss-1;
      if(StopLoss<0)StopLoss=0;
      if(StopLoss>0 && StopLoss<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))StopLoss=0;

      ObjectSetString(window,"StopLoss",OBJPROP_TEXT,DoubleToString(StopLoss,0));

      ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_STATE,false);

      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="StopLoss")
     {

      StopLoss=(int)StringToInteger(ObjectGetString(window,"StopLoss",OBJPROP_TEXT));
      ChartRedraw();
     }
   if(StopLoss!=0)ObjectSetInteger(window,"StopLoss",OBJPROP_COLOR,Green);else ObjectSetInteger(window,"StopLoss",OBJPROP_COLOR,Red);

//+------------------------------------------------------------------+
//| Ðàáîòà ñ OrderLevelStop                                          |
//+------------------------------------------------------------------+



   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="OrderLevelStop ââåðõ")
     {
      OrderLevelStop=OrderLevelStop+1;
      if(OrderLevelStop>0 && OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);

      ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));

      ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="OrderLevelStop âíèç")
     {
      OrderLevelStop=OrderLevelStop-1;
      if(OrderLevelStop<0)OrderLevelStop=0;
      if(OrderLevelStop>0 && OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderLevelStop=0;

      ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));

      ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_STATE,false);

      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="OrderLevelStop")
     {

      OrderLevelStop=(int)StringToInteger(ObjectGetString(window,"OrderLevelStop",OBJPROP_TEXT));
      ChartRedraw();
     }
   if(OrderLevelStop!=0)ObjectSetInteger(window,"OrderLevelStop",OBJPROP_COLOR,Green);else ObjectSetInteger(window,"OrderLevelStop",OBJPROP_COLOR,Red);

//+------------------------------------------------------------------+
//| Ðàáîòà ñ Îòëîæåííèêàìè                                           |
//+------------------------------------------------------------------+
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="BUYSTOP")
     {
      OpenBUYSTOP();         ObjectSetInteger(window,"BUYSTOP",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="SELLSTOP")
     {
      OpenSELLSTOP();         ObjectSetInteger(window,"SELLSTOP",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="BUYLIMIT")
     {
      OpenBUYLIMIT();         ObjectSetInteger(window,"BUYLIMIT",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="SELLLIMIT")
     {
      OpenSELLLIMIT();         ObjectSetInteger(window,"SELLLIMIT",OBJPROP_STATE,false);

      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="DELETE")
     {
      DeleteAllStops();         ObjectSetInteger(window,"DELETE",OBJPROP_STATE,false);

      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="OrderLevelStopGRID")
     {

      GRIDNUMBER=(int)StringToInteger(ObjectGetString(window,"OrderLevelStopGRID",OBJPROP_TEXT));
      ChartRedraw();
     }

//   ObjectSetString(window,"OrderLevelStopGRID",OBJPROP_TEXT,DoubleToString(GRIDNUMBER,0));

//+------------------------------------------------------------------+
//| Ðàáîòà ñ ProfitClose                                           |
//+------------------------------------------------------------------+
/*int startCloseBlock3() 
TypeofClose
   ButtonCreate("TypeClose_DOLLAR",Black,Khaki,x+150,100,100,20,"$",10);
   ButtonCreate("TypeClose_PERCENT",Black,Khaki,x+150,120,100,20,"%",10);
   ObjectCreate(window,"USELossCLOSE_EDIT",OBJ_EDIT,0,100,100);
   ButtonCreate("USEProfitCLOSE",Black,Khaki,x+150,10,100,20,"USEProfitCLOSE",10);
   ObjectCreate(window,"USEProfitCLOSE_EDIT",OBJ_EDIT,0,100,100);
   int Profit;
int Loss;

*/

   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="USELossCLOSE_EDIT")
     {

      Loss=(int)StringToInteger(ObjectGetString(window,"USELossCLOSE_EDIT",OBJPROP_TEXT));
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_ENDEDIT && sparam=="USEProfitCLOSE_EDIT")
     {

      Profit=(int)StringToInteger(ObjectGetString(window,"USEProfitCLOSE_EDIT",OBJPROP_TEXT));
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TypeClose_DOLLAR")
     {
      TypeofClose=1;         ObjectSetInteger(window,"TypeClose_PERCENT",OBJPROP_STATE,false);
      ObjectSetInteger(window,"TypeClose_POINT",OBJPROP_STATE,false);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TypeClose_PERCENT")
     {
      TypeofClose=2;         ObjectSetInteger(window,"TypeClose_DOLLAR",OBJPROP_STATE,false);
      ObjectSetInteger(window,"TypeClose_POINT",OBJPROP_STATE,false);
      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="TypeClose_POINT")
     {
      TypeofClose=3;         ObjectSetInteger(window,"TypeClose_DOLLAR",OBJPROP_STATE,false);
      ObjectSetInteger(window,"TypeClose_PERCENT",OBJPROP_STATE,false);

      ChartRedraw();
     }

   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="USEProfitCLOSE")//ObjectSetInteger(window,"USEProfitCLOSE",OBJPROP_STATE,false);
     {
      startCloseBlock3();
      ChartRedraw();
     }

//+------------------------------------------------------------------+
//| Ðàáîòà ñ ×àðòàìè  INFO                                           |
//+------------------------------------------------------------------+




   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M1")
     {
      ChartOpen_A(0,1);TFToInd=1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M5")
     {
      ChartOpen_A(0,5);TFToInd=5;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M15")
     {
      ChartOpen_A(0,15);TFToInd=15;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M30")
     {
      ChartOpen_A(0,30);TFToInd=30;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="H1")
     {
      ChartOpen_A(0,PERIOD_H1);TFToInd=PERIOD_H1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="H4")
     {
      ChartOpen_A(0,PERIOD_H4);TFToInd=PERIOD_H4;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="D1")
     {
      ChartOpen_A(0,PERIOD_D1);TFToInd=PERIOD_D1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="W1")
     {
      ChartOpen_A(0,PERIOD_W1);TFToInd=PERIOD_W1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="MN")
     {
      ChartOpen_A(0,PERIOD_MN1);TFToInd=PERIOD_MN1;
      ChartRedraw();
     }



//+------------------------------------------------------------------+
//| Ðàáîòà ñ ×àðòàìè  Ind                                            |
//+------------------------------------------------------------------+




   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M1_IND")
     {
      ChartOpen_A(0,1);TFToInd=1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M5_IND")
     {
      ChartOpen_A(0,5);TFToInd=5;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M15_IND")
     {
      ChartOpen_A(0,15);TFToInd=15;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="M30_IND")
     {
      ChartOpen_A(0,30);TFToInd=30;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="H1_IND")
     {
      ChartOpen_A(0,PERIOD_H1);TFToInd=PERIOD_H1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="H4_IND")
     {
      ChartOpen_A(0,PERIOD_H4);TFToInd=PERIOD_H4;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="D1_IND")
     {
      ChartOpen_A(0,PERIOD_D1);TFToInd=PERIOD_D1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="W1_IND")
     {
      ChartOpen_A(0,PERIOD_W1);TFToInd=PERIOD_W1;
      ChartRedraw();
     }
   if(id==CHARTEVENT_OBJECT_CLICK && sparam=="MN_IND")
     {
      ChartOpen_A(0,PERIOD_MN1);TFToInd=PERIOD_MN1;
      ChartRedraw();
     }


//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+

  }  // END START 
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+::::::::::::::::::::::::::::::::::::::::::::::   Ôóíêöèè ýêñïåðòà     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+

//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ïåðåâàðà÷èâàåò ïîçèöèþ                                         |
//+----------------------------------------------------------------------------+

void REVERSE(string sSymbol)
  {

   if(PositionSelect(sSymbol)==true)
     {

      double lotR=PositionGetDouble(POSITION_VOLUME);
      request.symbol = sSymbol;
      request.volume = PositionGetDouble( POSITION_VOLUME )*2;
      request.action=TRADE_ACTION_DEAL; // îïåðàöèÿ ñ ðûíêà
      request.tp=0;
      request.sl=0;
      request.deviation=(ulong)((SymbolInfoDouble(sSymbol,SYMBOL_ASK)-SymbolInfoDouble(sSymbol,SYMBOL_BID))/SymbolInfoDouble(sSymbol,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                     // request.type_filling=ORDER_FILLING_CANCEL;
      //+------------------------------------------------------------------+
      //|                                                                  |
      //+------------------------------------------------------------------+
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
        {
         request.type=ORDER_TYPE_SELL;
         request.price=SymbolInfoDouble(sSymbol,SYMBOL_BID);
        }
      //+------------------------------------------------------------------+
      //|                                                                  |
      //+------------------------------------------------------------------+
      if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
        {
         request.type=ORDER_TYPE_BUY;
         request.price=SymbolInfoDouble(sSymbol,SYMBOL_ASK);

        }
      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

     }

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Çàêðûâàåò ïîçèöèè óêàçàííîé âàëþòû                             |
//+----------------------------------------------------------------------------+

void CloseAll(string symToWork2)
  {

   if(PositionSelect(symToWork2)==true)
     {
      ClosePosition(symToWork2);
     }

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Çàêðûâàåò âûáðàííóþ ïîçèöèþ                                    |
//+----------------------------------------------------------------------------+
void ClosePosition(string sSymbol)
  {

   request.symbol = sSymbol;
   request.volume = PositionGetDouble( POSITION_VOLUME );
   request.action=TRADE_ACTION_DEAL; // îïåðàöèÿ ñ ðûíêà
   request.tp=0;
   request.sl=0;
   request.deviation=(ulong)((SymbolInfoDouble(sSymbol,SYMBOL_ASK)-SymbolInfoDouble(sSymbol,SYMBOL_BID))/SymbolInfoDouble(sSymbol,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                  // request.type_filling=ORDER_FILLING_CANCEL;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      request.type=ORDER_TYPE_SELL;
      request.price=SymbolInfoDouble(sSymbol,SYMBOL_BID);
     }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
     {
      request.type=ORDER_TYPE_BUY;
      request.price=SymbolInfoDouble(sSymbol,SYMBOL_ASK);
     }

   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ Áàé ïî âûáðàííîé Âàëþòå                      |
//+----------------------------------------------------------------------------+  
void OpenBUY(string symToWork2)
  {

   request.symbol = symToWork2;
   request.volume = lotss;
   request.action=TRADE_ACTION_DEAL; // îïåðàöèÿ ñ ðûíêà
   if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork2,SYMBOL_BID)+TakeProfit*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
   if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork2,SYMBOL_BID)-StopLoss*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
   request.deviation=(ulong)((SymbolInfoDouble(symToWork2,SYMBOL_ASK)-SymbolInfoDouble(symToWork2,SYMBOL_BID))/SymbolInfoDouble(symToWork2,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           // request.type_filling=ORDER_FILLING_CANCEL;
   request.type=ORDER_TYPE_BUY;
   request.price=SymbolInfoDouble(symToWork2,SYMBOL_ASK);
   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ Ñåëë ïî âûáðàííîé Âàëþòå                                        |
//+----------------------------------------------------------------------------+  
void OpenSELL(string symToWork2)
  {

   request.symbol = symToWork2;
   request.volume = lotss;
   request.action=TRADE_ACTION_DEAL; // îïåðàöèÿ ñ ðûíêà
   if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork2,SYMBOL_ASK)-TakeProfit*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
   if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork2,SYMBOL_ASK)+StopLoss*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
   request.deviation=(ulong)((SymbolInfoDouble(symToWork2,SYMBOL_ASK)-SymbolInfoDouble(symToWork2,SYMBOL_BID))/SymbolInfoDouble(symToWork2,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           //request.type_filling=ORDER_FILLING_CANCEL;
   request.type=ORDER_TYPE_SELL;
   request.price=SymbolInfoDouble(symToWork2,SYMBOL_BID);
   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

  }
//+------------------------------------------------------------------+

//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ìîäèôèöèðóåò ïîçèöèè                                           |
//+----------------------------------------------------------------------------+ 

//+------------------------------------------------------------------+
void Modify(string symToWork2,int sl2,int tp2)
//+------------------------------------------------------------------+
  {
   for(int pos=0; pos<PositionsTotal(); pos++)
     {
      if(PositionSelect(symToWork2))
        {
         stop_level=SymbolInfoInteger(PositionGetString(POSITION_SYMBOL),SYMBOL_TRADE_STOPS_LEVEL);
         if(trailing_level<(int)stop_level) trailing_level=(int)stop_level;

         if((PositionGetString(POSITION_SYMBOL)!=symToWork2)) continue;

         order_open_price = PositionGetDouble(POSITION_PRICE_OPEN);
         order_type       = PositionGetInteger(POSITION_TYPE);
         request.order    = PositionGetInteger(POSITION_IDENTIFIER);

         if(order_type==POSITION_TYPE_BUY)
           {

            double sl,tp;

            if(sl2!=0) sl=SymbolInfoDouble(symToWork2,SYMBOL_BID)-sl2*SymbolInfoDouble(symToWork2,SYMBOL_POINT); else sl=0;
            if(tp2!=0) tp=SymbolInfoDouble(symToWork2,SYMBOL_ASK)+tp2*SymbolInfoDouble(symToWork2,SYMBOL_POINT); else tp=0;


            request.action=TRADE_ACTION_SLTP;
            request.symbol = symToWork2;
            request.sl     = sl;
            request.tp     = tp;
            request.deviation=slippage;

            OrderSend(request,result);

            continue;
           }// end POSITION_TYPE_BUY    

         else if(order_type==POSITION_TYPE_SELL)
           {

            double sl,tp;

            if(sl2!=0) sl=SymbolInfoDouble(symToWork2,SYMBOL_ASK)+sl2*SymbolInfoDouble(symToWork2,SYMBOL_POINT); else sl=0;
            if(tp2!=0) tp=SymbolInfoDouble(symToWork2,SYMBOL_BID)-tp2*SymbolInfoDouble(symToWork2,SYMBOL_POINT); else tp=0;
            request.action = TRADE_ACTION_SLTP;
            request.symbol = symToWork2;
            request.sl     = sl;
            request.tp     = tp;
            request.deviation=slippage;

            OrderSend(request,result);

           }// end POSITION_TYPE_SELL

        }// end if select                

     }// end for
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Âêëþ÷àåò Òðàëëèíãñòîï                                          |
//+----------------------------------------------------------------------------+ 

//+------------------------------------------------------------------+
void WorkWithPositions(string symToWork2)
//+------------------------------------------------------------------+
  {

   for(int pos=0; pos<PositionsTotal(); pos++)
     {
      if(PositionSelect(symToWork2))
        {
         stop_level=SymbolInfoInteger(PositionGetString(POSITION_SYMBOL),SYMBOL_TRADE_STOPS_LEVEL);
         if(trailing_level<(int)stop_level) trailing_level=(int)stop_level;

         if((PositionGetString(POSITION_SYMBOL)!=symToWork2)) continue;

         order_open_price = PositionGetDouble(POSITION_PRICE_OPEN);
         order_type       = PositionGetInteger(POSITION_TYPE);
         request.order    = PositionGetInteger(POSITION_IDENTIFIER);

         if(order_type==POSITION_TYPE_BUY)
           {

            // Òðåéëèíã ñòîï
            if((trailing_level==0))continue; // óñëîâèå, ïðè êîòîðîì òðåéëèíã ñòîï íå ðàáîòàåò

            double sl=PositionGetDouble(POSITION_SL);
            double profit=PositionGetDouble(POSITION_PROFIT);
            if(sl<0.0001)
              {
               sl=SymbolInfoDouble(symToWork2,SYMBOL_BID)-trailing_level*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
               request.action=TRADE_ACTION_SLTP;
               request.symbol = symToWork2;
               request.sl     = sl;
               request.tp     = PositionGetDouble(POSITION_TP);
               request.deviation=slippage;

               OrderSend(request,result);

              }
            if((SymbolInfoDouble(symToWork2,SYMBOL_BID)>sl+(trailing_level+trailing_step)*SymbolInfoDouble(symToWork2,SYMBOL_POINT)))
               //if(tick.bid > sl + (trailing_level + trailing_step) * _Point)
              {
               request.action = TRADE_ACTION_SLTP;
               request.symbol = symToWork2;
               request.sl     = sl + trailing_step * SymbolInfoDouble(symToWork2,SYMBOL_POINT);
               request.tp     = PositionGetDouble(POSITION_TP);
               request.deviation=slippage;

               OrderSend(request,result);

              }
            continue;
           }// end POSITION_TYPE_BUY    

         else if(order_type==POSITION_TYPE_SELL)
           {

            //--- Òðåéëèíã ñòîï
            if((trailing_level==0)) continue;

            double sl=PositionGetDouble(POSITION_SL);
            double profit=PositionGetDouble(POSITION_PROFIT);
            if(sl<0.0001)
              {
               sl=SymbolInfoDouble(symToWork2,SYMBOL_ASK)+trailing_level*SymbolInfoDouble(symToWork2,SYMBOL_POINT);
               request.action = TRADE_ACTION_SLTP;
               request.symbol = symToWork2;
               request.sl     = sl;
               request.tp     = PositionGetDouble(POSITION_TP);
               request.deviation=slippage;

               OrderSend(request,result);

              }
            if((SymbolInfoDouble(symToWork2,SYMBOL_ASK)<sl -(trailing_level+trailing_step)*SymbolInfoDouble(symToWork2,SYMBOL_POINT)))
              {
               request.action = TRADE_ACTION_SLTP;
               request.symbol = symToWork2;
               request.sl     = sl - trailing_step * SymbolInfoDouble(symToWork2,SYMBOL_POINT);
               request.tp     = PositionGetDouble(POSITION_TP);
               request.deviation=slippage;

               OrderSend(request,result);

              }

           }// end POSITION_TYPE_SELL

        }// end if select                

     }// end for
  }
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+::::::::::::::::::::::::::::::::::::::::::::::   Ñîçäàíèå îáúåêòîâ    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
//+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::+
// ==========================================================================================================================================================================================================
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// 
//                             Ïàíåëü äëÿ Âêëàäêè Pos  
// 
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// ==========================================================================================================================================================================================================


//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ðèñóåò øàïêó(Âûáîð Âàëþòíûõ ïàð)                               |
//+----------------------------------------------------------------------------+  

void Header(int X=15,int Y=0)

  {

// Øàïêà äëÿ ïàíåëè

   ButtonCreate(Symbol1,Black,OldLace,X,Y,80,20,Symbol1);
   ButtonCreate(Symbol2,Black,OldLace,X+80,Y,80,20,Symbol2);
   ButtonCreate(Symbol3,Black,OldLace,X+160,Y,80,20,Symbol3);

   ButtonCreate(Symbol4,Black,OldLace,X,Y+20,80,20,Symbol4);
   ButtonCreate(Symbol5,Black,OldLace,X+80,Y+20,80,20,Symbol5);
   ButtonCreate(Symbol6,Black,OldLace,X+160,Y+20,80,20,Symbol6);

  }
int ynew=30;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ðèñóåì Òåëî Ïàíåëè                                             |
//+----------------------------------------------------------------------------+  

void body(int x)
  {

//
   ButtonCreate(buttonID8,Black,SkyBlue,x+183,ynew+90,60,20,"BUY",10);
   ButtonCreate(buttonID9,Black,Linen,x+103,ynew+90,60,20,"SELL",10);

   ButtonCreate("REVERSE",White,Green,x+135,ynew+45,70,17,"REVERSE",9);

   ButtonCreate(buttonID,Black,Khaki,x+23,ynew+90,60,20,"CLOSE",10);
   ButtonCreate("TrallingStop",Black,OldLace,x+15,ynew+160+ysdvig,74,20,"TRALLING",10);
   ButtonCreate("Modify",Black,OldLace,x+98,ynew+160+ysdvig,153,20,"MODIFY",10);

   ButtonCreate("Minimize2",Black,LightCyan,270,200,13,70,"<",10);

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàåò Âêëàäêè ãëàâíûõ ñòðàíèö                                |
//+----------------------------------------------------------------------------+  


void bodyVkladki(int x)
  {
   ButtonCreate("Pos",Black,LightCyan,x+8,270,40,15,"Pos",10);
   ButtonCreate("Ord",Black,Linen,x+53,270,40,15,"Ord",10);
   ButtonCreate("INFO",Black,Beige,x+98,270,40,15,"INFO",10);
   ButtonCreate("Ind",Black,Beige,x+145,270,40,15,"Ind",10);
   ButtonCreate("Func",Black,MistyRose,x+190,270,40,15,"Func",10);

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàåò Ãëàâíóþ ïîäîëæêó ïîä ïàíåëü                            |
//+----------------------------------------------------------------------------+  


void BGMAIN(int x)
  {
//VirtPad_1.bmp
   ObjectCreate(window,"BG",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BG",OBJPROP_XDISTANCE,x+0);
   ObjectSetInteger(window,"BG",OBJPROP_YDISTANCE,0);
   ObjectSetInteger(window,"BG",OBJPROP_XSIZE,400);
   ObjectSetInteger(window,"BG",OBJPROP_YSIZE,200);
   ObjectSetString(window,"BG",OBJPROP_BMPFILE,"VirtPad_1.bmp");
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàåò êàðòèíêè èç ôàéëîâ íà ãðàôèêå                          |
//+----------------------------------------------------------------------------+  
   int ysdvig=25;

void BG(int x)
  {

   ObjectCreate(window,"BGBUY",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGBUY",OBJPROP_XDISTANCE,x+173);
   ObjectSetInteger(window,"BGBUY",OBJPROP_YDISTANCE,ynew+50);
   ObjectSetInteger(window,"BGBUY",OBJPROP_XSIZE,77);
   ObjectSetInteger(window,"BGBUY",OBJPROP_YSIZE,40);
   ObjectSetString(window,"BGBUY",OBJPROP_BMPFILE,"buy.bmp");

   ObjectCreate(window,"BGSELL",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGSELL",OBJPROP_XDISTANCE,x+93);
   ObjectSetInteger(window,"BGSELL",OBJPROP_YDISTANCE,ynew+50);
   ObjectSetInteger(window,"BGSELL",OBJPROP_XSIZE,77);
   ObjectSetInteger(window,"BGSELL",OBJPROP_YSIZE,40);
   ObjectSetString(window,"BGSELL",OBJPROP_BMPFILE,"sell.bmp");

   ObjectCreate(window,"BGClose",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGClose",OBJPROP_XDISTANCE,x+15);
   ObjectSetInteger(window,"BGClose",OBJPROP_YDISTANCE,ynew+50);
   ObjectSetInteger(window,"BGClose",OBJPROP_XSIZE,77);
   ObjectSetInteger(window,"BGClose",OBJPROP_YSIZE,40);
   ObjectSetString(window,"BGClose",OBJPROP_BMPFILE,"close.bmp");

   ObjectCreate(window,"BGTRAL",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGTRAL",OBJPROP_XDISTANCE,x+18-4);
   ObjectSetInteger(window,"BGTRAL",OBJPROP_YDISTANCE,ynew+114+ysdvig);
   ObjectSetInteger(window,"BGTRAL",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGTRAL",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGTRAL",OBJPROP_BMPFILE,"tral.bmp");

   ObjectCreate(window,"BGTP",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGTP",OBJPROP_XDISTANCE,x+95);
   ObjectSetInteger(window,"BGTP",OBJPROP_YDISTANCE,ynew+114+ysdvig);
   ObjectSetInteger(window,"BGTP",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGTP",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGTP",OBJPROP_BMPFILE,"tp.bmp");

   ObjectCreate(window,"BGSL",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGSL",OBJPROP_XDISTANCE,x+178);
   ObjectSetInteger(window,"BGSL",OBJPROP_YDISTANCE,ynew+114+ysdvig);
   ObjectSetInteger(window,"BGSL",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGSL",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGSL",OBJPROP_BMPFILE,"sl.bmp");
   
   
      ObjectCreate(window,"BGLOTS",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGLOTS",OBJPROP_XDISTANCE,x+25);
   ObjectSetInteger(window,"BGLOTS",OBJPROP_YDISTANCE,ynew+20+ysdvig);
   ObjectSetInteger(window,"BGLOTS",OBJPROP_XSIZE,77);
   ObjectSetInteger(window,"BGLOTS",OBJPROP_YSIZE,30);
   ObjectSetString(window,"BGLOTS",OBJPROP_BMPFILE,"lot.bmp");
  


  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå :Ïîëó÷åíèå áèä àñêà ïî ñèìâîëó è îòîáðàæåíèÿ èíôîðìàöèè â êâàäðàòàõ íà ïàíåëè                      |
//+----------------------------------------------------------------------------+  
void SyMbolPriceRe(string Symboll)
  {

   int xxx=0;
   double Bid=SymbolInfoDouble(Symboll,SYMBOL_BID);
   double Ask=SymbolInfoDouble(Symboll,SYMBOL_ASK);

   string a1,a2,a3,b1,b2,b3;

   if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==true || ObjectGetInteger(window,"Func",OBJPROP_STATE)==true
      || ObjectGetInteger(window,"INFO",OBJPROP_STATE)==true || ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true)xxx=-500;
   if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==false  &&  ObjectGetInteger(window,"Func",OBJPROP_STATE)==false
      &&  ObjectGetInteger(window,"INFO",OBJPROP_STATE)==false && ObjectGetInteger(window,"Ind",OBJPROP_STATE)==false)xxx=0;

   if(ObjectGetInteger(window,"BID",OBJPROP_XDISTANCE)<0 && ObjectGetInteger(window,"Pos",OBJPROP_STATE)==false)return;

   if(SymbolInfoDouble(symToWork,SYMBOL_POINT)==0.00001 || SymbolInfoDouble(symToWork,SYMBOL_POINT)==0.0001)
     {
      b1=StringSubstr(DoubleToString(Bid,8),0,4);
      b2=StringSubstr(DoubleToString(Bid,8),4,2);
      b3=StringSubstr(DoubleToString(Bid,8),6,1);

      priceCreate("BID",xxx+97,ynew+65,b1,15,Black);
      priceCreate("BID2",xxx+137,ynew+62,b2,18,Yellow);
      priceCreate("BID3",xxx+163,ynew+62,b3,10,Black);

      a1=StringSubstr(DoubleToString(Ask,8),0,4);
      a2=StringSubstr(DoubleToString(Ask,8),4,2);
      a3=StringSubstr(DoubleToString(Ask,8),6,1);

      priceCreate("Ask",xxx+177,ynew+65,a1,15,Black);
      priceCreate("Ask2",xxx+217,ynew+62,a2,18,Yellow);
      priceCreate("Ask3",xxx+243,ynew+62,a3,10,Black);
     }

   if(SymbolInfoDouble(symToWork,SYMBOL_POINT)==0.001 || SymbolInfoDouble(symToWork,SYMBOL_POINT)==0.01)
     {
      b1=StringSubstr(DoubleToString(Bid,8),0,3);
      b2=StringSubstr(DoubleToString(Bid,8),3,2);
      b3=StringSubstr(DoubleToString(Bid,8),5,1);
      priceCreate("BID",xxx+105,ynew+65,b1,15,Black);
      priceCreate("BID2",xxx+137,ynew+62,b2,18,Yellow);
      priceCreate("BID3",xxx+163,ynew+62,b3,10,Black);

      a1=StringSubstr(DoubleToString(Ask,8),0,3);
      a2=StringSubstr(DoubleToString(Ask,8),3,2);
      a3=StringSubstr(DoubleToString(Ask,8),5,1);

      priceCreate("Ask",xxx+185,ynew+65,a1,15,Black);
      priceCreate("Ask2",xxx+217,ynew+62,a2,18,Yellow);
      priceCreate("Ask3",xxx+243,ynew+62,a3,10,Black);
     }
   PosInfo(xxx);
   SeverInfo(xxx);

   ChartRedraw();

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå :Äåíü Íåäåëè                                                     |
//+----------------------------------------------------------------------------+  
int DayOfWeekMQL4()
  {
   MqlDateTime tm;
   TimeCurrent(tm);
   return(tm.day_of_week);
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå :Äåíü Íåäåëè  âûáðàííîé äàòû                                     |
//+----------------------------------------------------------------------------+  
int TimeDayOfWeekMQL4(datetime date)
  {
   MqlDateTime tm;
   TimeToStruct(date,tm);
   return(tm.day_of_week);
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Èíôîðìàöèÿ î ïîäêëþ÷åíèè + Ïîñëåäíåå âðåìÿ êîòèðîâêè           |
//+----------------------------------------------------------------------------+  
void SeverInfo(int x=0)
  {
  /*
   string con;
   if(TerminalInfoInteger(TERMINAL_CONNECTED)==true)con="Connect";else con="Disconnect";
   if(TimeDayOfWeekMQL4(TimeLocal())!=DayOfWeekMQL4())con="Market Close";
   string time=TimeToString(TimeCurrent(),TIME_MINUTES|TIME_SECONDS);

   ObjectCreate(window,"ServerTime",OBJ_EDIT,0,100,100);
   if(con=="Connect") ObjectSetInteger(window,"ServerTime",OBJPROP_COLOR,DarkGreen);
   if(con!="Connect") ObjectSetInteger(window,"ServerTime",OBJPROP_COLOR,DarkRed);
   ObjectSetInteger(window,"ServerTime",OBJPROP_BGCOLOR,WhiteSmoke);
   ObjectSetInteger(window,"ServerTime",OBJPROP_XDISTANCE,x+19);
   ObjectSetInteger(window,"ServerTime",OBJPROP_YDISTANCE,225);
   ObjectSetInteger(window,"ServerTime",OBJPROP_XSIZE,230);
   ObjectSetInteger(window,"ServerTime",OBJPROP_YSIZE,22);
   ObjectSetString(window,"ServerTime",OBJPROP_FONT,"Sans Serif");
   ObjectSetString(window,"ServerTime",OBJPROP_TEXT,con+"        "+time);
   ObjectSetInteger(window,"ServerTime",OBJPROP_FONTSIZE,14);
   ObjectSetInteger(window,"ServerTime",OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ
*/
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Èíôîðìàöèÿ î îòêðûòîé ïîçèöèè                                  |
//+----------------------------------------------------------------------------+  
void PosInfo(int x=0)
  {
   if(PositionSelect(symToWork)==true)
     {
      double lotinfo=PositionGetDouble(POSITION_VOLUME);
      int typeinfo=(int)PositionGetInteger(POSITION_TYPE);
      string typepos;
      if(typeinfo==POSITION_TYPE_SELL)typepos="SELL";
      if(typeinfo==POSITION_TYPE_BUY)typepos="BUY";
      if(typepos=="SELL") ObjectSetInteger(window,symToWork,OBJPROP_BGCOLOR,LightPink);
      if(typepos=="BUY") ObjectSetInteger(window,symToWork,OBJPROP_BGCOLOR,PaleGreen);


      double openinfo=PositionGetDouble(POSITION_PRICE_OPEN);
      double profinfo=PositionGetDouble(POSITION_PROFIT)+PositionGetDouble(POSITION_SWAP)+PositionGetDouble(POSITION_COMMISSION);
      ButtonCreateInfo("InfoPos",Navy,WhiteSmoke,x+15,45,240,24,typepos+" "+DoubleToString(lotinfo,2)+" at "+DoubleToString(openinfo,4)+"/ "+DoubleToString(profinfo,2),12);

     }

   if(PositionSelect(symToWork)==false)
     {
      ButtonCreateInfo("InfoPos",Navy,WhiteSmoke,x+15,45,240,24,"        NO POSITIONS",14);
      ObjectSetInteger(window,symToWork,OBJPROP_BGCOLOR,OldLace);
     }

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàíèå êíîïêè Ñèìâîëà                                        |
//+----------------------------------------------------------------------------+  
void ButtonCreateInfo(string name,color TextColor,color bgcolor,int Xdist,int Ydist,int Xsize,int Ysize,string Text,int FONTSIZE=12)
  {
   ObjectCreate(window,name,OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,name,OBJPROP_COLOR,TextColor);
   ObjectSetInteger(window,name,OBJPROP_BGCOLOR,bgcolor);
   ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
   ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
   ObjectSetInteger(window,name,OBJPROP_XSIZE,Xsize);
   ObjectSetInteger(window,name,OBJPROP_YSIZE,Ysize);
   ObjectSetString(window,name,OBJPROP_FONT,"Sans Serif");
   ObjectSetString(window,name,OBJPROP_TEXT,Text);
   ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);
   ObjectSetInteger(window,name,OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàíèå Öåíîâîé ìåòêè                                         |
//+----------------------------------------------------------------------------+  
void priceCreate(string name,int Xd,int Yd,string text,int size,color cl,string tex="Arial")
  {
   ObjectCreate(window,name,OBJ_LABEL,0,100,100);
   ObjectSetInteger(window,name,OBJPROP_COLOR,cl);
   ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xd);
   ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Yd);
   ObjectSetString(window,name,OBJPROP_FONT,tex);
   ObjectSetString(window,name,OBJPROP_TEXT,text);
   ObjectSetInteger(window,name,OBJPROP_FONTSIZE,size);

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå :Îáùàÿ ôóíêöèÿ Ñîçäàíèÿ ïàíåëè                                   |
//+----------------------------------------------------------------------------+  
void SetParametrsandCreate()
  {
   BGMAIN(0); // ÁåêÃÁåêÃðàóíä
   if(ObjectGetInteger(window,"Func",OBJPROP_STATE)==true)

      VKL_OTHERS(0);

   if(ObjectGetInteger(window,"Pos",OBJPROP_STATE)==true || 
      (ObjectGetInteger(window,"Pos",OBJPROP_STATE)==false
      && ObjectGetInteger(window,"Func",OBJPROP_STATE)==false
      && ObjectGetInteger(window,"INFO",OBJPROP_STATE)==false
      && ObjectGetInteger(window,"Ord",OBJPROP_STATE)==false
      && ObjectGetInteger(window,"Ind",OBJPROP_STATE)==false)

      )
     {

      BG(0); // ÁåêÃÁåêÃðàóíä
      body(0);  // Òåëî êíîïîê
      BODYLEVEL(-20,60);// Òåëî óðîâíåé
      PosInfo();
      SeverInfo();

     }

   if(ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true
      )
     {
      VkladkaOrders(-20,60);
     }

   ButtonCreate("Minimize2",Black,LightCyan,270,200,13,70,"<",10);
   if(ObjectGetInteger(window,"Func",OBJPROP_STATE)==false)
     {
      Header();// Øàïêà - âêëàäêè
     }
   SymINFOStart(Symbol1);
   SymINFOStart(Symbol2);
   SymINFOStart(Symbol3);
   SymINFOStart(Symbol4);
   SymINFOStart(Symbol5);
   SymINFOStart(Symbol6);
   SyMbolPriceRe(symToWork);
   ChartOpen_A(0);
   bodyVkladki(0); // Âêëàäêè

   if(ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true)
     {
      VKL_IND();
     }


  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ìèíèìèçàöèÿ ïàíåëè                                             |
//+----------------------------------------------------------------------------+  
void HideSetParametrsand()
  {
   ChartOpen_A(-5000);
   priceCreate("BID",-500+97,65,"",15,Black);
   priceCreate("BID2",-500+137,60,"",20,Red);
   priceCreate("Ask",-500+177,65,"",15,Black);
   priceCreate("Ask2",-500+217,60,"",20,Green);
   priceCreate("Ask3",-500+217,60,"",20,Green);
   priceCreate("BID3",-500+137,60,"",20,Red);

   PosInfo(-1000);
   SeverInfo(-1000);
   BGMAIN(-2000);
   BG(-2000);
   Header(-2000);// Øàïêà - âêëàäêè
   body(-2000);  // Òåëî êíîïîê
   BODYLEVEL(-2000,60);// Òåëî óðîâíåé
   bodyVkladki(-2000); // Âêëàäêè
   InfoAboutSymbol(-2000);
   VkladkaOrders(-500,-500);
   VKL_OTHERS(-500);
   VKL_IND(-2000);
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàíèå êíîïîê                                                |
//+----------------------------------------------------------------------------+  
void ButtonCreate(string name,color TextColor,color bgcolor,int Xdist,int Ydist,int Xsize,int Ysize,string Text,int FONTSIZE=12)
  {
   ObjectCreate(window,name,OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,name,OBJPROP_COLOR,TextColor);
   ObjectSetInteger(window,name,OBJPROP_BGCOLOR,bgcolor);
   ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
   ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
   ObjectSetInteger(window,name,OBJPROP_XSIZE,Xsize);
   ObjectSetInteger(window,name,OBJPROP_YSIZE,Ysize);
   ObjectSetString(window,name,OBJPROP_FONT,"Sans Serif");
   ObjectSetString(window,name,OBJPROP_TEXT,Text);
   ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);
   if(name==Symbol1)ObjectSetInteger(window,name,OBJPROP_SELECTABLE,true); // èíà÷å íàæàòü íà íåå íåëüçÿ
   if(name!=Symbol1)ObjectSetInteger(window,name,OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Ñîçäàíèÿ îáüåêòîâ óïðàâëåíèÿ ñòîïàìè                           |
//+----------------------------------------------------------------------------+  
void BODYLEVEL(int x,int y)
  {
   int a=30;
   window=0;
   int bb3=20;
   int xx=10;
   int xx2=130;
   int SizeY=20;
   color BG_CLOSEDELETE=Red;
   lotss=NormalizeDouble(lot,2);
   int xLOTS=10;
//

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå Óðîâíÿ òðàëëèíãñòîïà                       |
//+------------------------------------------------------------------+

   ObjectCreate(window,"Tralling",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Tralling",OBJPROP_XDISTANCE,x+30+xLOTS-5);
   ObjectSetInteger(window,"Tralling",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"Tralling",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"Tralling",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"Tralling",OBJPROP_XSIZE,58);
   ObjectSetInteger(window,"Tralling",OBJPROP_YSIZE,20);
   ObjectSetString(window,"Tralling",OBJPROP_TEXT,DoubleToString(trailing_level,0));
   ObjectSetInteger(window,"Tralling",OBJPROP_FONTSIZE,15);
   ObjectSetInteger(window,"Tralling",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Tralling ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_XDISTANCE,x+80+xLOTS+4);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Tralling ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Tralling ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Tralling ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Tralling âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_XDISTANCE,x+80+xLOTS+4);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvig);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Tralling âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Tralling âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Tralling âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå ëîòîâ                                      |
//+------------------------------------------------------------------+


   ObjectCreate(window,"Lots",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Lots",OBJPROP_XDISTANCE,x+30+xLOTS);
   ObjectSetInteger(window,"Lots",OBJPROP_YDISTANCE,ynew+y-25+a);
   ObjectSetInteger(window,"Lots",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"Lots",OBJPROP_BGCOLOR,Lavender);

   ObjectSetInteger(window,"Lots",OBJPROP_XSIZE,50);
   ObjectSetInteger(window,"Lots",OBJPROP_YSIZE,20);
   ObjectSetString(window,"Lots",OBJPROP_TEXT,DoubleToString(lotss,2));
   ObjectSetInteger(window,"Lots",OBJPROP_FONTSIZE,15);
   ObjectSetInteger(window,"Lots",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Ëîò ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_XDISTANCE,x+82+xLOTS);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_YDISTANCE,ynew+y-25+a);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Ëîò ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Ëîò ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Ëîò âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_XDISTANCE,x+82+xLOTS);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_YDISTANCE,ynew+y-15+a);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Ëîò âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Ëîò âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå TakeProfit                                 |
//+------------------------------------------------------------------+
   int xTakeProfit=10;

   ObjectCreate(window,"TakeProfit",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_XDISTANCE,x+108+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"TakeProfit",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_YSIZE,20);
   ObjectSetString(window,"TakeProfit",OBJPROP_TEXT,DoubleToString(TakeProfit,0));
   ObjectSetInteger(window,"TakeProfit",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"TakeProfit ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_XDISTANCE,x+164+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"TakeProfit ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"TakeProfit ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"TakeProfit âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_XDISTANCE,x+164+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvig);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"TakeProfit âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"TakeProfit âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå StopLoss                                   |
//+------------------------------------------------------------------+
   int xStopLoss=10;

   ObjectCreate(window,"StopLoss",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"StopLoss",OBJPROP_XDISTANCE,x+190+xStopLoss);
   ObjectSetInteger(window,"StopLoss",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"StopLoss",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"StopLoss",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"StopLoss",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"StopLoss",OBJPROP_YSIZE,20);
   ObjectSetString(window,"StopLoss",OBJPROP_TEXT,DoubleToString(StopLoss,0));
   ObjectSetInteger(window,"StopLoss",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"StopLoss",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"StopLoss ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_XDISTANCE,x+246+xStopLoss);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvig);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"StopLoss ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"StopLoss ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"StopLoss âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_XDISTANCE,x+246+xStopLoss);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvig);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"StopLoss âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"StopLoss âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//|   Ïðîâåðêà ñèìâîëà íà íàëè÷èå ïîçèöèé                            |
//+------------------------------------------------------------------+
void SymINFOStart(string symb)
  {
   if(PositionSelect(symb)==true)
     {
      int typeinfo=(int)PositionGetInteger(POSITION_TYPE);
      string typepos;
      if(typeinfo==POSITION_TYPE_SELL)typepos="SELL";
      if(typeinfo==POSITION_TYPE_BUY)typepos="BUY";
      if(typepos=="SELL")   ObjectSetInteger(window,symb,OBJPROP_BGCOLOR,LightPink);
      if(typepos=="BUY")   ObjectSetInteger(window,symb,OBJPROP_BGCOLOR,PaleGreen);

     }
  }
// ==========================================================================================================================================================================================================
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// 
//                             Ïàíåëü äëÿ Âêëàäêè INFO  
// 
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// ==========================================================================================================================================================================================================

void InfoAboutSymbol(int x=0)
  {
   if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==true || ObjectGetInteger(window,"Func",OBJPROP_STATE)==true
      || ObjectGetInteger(window,"Ord",OBJPROP_STATE)==true || ObjectGetInteger(window,"Pos",OBJPROP_STATE)==true || ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true)x=-500;
   if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==false
      &&  ObjectGetInteger(window,"INFO",OBJPROP_STATE)==true)x=0;

   if(ObjectGetInteger(window,"INFO_Desc",OBJPROP_XDISTANCE)<0 && ObjectGetInteger(window,"INFO",OBJPROP_STATE)==false)return;

   int INFO_spread=(int)SymbolInfoInteger(symToWork,SYMBOL_SPREAD);
   int INFO_stops=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);

   double INFO_point=SymbolInfoDouble(symToWork,SYMBOL_POINT);
   double INFO_LotMin=SymbolInfoDouble(symToWork,SYMBOL_VOLUME_MIN);
   double INFO_LotMax=SymbolInfoDouble(symToWork,SYMBOL_VOLUME_MAX);
   double INFO_LotStep=SymbolInfoDouble(symToWork,SYMBOL_VOLUME_STEP);
   double INFO_SWAPLong=SymbolInfoDouble(symToWork,SYMBOL_SWAP_LONG);
   double INFO_SWAPshort=SymbolInfoDouble(symToWork,SYMBOL_SWAP_SHORT);

   string INFO_Bank=SymbolInfoString(symToWork,SYMBOL_BANK);
   string INFO_Desc=SymbolInfoString(symToWork,SYMBOL_DESCRIPTION);



   ObjectCreate(window,"RectLabelInfo",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_XDISTANCE,x+15);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_YDISTANCE,50);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_XSIZE,239);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_YSIZE,150);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"RectLabelInfo",OBJPROP_BGCOLOR,WhiteSmoke);

   LabelCreate("INFO_Desc",Green,x+20,55,INFO_Desc);
   LabelCreate("INFO_spread",Green,x+20,72,"SPREAD",10); LabelCreate("INFO_spread"+"Var",Red,x+130,72,(string)INFO_spread,11);
   LabelCreate("INFO_stops",Green,x+20,85,"STOP",10); LabelCreate("INFO_stops"+"Var",Red,x+130,85,(string)INFO_stops,11);
   LabelCreate("INFO_point",Green,x+20,100,"POINT",10); LabelCreate("INFO_point"+"Var",Red,x+130,100,DoubleToString(INFO_point,5),11);
   LabelCreate("INFO_LotMin",Green,x+20,115,"LOT_MIN",10); LabelCreate("INFO_LotMin"+"Var",Red,x+130,115,DoubleToString(INFO_LotMin,2),11);
   LabelCreate("INFO_LotMax",Green,x+20,130,"LOT_MAX",10); LabelCreate("INFO_LotMax"+"Var",Red,x+130,130,DoubleToString(INFO_LotMax,2),11);
   LabelCreate("INFO_LotStep",Green,x+20,145,"LOT_STEP",10); LabelCreate("INFO_LotStep"+"Var",Red,x+130,145,DoubleToString(INFO_LotStep,2),11);
   LabelCreate("INFO_SWAPLong",Green,x+20,160,"SWAP_LONG",10); LabelCreate("INFO_SWAPLong"+"Var",Red,x+130,160,DoubleToString(INFO_SWAPLong,2),11);
   LabelCreate("INFO_SWAPshort",Green,x+20,175,"SWAP_SHORT",10); LabelCreate("INFO_SWAPshort"+"Var",Red,x+130,175,DoubleToString(INFO_SWAPshort,2),11);

   ObjectCreate(window,"TFARROW",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"TFARROW",OBJPROP_XDISTANCE,x+15);
   ObjectSetInteger(window,"TFARROW",OBJPROP_YDISTANCE,202);
   ObjectSetInteger(window,"TFARROW",OBJPROP_XSIZE,239);
   ObjectSetInteger(window,"TFARROW",OBJPROP_YSIZE,47);
   ObjectSetInteger(window,"TFARROW",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"TFARROW",OBJPROP_BGCOLOR,MintCream);

   LabelCreate("M1",Black,x+20,205,"M1",10);
   LabelCreate("M5",Black,x+45,205,"M5",10);
   LabelCreate("M15",Black,x+70,205,"M15",10);
   LabelCreate("M30",Black,x+100,205,"M30",10);
   LabelCreate("H1",Black,x+130,205,"H1",10);
   LabelCreate("H4",Black,x+155,205,"H4",10);
   LabelCreate("D1",Black,x+180,205,"D1",10);
   LabelCreate("W1",Black,x+205,205,"W1",10);
   LabelCreate("MN",Black,x+230,205,"MN",10);

   ArrowCreate("M1"+"ARROW",x+20,220,iOpenMQL4(symToWork,1,0),iCloseMQL4(symToWork,1,0));
   ArrowCreate("M5"+"ARROW",x+45,220,iOpenMQL4(symToWork,5,0),iCloseMQL4(symToWork,5,0));
   ArrowCreate("M15"+"ARROW",x+75,220,iOpenMQL4(symToWork,15,0),iCloseMQL4(symToWork,15,0));
   ArrowCreate("M30"+"ARROW",x+105,220,iOpenMQL4(symToWork,30,0),iCloseMQL4(symToWork,30,0));
   ArrowCreate("H1"+"ARROW",x+130,220,iOpenMQL4(symToWork,60,0),iCloseMQL4(symToWork,60,0));
   ArrowCreate("H4"+"ARROW",x+155,220,iOpenMQL4(symToWork,240,0),iCloseMQL4(symToWork,240,0));
   ArrowCreate("D1"+"ARROW",x+180,220,iOpenMQL4(symToWork,1440,0),iCloseMQL4(symToWork,1440,0));
   ArrowCreate("W1"+"ARROW",x+205,220,iOpenMQL4(symToWork,10080,0),iCloseMQL4(symToWork,10080,0));
   ArrowCreate("MN"+"ARROW",x+230,220,iOpenMQL4(symToWork,43200,0),iCloseMQL4(symToWork,43200,0));

  }
//+------------------------------------------------------------------+
//| Ïðè íàæàòèè íà ÒÔ îòêðûâàåì ×ÀÐÒ                                 |
//+------------------------------------------------------------------+
void ChartOpen_A(int x=0,int TF=0)
  {
   int TF2;
   if(TF==0)TF2=Period();else TF2=TF;

   if(ObjectFind(window,"CreateChart")<0 && (ObjectGetInteger(window,"INFO",OBJPROP_STATE)==true || ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true))
     {
      ObjectCreate(window,"CreateChart",OBJ_CHART,0,0,0);
      ObjectSetInteger(window,"CreateChart",OBJPROP_XDISTANCE,x+270);
      ObjectSetInteger(window,"CreateChart",OBJPROP_YDISTANCE,0);
      ObjectSetString(window,"CreateChart",OBJPROP_SYMBOL,symToWork);
      ObjectSetInteger(window,"CreateChart",OBJPROP_PERIOD,TF2);
     }
   else
     {

      if(ObjectGetInteger(window,"CreateChart",OBJPROP_PERIOD)==TF || ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==true) ChartCloseDel_A();
      else
        {
         if(TF!=0)
            if(ObjectGetInteger(window,"Minimize2",OBJPROP_STATE)==false
               && (ObjectGetInteger(window,"INFO",OBJPROP_STATE)==true || ObjectGetInteger(window,"Ind",OBJPROP_STATE)==true))
              {
               ObjectCreate(window,"CreateChart",OBJ_CHART,0,0,0);
               ObjectSetInteger(window,"CreateChart",OBJPROP_XDISTANCE,x+270);
               ObjectSetInteger(window,"CreateChart",OBJPROP_YDISTANCE,0);
               ObjectSetString(window,"CreateChart",OBJPROP_SYMBOL,symToWork);
               ObjectSetInteger(window,"CreateChart",OBJPROP_PERIOD,TF2);
              }
        }
     }
  }
//+------------------------------------------------------------------+
//| Ïðè íàæàòèè íà ÒÔ çàêðûâàåì ×ÀÐÒ                                 |
//+------------------------------------------------------------------+
void ChartCloseDel_A()
  {
   ObjectDelete(window,"CreateChart");
  }
//+------------------------------------------------------------------+
//| Ïðè íàæàòèè íà Ïàðó Ñìåíà âàëþòû                                 |
//+------------------------------------------------------------------+
void ChartClose_A(string Symbols="")
  {
   ObjectSetString(window,"CreateChart",OBJPROP_SYMBOL,Symbols);
  }
//+------------------------------------------------------------------+
//| Ñîçäàåì îáúåêò äëÿ Èíôîðì Ïàíåëè                                 |
//+------------------------------------------------------------------+
void LabelCreate(string name,color TextColor,int Xdist,int Ydist,string Text,int FONTSIZE=12)
  {
   ObjectCreate(window,name,OBJ_LABEL,0,100,100);
   ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
   ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
   ObjectSetInteger(window,name,OBJPROP_COLOR,TextColor);
   ObjectSetString(window,name,OBJPROP_TEXT,Text);
   ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);

  }
//+------------------------------------------------------------------+
//| Ðèñóåì Ñòðåëêè äëÿ Âûâîäà èíôîðìàöèè î ñîñòîÿíèè äâèæåíèÿ        |
//+------------------------------------------------------------------+
void ArrowCreate(string name,int Xdist,int Ydist,double open,double close,int FONTSIZE=12)
  {
   if(open<close)
     {
      if(ObjectGetString(window,name,OBJPROP_TEXT)!="Ý" || ObjectGetInteger(window,name,OBJPROP_XDISTANCE)!=Xdist)
        {
         ObjectCreate(window,name,OBJ_LABEL,0,0,0);

         ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
         ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
         ObjectSetInteger(window,name,OBJPROP_COLOR,Green);
         ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);
         ObjectSetString(window,name,OBJPROP_FONT,"WingDings");
         ObjectSetString(window,name,OBJPROP_TEXT,"Ý");
        }
     }
   if(open>close)
     {
      if(ObjectGetString(window,name,OBJPROP_TEXT)!="Þ" || ObjectGetInteger(window,name,OBJPROP_XDISTANCE)!=Xdist)
        {
         ObjectCreate(window,name,OBJ_LABEL,0,0,0);
         ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
         ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
         ObjectSetInteger(window,name,OBJPROP_COLOR,Red);
         ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);
         ObjectSetString(window,name,OBJPROP_FONT,"WingDings");
         ObjectSetString(window,name,OBJPROP_TEXT,"Þ");
        }
     }
   if(open==close)
     {
      if(ObjectGetString(window,name,OBJPROP_TEXT)!="ó" || ObjectGetInteger(window,name,OBJPROP_XDISTANCE)!=Xdist)
        {
         ObjectCreate(window,name,OBJ_LABEL,0,0,0);
         ObjectSetInteger(window,name,OBJPROP_XDISTANCE,Xdist);
         ObjectSetInteger(window,name,OBJPROP_YDISTANCE,Ydist);
         ObjectSetInteger(window,name,OBJPROP_COLOR,Gray);
         ObjectSetInteger(window,name,OBJPROP_FONTSIZE,FONTSIZE);
         ObjectSetString(window,name,OBJPROP_FONT,"WingDings");
         ObjectSetString(window,name,OBJPROP_TEXT,"ó");
        }
     }

  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| Âîçâðàùàåò çíà÷åíèå öåíû îòêðûòèÿ óêàçàííîãî ïàðàìåòðîì shift áàðà 
//| ñ ñîîòâåòñòâóþùåãî ãðàôèêà (symbol, timeframe).                  |
//+------------------------------------------------------------------+

double iOpenMQL4(string symbol,int tf,int index)
  {
   if(index<0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyOpen(symbol,timeframe,index,1,Arr)>0)
      return(Arr[0]);
   else return(-1);
  }
//+------------------------------------------------------------------+
//| Âîçâðàùàåò çíà÷åíèå öåíû çàêðûòèÿ óêàçàííîãî ïàðàìåòðîì shift áàðà 
//| ñ ñîîòâåòñòâóþùåãî ãðàôèêà (symbol, timeframe).                  |
//+------------------------------------------------------------------+
double iCloseMQL4(string symbol,int tf,int index)
  {
   if(index<0) return(-1);
   double Arr[];
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe,index,1,Arr)>0)
      return(Arr[0]);
   else return(-1);
  }
//+------------------------------------------------------------------+
//| Âîçâðàùàåò ÒàéìÔðåéì ïî Ìèíóòàì                                  |
//+------------------------------------------------------------------+

ENUM_TIMEFRAMES TFMigrate(int tf)
  {
   switch(tf)
     {
      case 0: return(PERIOD_CURRENT);
      case 1: return(PERIOD_M1);
      case 5: return(PERIOD_M5);
      case 15: return(PERIOD_M15);
      case 30: return(PERIOD_M30);
      case 60: return(PERIOD_H1);
      case 240: return(PERIOD_H4);
      case 1440: return(PERIOD_D1);
      case 10080: return(PERIOD_W1);
      case 43200: return(PERIOD_MN1);

      case 2: return(PERIOD_M2);
      case 3: return(PERIOD_M3);
      case 4: return(PERIOD_M4);
      case 6: return(PERIOD_M6);
      case 10: return(PERIOD_M10);
      case 12: return(PERIOD_M12);
      case 16385: return(PERIOD_H1);
      case 16386: return(PERIOD_H2);
      case 16387: return(PERIOD_H3);
      case 16388: return(PERIOD_H4);
      case 16390: return(PERIOD_H6);
      case 16392: return(PERIOD_H8);
      case 16396: return(PERIOD_H12);
      case 16408: return(PERIOD_D1);
      case 32769: return(PERIOD_W1);
      case 49153: return(PERIOD_MN1);
      default: return(PERIOD_CURRENT);
     }
  }
//+------------------------------------------------------------------+
// ==========================================================================================================================================================================================================
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// 
//                             Ïàíåëü äëÿ Âêëàäêè Ord  
// 
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// ==========================================================================================================================================================================================================
int ysdvigORD=25;


void VkladkaOrders(int x,int y)

  {

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   ButtonCreate("DELETE",Black,Khaki,x+119,y+10,70,20,"DELETE",10);

   ButtonCreate("BUYSTOP",Black,LightBlue,x+35,y+10,80,20,"BUYSTOP",10);
   ButtonCreate("SELLSTOP",Black,LightPink,x+35,y+35,80,20,"SELLSTOP",10);
   ButtonCreate("BUYLIMIT",Black,LightBlue,x+193,y+10,80,20,"BUYLIMIT",10);
   ButtonCreate("SELLLIMIT",Black,LightPink,x+193,y+35,80,20,"SELLLIMIT",10);

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



   ObjectCreate(window,"BGLS",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGLS",OBJPROP_XDISTANCE,x+15+19);
   ObjectSetInteger(window,"BGLS",OBJPROP_YDISTANCE,y+ynew+34+ysdvigORD);
   ObjectSetInteger(window,"BGLS",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGLS",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGLS",OBJPROP_BMPFILE,"ls.bmp");

   ObjectCreate(window,"BGTP",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGTP",OBJPROP_XDISTANCE,x+95+20);
   ObjectSetInteger(window,"BGTP",OBJPROP_YDISTANCE,y+ynew+34+ysdvigORD);
   ObjectSetInteger(window,"BGTP",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGTP",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGTP",OBJPROP_BMPFILE,"tp.bmp");

   ObjectCreate(window,"BGSL",OBJ_BITMAP_LABEL,0,100,100);
   ObjectSetInteger(window,"BGSL",OBJPROP_XDISTANCE,x+178+20);
   ObjectSetInteger(window,"BGSL",OBJPROP_YDISTANCE,y+ynew+34+ysdvigORD);
   ObjectSetInteger(window,"BGSL",OBJPROP_XSIZE,66);
   ObjectSetInteger(window,"BGSL",OBJPROP_YSIZE,19);
   ObjectSetString(window,"BGSL",OBJPROP_BMPFILE,"sl.bmp");

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




   int a=10;
   window=0;
   int bb3=20;
   int xx=10;
   int xx2=130;
   int SizeY=20;
   color BG_CLOSEDELETE=Red;
   lotss=NormalizeDouble(lot,2);
   int xLOTS=10;

//
/*
   ObjectCreate(window,"OrdersGRIDER",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_XDISTANCE,x+35);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_YDISTANCE,ynew+y+70+a+ysdvigORD);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_XSIZE,240);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_YSIZE,30);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"OrdersGRIDER",OBJPROP_BGCOLOR,WhiteSmoke);
*/
   ObjectCreate(window,"OrderLevelStopGRID",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_XDISTANCE,x+119);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_YDISTANCE,120+ysdvigORD);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_XSIZE,69);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_YSIZE,20);
   ObjectSetString(window,"OrderLevelStopGRID",OBJPROP_TEXT,DoubleToString(GRIDNUMBER,0));
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_FONTSIZE,15);
   ObjectSetInteger(window,"OrderLevelStopGRID",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

  // LabelCreate("OrderTextGRID",Green,x+50,ynew+y+75+a+ysdvigORD,"GRID amount ");

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå Óðîâíÿ òðàëëèíãñòîïà                       |
//+------------------------------------------------------------------+

   ObjectCreate(window,"OrderLevelStop",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_XDISTANCE,x+24+xLOTS);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_XSIZE,60);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_YSIZE,20);
   ObjectSetString(window,"OrderLevelStop",OBJPROP_TEXT,DoubleToString(OrderLevelStop,0));
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_FONTSIZE,15);
   ObjectSetInteger(window,"OrderLevelStop",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"OrderLevelStop ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_XDISTANCE,x+84+xLOTS);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"OrderLevelStop ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"OrderLevelStop ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"OrderLevelStop ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"OrderLevelStop âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_XDISTANCE,x+84+xLOTS);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvigORD);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"OrderLevelStop âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"OrderLevelStop âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"OrderLevelStop âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå ëîòîâ                                      |
//+------------------------------------------------------------------+


   ObjectCreate(window,"Lots",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Lots",OBJPROP_XDISTANCE,x+110+xLOTS);
   ObjectSetInteger(window,"Lots",OBJPROP_YDISTANCE,ynew+y-5+a);
   ObjectSetInteger(window,"Lots",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"Lots",OBJPROP_BGCOLOR,Lavender);

   ObjectSetInteger(window,"Lots",OBJPROP_XSIZE,50);
   ObjectSetInteger(window,"Lots",OBJPROP_YSIZE,20);
   ObjectSetString(window,"Lots",OBJPROP_TEXT,DoubleToString(lotss,2));
   ObjectSetInteger(window,"Lots",OBJPROP_FONTSIZE,15);
   ObjectSetInteger(window,"Lots",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Ëîò ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_XDISTANCE,x+162+xLOTS);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_YDISTANCE,ynew+y-5+a);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Ëîò ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Ëîò ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Ëîò ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"Ëîò âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_XDISTANCE,x+162+xLOTS);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_YDISTANCE,ynew+y+5+a);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"Ëîò âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"Ëîò âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"Ëîò âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå TakeProfit                                 |
//+------------------------------------------------------------------+
   int xTakeProfit=10;

   ObjectCreate(window,"TakeProfit",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_XDISTANCE,x+108+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"TakeProfit",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_YSIZE,20);
   ObjectSetString(window,"TakeProfit",OBJPROP_TEXT,DoubleToString(TakeProfit,0));
   ObjectSetInteger(window,"TakeProfit",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"TakeProfit",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"TakeProfit ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_XDISTANCE,x+164+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"TakeProfit ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"TakeProfit ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"TakeProfit ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"TakeProfit âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_XDISTANCE,x+164+xTakeProfit);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvigORD);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"TakeProfit âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"TakeProfit âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"TakeProfit âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//| Óâåëè÷åíèå/óìåíüøåíèå StopLoss                                   |
//+------------------------------------------------------------------+
   int xStopLoss=10;

   ObjectCreate(window,"StopLoss",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"StopLoss",OBJPROP_XDISTANCE,x+190+xStopLoss);
   ObjectSetInteger(window,"StopLoss",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"StopLoss",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"StopLoss",OBJPROP_BGCOLOR,White);

   ObjectSetInteger(window,"StopLoss",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"StopLoss",OBJPROP_YSIZE,20);
   ObjectSetString(window,"StopLoss",OBJPROP_TEXT,DoubleToString(StopLoss,0));
   ObjectSetInteger(window,"StopLoss",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"StopLoss",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"StopLoss ââåðõ",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_BGCOLOR,Green);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_XDISTANCE,x+246+xStopLoss);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_YDISTANCE,ynew+y+45+a+ysdvigORD);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_YSIZE,10);
   ObjectSetString(window,"StopLoss ââåðõ",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"StopLoss ââåðõ",OBJPROP_TEXT,"+");
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"StopLoss ââåðõ",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ObjectCreate(window,"StopLoss âíèç",OBJ_BUTTON,0,100,100);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_COLOR,White);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_BGCOLOR,Red);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_XDISTANCE,x+246+xStopLoss);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_YDISTANCE,ynew+y+55+a+ysdvigORD);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_XSIZE,15);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_YSIZE,10);
   ObjectSetString(window,"StopLoss âíèç",OBJPROP_FONT,"Arial");
   ObjectSetString(window,"StopLoss âíèç",OBJPROP_TEXT,"-");
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_FONTSIZE,10);
   ObjectSetInteger(window,"StopLoss âíèç",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

  }
//+------------------------------------------------------------------+

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

//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ OpenSELLSTOP                                 |
//+----------------------------------------------------------------------------+  
void OpenSELLSTOP()
  {
   for(int i=1;i<=GRIDNUMBER;i++)

     {
      if(OrderLevelStop!=0&&OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderPricePip=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      else OrderPricePip=OrderLevelStop;
      request.symbol = symToWork;
      request.volume = lotss;
      request.action=TRADE_ACTION_PENDING; // îïåðàöèÿ ñ ðûíêà
      if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork,SYMBOL_BID)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT)-TakeProfit*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork,SYMBOL_BID)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT)+StopLoss*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.deviation=(ulong)((SymbolInfoDouble(symToWork,SYMBOL_ASK)-SymbolInfoDouble(symToWork,SYMBOL_BID))/SymbolInfoDouble(symToWork,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           // request.type_filling=ORDER_FILLING_CANCEL;
      request.type=ORDER_TYPE_SELL_STOP;
      request.price=SymbolInfoDouble(symToWork,SYMBOL_BID)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.type_time=ORDER_TIME_GTC;

      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

     }
  }
//+------------------------------------------------------------------+
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ OpenBUYSTOP                                  |
//+----------------------------------------------------------------------------+ 

void OpenBUYSTOP()
  {
   for(int i=1;i<=GRIDNUMBER;i++)

     {
      if(OrderLevelStop!=0&&OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderPricePip=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      else OrderPricePip=OrderLevelStop;
      request.symbol= symToWork;
      request.volume= lotss;
      request.action=TRADE_ACTION_PENDING; // îïåðàöèÿ ñ ðûíêà
      if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork,SYMBOL_ASK)+TakeProfit*SymbolInfoDouble(symToWork,SYMBOL_POINT)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork,SYMBOL_ASK)-StopLoss*SymbolInfoDouble(symToWork,SYMBOL_POINT)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.deviation=(ulong)((SymbolInfoDouble(symToWork,SYMBOL_ASK)-SymbolInfoDouble(symToWork,SYMBOL_BID))/SymbolInfoDouble(symToWork,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           //request.type_filling=ORDER_FILLING_CANCEL;
      request.type=ORDER_TYPE_BUY_STOP;
      request.price=SymbolInfoDouble(symToWork,SYMBOL_ASK)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.type_time=ORDER_TIME_GTC;
      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");
     }
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ OpenSELLLIMT                                 |
//+----------------------------------------------------------------------------+  
void OpenSELLLIMIT()
  {
   for(int i=1;i<=GRIDNUMBER;i++)

     {
      if(OrderLevelStop!=0&&OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderPricePip=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      else OrderPricePip=OrderLevelStop;
      request.symbol = symToWork;
      request.volume = lotss;
      request.action=TRADE_ACTION_PENDING; // îïåðàöèÿ ñ ðûíêà
      if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork,SYMBOL_BID)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT)-TakeProfit*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork,SYMBOL_BID)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT)+StopLoss*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.deviation=(ulong)((SymbolInfoDouble(symToWork,SYMBOL_ASK)-SymbolInfoDouble(symToWork,SYMBOL_BID))/SymbolInfoDouble(symToWork,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           // request.type_filling=ORDER_FILLING_CANCEL;
      request.type=ORDER_TYPE_SELL_LIMIT;
      request.price=SymbolInfoDouble(symToWork,SYMBOL_BID)+OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.type_time=ORDER_TIME_GTC;

      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");
     }
  }
//+----------------------------------------------------------------------------+
//|  Àâòîð    : Âëàäèñëàâ, Expforex  http://expforex.at.ua                     |
//+----------------------------------------------------------------------------+
//|  Îïèñàíèå : Îòêðûâàåò ïîçèöèþ OpenBUYLIMIT                                  |
//+----------------------------------------------------------------------------+ 

void OpenBUYLIMIT()
  {
   for(int i=1;i<=GRIDNUMBER;i++)

     {
      if(OrderLevelStop!=0&&OrderLevelStop<SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL))OrderPricePip=(int)SymbolInfoInteger(symToWork,SYMBOL_TRADE_STOPS_LEVEL);
      else OrderPricePip=OrderLevelStop;
      request.symbol= symToWork;
      request.volume= lotss;
      request.action=TRADE_ACTION_PENDING; // îïåðàöèÿ ñ ðûíêà
      if(TakeProfit==0)request.tp=0;else request.tp=SymbolInfoDouble(symToWork,SYMBOL_ASK)+TakeProfit*SymbolInfoDouble(symToWork,SYMBOL_POINT)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      if(StopLoss==0)request.sl=0;else request.sl=SymbolInfoDouble(symToWork,SYMBOL_ASK)-StopLoss*SymbolInfoDouble(symToWork,SYMBOL_POINT)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.deviation=(ulong)((SymbolInfoDouble(symToWork,SYMBOL_ASK)-SymbolInfoDouble(symToWork,SYMBOL_BID))/SymbolInfoDouble(symToWork,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                           //request.type_filling=ORDER_FILLING_CANCEL;
      request.type=ORDER_TYPE_BUY_LIMIT;
      request.price=SymbolInfoDouble(symToWork,SYMBOL_ASK)-OrderPricePip*i*SymbolInfoDouble(symToWork,SYMBOL_POINT);
      request.type_time=ORDER_TIME_GTC;
      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");
     }
  }
//+------------------------------------------------------------------+
//|  Óäàëèì âñå îòëîæêè:                                             |
//+------------------------------------------------------------------+
void DeleteAllStops()
  {
   int pos=OrdersTotal(); // ïîëó÷èì êîëè÷åñòâî îòêðûòûõ ïîçèöèé
   for(int ip=pos;ip>=0;ip--)
     {

      DeletePositionStops(ip);

     }

  }
//+------------------------------------------------------------------+
//|   Óäàëèì îòëîæåííûé îðäåð                                        |
//+------------------------------------------------------------------+
void DeletePositionStops(int ip)
  {

   request.action=TRADE_ACTION_REMOVE; // îïåðàöèÿ ñ ðûíêà
   request.order=OrderGetTicket(ip);
   if(OrderGetString(ORDER_SYMBOL)!=symToWork)return;

   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

  }
//+------------------------------------------------------------------+

// ==========================================================================================================================================================================================================
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// 
//                             Ïàíåëü äëÿ Âêëàäêè Func  
// 
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// ==========================================================================================================================================================================================================

void VKL_OTHERS(int x=0)
  {

   int y=10;
//+------------------------------------------------------------------+
//|   Áëîê çàêðûòèÿ ïî ïðèáûëè è/èëè óáûòêó                          |
//+------------------------------------------------------------------+

   ObjectCreate(window,"OthersPROF",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_XDISTANCE,x+6);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_YDISTANCE,y+2);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_XSIZE,258);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_YSIZE,50);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"OthersPROF",OBJPROP_BGCOLOR,WhiteSmoke);

   ObjectCreate(window,"USEProfit",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"USEProfit",OBJPROP_XDISTANCE,x+10);
   ObjectSetInteger(window,"USEProfit",OBJPROP_YDISTANCE,y+5);
   ObjectSetInteger(window,"USEProfit",OBJPROP_COLOR,Black);
   ObjectSetInteger(window,"USEProfit",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"USEProfit",OBJPROP_XSIZE,250);
   ObjectSetInteger(window,"USEProfit",OBJPROP_YSIZE,17);
   ObjectSetString(window,"USEProfit",OBJPROP_TEXT,"CLOSE if PROFIT and/or LOSS");
   ObjectSetInteger(window,"USEProfit",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"USEProfit",OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ButtonCreate("USEProfitCLOSE",Black,Khaki,x+220,y+25,40,20,"USE",10);

//void LabelCreate(string name,color TextColor,int Xdist,int Ydist,string Text,int FONTSIZE=12)

   LabelCreate("ZNAK>",Green,x+15,y+25,">");

   ObjectCreate(window,"USEProfitCLOSE_EDIT",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_XDISTANCE,x+30);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_YDISTANCE,y+25);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_YSIZE,20);
   ObjectSetString(window,"USEProfitCLOSE_EDIT",OBJPROP_TEXT,DoubleToString(Profit,0));
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"USEProfitCLOSE_EDIT",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   LabelCreate("ZNAK<",Red,x+90,y+25,"<");

   ObjectCreate(window,"USELossCLOSE_EDIT",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_XDISTANCE,x+105);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_YDISTANCE,y+25);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_COLOR,Red);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_XSIZE,55);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_YSIZE,20);
   ObjectSetString(window,"USELossCLOSE_EDIT",OBJPROP_TEXT,DoubleToString(Loss,0));
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"USELossCLOSE_EDIT",OBJPROP_SELECTABLE,false); // èíà÷å íàæàòü íà íåå íåëüçÿ

   ButtonCreate("TypeClose_DOLLAR",Black,MistyRose,x+160,y+25,20,20,"$",10);
   ButtonCreate("TypeClose_PERCENT",Black,OldLace,x+180,y+25,20,20,"%",10);
   ButtonCreate("TypeClose_POINT",Black,Honeydew,x+200,y+25,20,20,"P",10);

//+------------------------------------------------------------------+
//|   Áëîê Custom1                                                    |
//+------------------------------------------------------------------+

   ObjectCreate(window,"OthersGRIDER",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_XDISTANCE,x+6);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_YDISTANCE,y+59);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_XSIZE,258);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_YSIZE,50);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"OthersGRIDER",OBJPROP_BGCOLOR,WhiteSmoke);

   ObjectCreate(window,"Custom1",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Custom1",OBJPROP_XDISTANCE,x+10);
   ObjectSetInteger(window,"Custom1",OBJPROP_YDISTANCE,y+62);
   ObjectSetInteger(window,"Custom1",OBJPROP_COLOR,Black);
   ObjectSetInteger(window,"Custom1",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"Custom1",OBJPROP_XSIZE,250);
   ObjectSetInteger(window,"Custom1",OBJPROP_YSIZE,17);
   ObjectSetString(window,"Custom1",OBJPROP_TEXT,"FREE CUSTOM BLOCK 1");
   ObjectSetInteger(window,"Custom1",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"Custom1",OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//|   Áëîê Custom2                                                    |
//+------------------------------------------------------------------+

   ObjectCreate(window,"OthersGRIDER2",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_XDISTANCE,x+6);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_YDISTANCE,y+116);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_XSIZE,258);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_YSIZE,50);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"OthersGRIDER2",OBJPROP_BGCOLOR,WhiteSmoke);

   ObjectCreate(window,"Custom2",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Custom2",OBJPROP_XDISTANCE,x+10);
   ObjectSetInteger(window,"Custom2",OBJPROP_YDISTANCE,y+119);
   ObjectSetInteger(window,"Custom2",OBJPROP_COLOR,Black);
   ObjectSetInteger(window,"Custom2",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"Custom2",OBJPROP_XSIZE,250);
   ObjectSetInteger(window,"Custom2",OBJPROP_YSIZE,17);
   ObjectSetString(window,"Custom2",OBJPROP_TEXT,"FREE CUSTOM BLOCK 2");
   ObjectSetInteger(window,"Custom2",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"Custom2",OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ

//+------------------------------------------------------------------+
//|   Áëîê Custom3                                                    |
//+------------------------------------------------------------------+

   ObjectCreate(window,"OthersGRIDER3",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_XDISTANCE,x+6);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_YDISTANCE,y+173);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_XSIZE,258);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_YSIZE,50);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"OthersGRIDER3",OBJPROP_BGCOLOR,WhiteSmoke);

   ObjectCreate(window,"Custom3",OBJ_EDIT,0,100,100);
   ObjectSetInteger(window,"Custom3",OBJPROP_XDISTANCE,x+10);
   ObjectSetInteger(window,"Custom3",OBJPROP_YDISTANCE,y+176);
   ObjectSetInteger(window,"Custom3",OBJPROP_COLOR,Black);
   ObjectSetInteger(window,"Custom3",OBJPROP_BGCOLOR,White);
   ObjectSetInteger(window,"Custom3",OBJPROP_XSIZE,250);
   ObjectSetInteger(window,"Custom3",OBJPROP_YSIZE,17);
   ObjectSetString(window,"Custom3",OBJPROP_TEXT,"FREE CUSTOM BLOCK 3");
   ObjectSetInteger(window,"Custom3",OBJPROP_FONTSIZE,13);
   ObjectSetInteger(window,"Custom3",OBJPROP_READONLY,true); // èíà÷å íàæàòü íà íåå íåëüçÿ

  }

//æææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ
//æææææææææææææææææææ      Ôóíêöèè çàêðûòèÿ ïî ïðèáûëè   ææææææææææææææææææææææææ
//æææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææææ

double price;
int    ordertype;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int startCloseBlock3()
  {
   double ask,bid,open,Prc2,point,buy_e=0,sell_e=0,Equity=0,_close=0;
   int Pips,buy_p=0,sell_p=0,flag=0;
   string com,mg;
   string  sy;
   sy=Symbol();
//-------------------------------ñìîòðèì îòêðûòûå----------------------------------------------------------

   int pos=PositionsTotal(); // ïîëó÷èì êîëè÷åñòâî îòêðûòûõ ïîçèöèé
   if(PositionsTotal()!=0)
     {
      for(int ip=pos;ip>=0;ip--)
        {

         int order_type2=(int)PositionGetInteger(POSITION_TYPE);
         double order_open_price2=PositionGetDouble(POSITION_PRICE_OPEN);
         double profit=PositionGetDouble(POSITION_PROFIT);

         if(order_type2==POSITION_TYPE_SELL)
           {
            point=SymbolInfoDouble(PositionGetString(POSITION_SYMBOL),SYMBOL_POINT);
            ask=MathRound(SymbolInfoDouble(PositionGetString(POSITION_SYMBOL),SYMBOL_ASK)/point);
            open=MathRound(order_open_price2/point);
            sell_e+=profit;
            sell_p+=(int)(open-ask);
           }
         if(order_type2==POSITION_TYPE_BUY)
           {
            point=SymbolInfoDouble(PositionGetString(POSITION_SYMBOL),SYMBOL_POINT);
            bid=MathRound(SymbolInfoDouble(PositionGetString(POSITION_SYMBOL),SYMBOL_ASK)/point);
            open=MathRound(order_open_price2/point);
            buy_e+=profit;
            buy_p+=(int)(bid-open);
           }
        }
      //-----------------------------------ñ÷èòàåì--------------------------------------------------------------- 
      Pips=(buy_p+sell_p);
      Equity=(buy_e+sell_e);
      Prc2=NormalizeDouble((Equity*100)/AccountInfoDouble(ACCOUNT_BALANCE),2);
      //----------------------------------âûáèðàåì---------------------------------------------------------------
      switch(TypeofClose)
        {
         case 1: _close=Equity; com = "äîëëàð"; break;
         case 2: _close=Prc2; com = "%áàëàíñ"; break;
         case 3: _close=Pips; com = "%ïèïñîâ"; break;
         default: com="ÍÅ ÓÊÀÇÀÍÎ"; break;
        }
      //--------------------Êîììåíòàðèè--------------------------------------------------------------------------- 

      //---------------------------óñëîâèÿ äëÿ çàêðûòèÿ--------------------------------------------------------------------- 
      if(_close>=Profit && Profit!=0){  flag=1; }
      if(_close<=Loss && Loss!=0){  flag=1; }
      //-----------------------------âñå ïîçèöèè çàêðûâàåì------------------------------------------------------------------
      if(flag>0)
        {
         CLOSEALLIFPROFIT();DELETEALLIFPROFIT();ObjectSetInteger(window,"USEProfitCLOSE",OBJPROP_STATE,false);Print("Close with -CLOSEIFPROFIT- #="+(string)_close);
        }
     }
   return(0);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void DELETEALLIFPROFIT()
  {
   int pos=OrdersTotal(); // ïîëó÷èì êîëè÷åñòâî îòêðûòûõ ïîçèöèé
   for(int ip=pos;ip>=0;ip--)
     {

      request.action=TRADE_ACTION_REMOVE; // îïåðàöèÿ ñ ðûíêà
      request.order=OrderGetTicket(ip);
      OrderSend(request,result);
      if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

     }

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void CLOSEALLIFPROFIT()
  {

   int pos=PositionsTotal(); // ïîëó÷èì êîëè÷åñòâî îòêðûòûõ ïîçèöèé
   for(int ip=pos;ip>=0;ip--)
     {
      string sSymbol=PositionGetSymbol(ip);
      if(PositionSelect(sSymbol)==true)
        {
         ClosePosition(sSymbol,ip);
        }
     }
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void ClosePosition(string sSymbol,int ip)
  {

   request.symbol = sSymbol;
   request.volume = PositionGetDouble( POSITION_VOLUME );
   request.action=TRADE_ACTION_DEAL; // îïåðàöèÿ ñ ðûíêà
   request.tp=0;
   request.sl=0;
   request.deviation=(ulong)((SymbolInfoDouble(sSymbol,SYMBOL_ASK)-SymbolInfoDouble(sSymbol,SYMBOL_BID))/SymbolInfoDouble(sSymbol,SYMBOL_POINT)); // ïî ñïðåäó 
                                                                                                                                                  // request.type_filling=ORDER_FILLING_CANCEL;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      request.type=ORDER_TYPE_SELL;
      request.price=SymbolInfoDouble(sSymbol,SYMBOL_BID);
     }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
   if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
     {
      request.type=ORDER_TYPE_BUY;
      request.price=SymbolInfoDouble(sSymbol,SYMBOL_ASK);
     }

   OrderSend(request,result);
   if(result.retcode==TRADE_RETCODE_DONE)PlaySound("ok.wav"); else PlaySound("stops.wav");

  }
//+----------------------------------------------------------------------

//

// ==========================================================================================================================================================================================================
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// 
//                             Ïàíåëü äëÿ Âêëàäêè Ind  
// 
// ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ
// ==========================================================================================================================================================================================================

//+------------------------------------------------------------------+
//| Îáúÿâèì ïåðåìåííûå äëÿ õðàíåíèÿ ñèãíàëîâ èíäèêàòîðîâ             |
//+------------------------------------------------------------------+
int SignalMA;
int SignalMACD;
int SignalPC;
int SignalACADX;
int SignalST;
int SignalRSI;
int SignalCCI;
int SignalWPR;
int SignalBB;
int SignalSDC;
int SignalPC2;
int SignalENV;
int SignalDC;
int SignalSC;
int SignalGC;
int SignalNRTR;
int SignalAL;
int SignalAMA;
int SignalAO;
int SignalICH;

//+------------------------------------------------------------------+
//| Îáúÿâèì ïåðåìåííûå äëÿ õðàíåíèÿ õýíäëîâ èíäèêàòîðîâ              |
//+------------------------------------------------------------------+
int h_ma1   = INVALID_HANDLE;
int h_ma2   = INVALID_HANDLE;
int h_macd  = INVALID_HANDLE;
int h_pc    = INVALID_HANDLE;
int h_pc2   = INVALID_HANDLE;
int h_acadx = INVALID_HANDLE;
int h_stoh  = INVALID_HANDLE;
int h_rsi   = INVALID_HANDLE;
int h_cci   = INVALID_HANDLE;
int h_wpr   = INVALID_HANDLE;
int h_bb    = INVALID_HANDLE;
int h_sdc   = INVALID_HANDLE;
int h_env   = INVALID_HANDLE;
int h_dc    = INVALID_HANDLE;
int h_sc    = INVALID_HANDLE;
int h_gc    = INVALID_HANDLE;
int h_nrtr  = INVALID_HANDLE;
int h_al    = INVALID_HANDLE;
int h_ama   = INVALID_HANDLE;
int h_ao    = INVALID_HANDLE;
int h_ich   = INVALID_HANDLE;
//+------------------------------------------------------------------+
//| Îáúÿâèì íåîáõîäèìûå ìàññèâû äëÿ õðàíåíèÿ äàííûõ èíäèêàòîðîâ      |
//+------------------------------------------------------------------+
double ma1_buffer[];
double ma2_buffer[];
double macd1_buffer[];
double macd2_buffer[];
double pc1_buffer[];
double pc2_buffer[];
double pc1_buffer2[];
double pc2_buffer2[];
double acadx1_buffer[];
double acadx2_buffer[];
double stoh_buffer[];
double rsi_buffer[];
double cci_buffer[];
double wpr_buffer[];
double bb1_buffer[];
double bb2_buffer[];
double sdc1_buffer[];
double sdc2_buffer[];
double env1_buffer[];
double env2_buffer[];
double dc1_buffer[];
double dc2_buffer[];
double sc1_buffer[];
double sc2_buffer[];
double gc1_buffer[];
double gc2_buffer[];
double nrtr1_buffer[];
double nrtr2_buffer[];
double al1_buffer[];
double al2_buffer[];
double al3_buffer[];
double ama_buffer[];
double ao_buffer[];
double ich1_buffer[];
double ich2_buffer[];
double Close[];
//+------------------------------------------------------------------+
//| ôóíêöèè ôîðìèðîâàíèÿ ñèãíàëîâ                                    |
//|  0 - íåò ñèãíàëà                                                 |
//|  1 - ñèãíàë íà ïîêóïêó                                           |
//| -1 - ñèãíàë íà ïðîäàæó                                           |
//+------------------------------------------------------------------+
int TradeSignal_01(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
//--- íîëü îçíà÷àåò îòñóòñòâèå ñèãíàëà
   int sig=0;

//--- ïðîâåðèì õåíäëû èíäèêàòîðîâ
   if(h_ma1==INVALID_HANDLE)//--- åñëè õýíäë íåâàëèäíûé
     {
      //--- ñîçäàäèì åãî ñíîâà                                                      
      h_ma1=iMA(symToWork,TFMigrate(TF),periodma1,0,MAmethod,MAprice);
      //--- âûõîäèì èç ôóíêöèè
      return(0);
     }
   else //--- åñëè õýíäë âàëèäíûé 
     {
      //--- êîïèðóåì çíà÷åíèÿ èç èíäèêàòîðà â ìàññèâ
      if(CopyBuffer(h_ma1,0,0,3,ma1_buffer)<3) //--- è åñëè äàííûõ ìåíüøå òðåáóåìûõ
         //--- âûõîäèì èç ôóíêöèè
         return(0);
      //--- çàäàäèì èíäåêñàöèþ â ìàññèâå êàê òàéìñåðèþ                                   
      if(!ArraySetAsSeries(ma1_buffer,true))
         //--- â ñëó÷àå îøèáêè èíäåêñàöèè âûõîäèì èç ôóíêöèè
         return(0);
     }

   if(h_ma2==INVALID_HANDLE)//--- åñëè õýíäë íåâàëèäíûé
     {
      //--- ñîçäàäèì åãî ñíîâà                                                      
      h_ma2=iMA(symToWork,TFMigrate(TF),periodma2,0,MAmethod,MAprice);
      //--- âûõîäèì èç ôóíêöèè
      return(0);
     }
   else //--- åñëè õýíäë âàëèäíûé 
     {
      //--- êîïèðóåì çíà÷åíèÿ èç èíäèêàòîðà â ìàññèâ
      if(CopyBuffer(h_ma2,0,0,2,ma2_buffer)<2) //--- è åñëè äàííûõ ìåíüøå òðåáóåìûõ
         //--- âûõîäèì èç ôóíêöèè
         return(0);
      //--- çàäàäèì èíäåêñàöèþ â ìàññèâå êàê òàéìñåðèþ                                   
      if(!ArraySetAsSeries(ma1_buffer,true))
         //--- â ñëó÷àå îøèáêè èíäåêñàöèè âûõîäèì èç ôóíêöèè
         return(0);
     }

//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(ma1_buffer[2]<ma2_buffer[1] && ma1_buffer[1]>ma2_buffer[1])
      sig=1;
   else if(ma1_buffer[2]>ma2_buffer[1] && ma1_buffer[1]<ma2_buffer[1])
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_02(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_macd==INVALID_HANDLE)
     {
      h_macd=iMACD(symToWork,TFMigrate(TF),FastMACD,SlowMACD,MACDSMA,MACDprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_macd,0,0,2,macd1_buffer)<2)
         return(0);
      if(CopyBuffer(h_macd,1,0,3,macd2_buffer)<3)
         return(0);
      if(!ArraySetAsSeries(macd1_buffer,true))
         return(0);
      if(!ArraySetAsSeries(macd2_buffer,true))
         return(0);
     }

//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(macd2_buffer[2]>macd1_buffer[1] && macd2_buffer[1]<macd1_buffer[1])
      sig=1;
   else if(macd2_buffer[2]<macd1_buffer[1] && macd2_buffer[1]>macd1_buffer[1])
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int TradeSignal_05(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_stoh==INVALID_HANDLE)
     {
      h_stoh=iStochastic(symToWork,TFMigrate(TF),SOPeriodK,SOPeriodD,SOslowing,SOmethod,SOpricefield);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_stoh,0,0,3,stoh_buffer)<3)
         return(0);

      if(!ArraySetAsSeries(stoh_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(stoh_buffer[2]<20 && stoh_buffer[1]>20)
      sig=1;
   else if(stoh_buffer[2]>80 && stoh_buffer[1]<80)
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_06(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_rsi==INVALID_HANDLE)
     {
      h_rsi=iRSI(symToWork,TFMigrate(TF),RSIPeriod,RSIprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_rsi,0,0,3,rsi_buffer)<3)
         return(0);

      if(!ArraySetAsSeries(rsi_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(rsi_buffer[2]<30 && rsi_buffer[1]>30)
      sig=1;
   else if(rsi_buffer[2]>70 && rsi_buffer[1]<70)
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_07(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_cci==INVALID_HANDLE)
     {
      h_cci=iCCI(symToWork,TFMigrate(TF),CCIPeriod,CCIprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_cci,0,0,3,cci_buffer)<3)
         return(0);

      if(!ArraySetAsSeries(cci_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(cci_buffer[2]<-100 && cci_buffer[1]>-100)
      sig=1;
   else if(cci_buffer[2]>100 && cci_buffer[1]<100)
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_08(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_wpr==INVALID_HANDLE)
     {
      h_wpr=iWPR(symToWork,TFMigrate(TF),WPRPeriod);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_wpr,0,0,3,wpr_buffer)<3)
         return(0);

      if(!ArraySetAsSeries(wpr_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(wpr_buffer[2]<-80 && wpr_buffer[1]>-80)
      sig=1;
   else if(wpr_buffer[2]>-20 && wpr_buffer[1]<-20)
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_09(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_bb==INVALID_HANDLE)
     {
      h_bb=iBands(symToWork,TFMigrate(TF),BBPeriod,0,BBdeviation,BBprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_bb,1,0,2,bb1_buffer)<2)
         return(0);
      if(CopyBuffer(h_bb,2,0,2,bb2_buffer)<2)
         return(0);
      if(CopyClose(symToWork,TFMigrate(TF),0,3,Close)<3)
         return(0);
      if(!ArraySetAsSeries(bb1_buffer,true))
         return(0);
      if(!ArraySetAsSeries(bb2_buffer,true))
         return(0);
      if(!ArraySetAsSeries(Close,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(Close[2]<=bb2_buffer[1] && Close[1]>bb2_buffer[1])
      sig=1;
   else if(Close[2]>=bb1_buffer[1] && Close[1]<bb1_buffer[1])
                     sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int TradeSignal_12(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_env==INVALID_HANDLE)
     {
      h_env=iEnvelopes(symToWork,TFMigrate(TF),ENVPeriod,0,ENVmethod,ENVprice,ENVdeviation);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_env,0,0,2,env1_buffer)<2)
         return(0);
      if(CopyBuffer(h_env,1,0,2,env2_buffer)<2)
         return(0);
      if(CopyClose(symToWork,TFMigrate(TF),0,3,Close)<3)
         return(0);
      if(!ArraySetAsSeries(env1_buffer,true))
         return(0);
      if(!ArraySetAsSeries(env2_buffer,true))
         return(0);
      if(!ArraySetAsSeries(Close,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(Close[2]<=env2_buffer[1] && Close[1]>env2_buffer[1])
      sig=1;
   else if(Close[2]>=env1_buffer[1] && Close[1]<env1_buffer[1])
                     sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TradeSignal_17(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_al==INVALID_HANDLE)
     {
      h_al=iAlligator(symToWork,TFMigrate(TF),ALjawperiod,0,ALteethperiod,0,ALlipsperiod,0,ALmethod,ALprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_al,0,0,2,al1_buffer)<2)
         return(0);
      if(CopyBuffer(h_al,1,0,2,al2_buffer)<2)
         return(0);
      if(CopyBuffer(h_al,2,0,2,al3_buffer)<2)
         return(0);
      if(!ArraySetAsSeries(al1_buffer,true))
         return(0);
      if(!ArraySetAsSeries(al2_buffer,true))
         return(0);
      if(!ArraySetAsSeries(al3_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(al3_buffer[1]>al2_buffer[1] && al2_buffer[1]>al1_buffer[1])
      sig=1;
   else if(al3_buffer[1]<al2_buffer[1] && al2_buffer[1]<al1_buffer[1])
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_18(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_ama==INVALID_HANDLE)
     {
      h_ama=iAMA(symToWork,TFMigrate(TF),AMAperiod,AMAfastperiod,AMAslowperiod,0,AMAprice);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_ama,0,0,3,ama_buffer)<3)
         return(0);
      if(!ArraySetAsSeries(ama_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(ama_buffer[2]<ama_buffer[1])
      sig=1;
   else if(ama_buffer[2]>ama_buffer[1])
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_19(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_ao==INVALID_HANDLE)
     {
      h_ao=iAO(symToWork,TFMigrate(TF));
      return(0);
     }
   else
     {
      if(CopyBuffer(h_ao,1,0,20,ao_buffer)<20)
         return(0);
      if(!ArraySetAsSeries(ao_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(ao_buffer[1]==0)
      sig=1;
   else if(ao_buffer[1]==1)
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
int TradeSignal_20(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
   int sig=0;

   if(h_ich==INVALID_HANDLE)
     {
      h_ich=iIchimoku(symToWork,TFMigrate(TF),IKHtenkansen,IKHkijunsen,IKHsenkouspanb);
      return(0);
     }
   else
     {
      if(CopyBuffer(h_ich,0,0,2,ich1_buffer)<2)
         return(0);
      if(CopyBuffer(h_ich,1,0,2,ich2_buffer)<2)
         return(0);
      if(!ArraySetAsSeries(ich1_buffer,true))
         return(0);
      if(!ArraySetAsSeries(ich2_buffer,true))
         return(0);
     }
//--- ïðîâîäèì ïðîâåðêó óñëîâèÿ è óñòàíàâëèâàåì çíà÷åíèå äëÿ sig
   if(ich1_buffer[1]>ich2_buffer[1])
      sig=1;
   else if(ich1_buffer[1]<ich2_buffer[1])
      sig=-1;
   else sig=0;

//--- âîçâðàùàåì òîðãîâûé ñèãíàë
   return(sig);
  }
//+------------------------------------------------------------------+
void IndCalc(string symToWork3="",int TF=0)
  {
   if(symToWork3=="")symToWork3=symToWork; if(TF==0)TF=TFToInd;
//--- ñîçäàäèì õýíäëû èíäèêàòîðîâ
   h_ma1=iMA(symToWork3,TFMigrate(TF),periodma1,0,MAmethod,MAprice);
   h_ma2=iMA(symToWork3,TFMigrate(TF),periodma2,0,MAmethod,MAprice);
   h_macd=iMACD(symToWork3,TFMigrate(TF),FastMACD,SlowMACD,MACDSMA,MACDprice);
   h_stoh=iStochastic(symToWork3,TFMigrate(TF),SOPeriodK,SOPeriodD,SOslowing,SOmethod,SOpricefield);
   h_rsi=iRSI(symToWork3,TFMigrate(TF),RSIPeriod,RSIprice);
   h_cci=iCCI(symToWork3,TFMigrate(TF),CCIPeriod,CCIprice);
   h_wpr=iWPR(symToWork3,TFMigrate(TF),WPRPeriod);
   h_bb=iBands(symToWork3,TFMigrate(TF),BBPeriod,0,BBdeviation,BBprice);
   h_env=iEnvelopes(symToWork3,TFMigrate(TF),ENVPeriod,0,ENVmethod,ENVprice,ENVdeviation);
   h_al=iAlligator(symToWork3,TFMigrate(TF),ALjawperiod,0,ALteethperiod,0,ALlipsperiod,0,ALmethod,ALprice);
   h_ama=iAMA(symToWork3,TFMigrate(TF),AMAperiod,AMAfastperiod,AMAslowperiod,0,AMAprice);
   h_ao=iAO(symToWork3,TFMigrate(TF));
   h_ich=iIchimoku(symToWork3,TFMigrate(TF),IKHtenkansen,IKHkijunsen,IKHsenkouspanb);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void VKL_IND(int x2=10,string symToWork3="",int TF=0)
  {
   IndCalc(symToWork3,TF);

   ObjectCreate(window,"IndBG",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"IndBG",OBJPROP_XDISTANCE,x2+5);
   ObjectSetInteger(window,"IndBG",OBJPROP_YDISTANCE,60);
   ObjectSetInteger(window,"IndBG",OBJPROP_XSIZE,240);
   ObjectSetInteger(window,"IndBG",OBJPROP_YSIZE,190);
   ObjectSetInteger(window,"IndBG",OBJPROP_BORDER_TYPE,1);
   ObjectSetInteger(window,"IndBG",OBJPROP_BGCOLOR,WhiteSmoke);

   ObjectCreate(window,"IndBG2",OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(window,"IndBG2",OBJPROP_XDISTANCE,x2+5);
   ObjectSetInteger(window,"IndBG2",OBJPROP_YDISTANCE,45);
   ObjectSetInteger(window,"IndBG2",OBJPROP_XSIZE,240);
   ObjectSetInteger(window,"IndBG2",OBJPROP_YSIZE,25);
   ObjectSetInteger(window,"IndBG2",OBJPROP_BORDER_TYPE,2);
   ObjectSetInteger(window,"IndBG2",OBJPROP_BGCOLOR,OldLace);

   LabelCreate("M1_IND",Black,x2+10,50,"M1",10);
   LabelCreate("M5_IND",Black,x2+35,50,"M5",10);
   LabelCreate("M15_IND",Black,x2+60,50,"M15",10);
   LabelCreate("M30_IND",Black,x2+90,50,"M30",10);
   LabelCreate("H1_IND",Black,x2+120,50,"H1",10);
   LabelCreate("H4_IND",Black,x2+145,50,"H4",10);
   LabelCreate("D1_IND",Black,x2+170,50,"D1",10);
   LabelCreate("W1_IND",Black,x2+195,50,"W1",10);
   LabelCreate("MN_IND",Black,x2+220,50,"MN",10);



//---ïðèñâàåâàåì ïåðåìåííîé çíà÷åíèå ñèãíàëà
   SignalMA    = TradeSignal_01(symToWork3,TF);
   SignalMACD  = TradeSignal_02(symToWork3,TF);
   SignalST    = TradeSignal_05(symToWork3,TF);
   SignalRSI   = TradeSignal_06(symToWork3,TF);
   SignalCCI   = TradeSignal_07(symToWork3,TF);
   SignalWPR   = TradeSignal_08(symToWork3,TF);
   SignalBB    = TradeSignal_09(symToWork3,TF);
   SignalENV   = TradeSignal_12(symToWork3,TF);
   SignalAL    = TradeSignal_17(symToWork3,TF);
   SignalAMA   = TradeSignal_18(symToWork3,TF);
   SignalAO    = TradeSignal_19(symToWork3,TF);
   SignalICH   = TradeSignal_20(symToWork3,TF);

//--- ðèñóåì ãðàôè÷åñêèå îáúåêòû íà ãðàôèêå â âåðõíåì ëåâîì óãëó
   int size=((int)14);
   int i=0;
   int x=x2;
   int y=55;
   int fz=size-2;

   y+=size;
   SetLabel("arrow"+(string)i,arrow(SignalMA),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalMA));
   x+=size;
   SetLabel("label"+(string)i,"Moving Average",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalMACD),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalMACD));
   x+=size;
   SetLabel("label"+(string)i,"MACD",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalST),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalST));
   x+=size;
   SetLabel("label"+(string)i,"Stochastic Oscillator",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalRSI),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalRSI));
   x+=size;
   SetLabel("label"+(string)i,"RSI",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalCCI),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalCCI));
   x+=size;
   SetLabel("label"+(string)i,"CCI",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalWPR),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalWPR));
   x+=size;
   SetLabel("label"+(string)i,"WPR",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalBB),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalBB));
   x+=size;
   SetLabel("label"+(string)i,"Bollinger Bands",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalENV),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalENV));
   x+=size;
   SetLabel("label"+(string)i,"Envelopes",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalAL),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalAL));
   x+=size;
   SetLabel("label"+(string)i,"Alligator",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalAMA),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalAMA));
   x+=size;
   SetLabel("label"+(string)i,"AMA",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalAO),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalAO));
   x+=size;
   SetLabel("label"+(string)i,"Awesome oscillator",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);
   i++;y+=size;x=10;
   SetLabel("arrow"+(string)i,arrow(SignalICH),CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y+4,"Wingdings",fz-2,0,Colorarrow(SignalICH));
   x+=size;
   SetLabel("label"+(string)i,"Ichimoku Kinko Hyo",CORNER_RIGHT_UPPER,ANCHOR_RIGHT_UPPER,x2+x,y,"Arial",fz,0,BlueViolet);

  }
//+---------------------------------------------------------------------------------------------------+
//| Ôóíêöèÿ äëÿ ñîçäàíèÿ òåêñòîâîãî îáúåêòà Label                                                     |
//|    Ïàðàìåòðû:                                                                                     |                                                          
//|    nm - íàèìåíîâàíèå îáúåêòà                                                                      |                                               
//|    tx - òåêñò                                                                                     |
//|    cn - óãîë ãðàôèêà äëÿ ïðèâÿçêè ãðàôè÷åñêîãî îáúåêòà                                            |
//|         CORNER_LEFT_UPPER - Öåíòð êîîðäèíàò â ëåâîì âåðõíåì óãëó ãðàôèêà                          |
//|         CORNER_LEFT_LOWER - Öåíòð êîîðäèíàò â ëåâîì íèæíåì óãëó ãðàôèêà                           |
//|         CORNER_RIGHT_LOWER - Öåíòð êîîðäèíàò â ïðàâîì íèæíåì óãëó ãðàôèêà                         |
//|         CORNER_RIGHT_UPPER - Öåíòð êîîðäèíàò â ïðàâîì âåðõíåì óãëó ãðàôèêà                        |
//|    cr - ïîëîæåíèå òî÷êè ïðèâÿçêè ãðàôè÷åñêîãî îáúåêòà                                             |
//|         ANCHOR_LEFT_UPPER - Òî÷êà ïðèâÿçêè â ëåâîì âåðõíåì óãëó                                   |
//|         ANCHOR_LEFT - Òî÷êà ïðèâÿçêè ñëåâà ïî öåíòðó                                              |
//|         ANCHOR_LEFT_LOWER - Òî÷êà ïðèâÿçêè â ëåâîì íèæíåì óãëó                                    |
//|         ANCHOR_LOWER - Òî÷êà ïðèâÿçêè ñíèçó ïî öåíòðó                                             |
//|         ANCHOR_RIGHT_LOWER - Òî÷êà ïðèâÿçêè â ïðàâîì íèæíåì óãëó                                  |
//|         ANCHOR_RIGHT - Òî÷êà ïðèâÿçêè ñïðàâà ïî öåíòðó                                            |
//|         ANCHOR_RIGHT_UPPER - Òî÷êà ïðèâÿçêè â ïðàâîì âåðõíåì óãëó                                 |
//|         ANCHOR_UPPER - Òî÷êà ïðèâÿçêè ñâåðõó ïî öåíòðó                                            |
//|         ANCHOR_CENTER - Òî÷êà ïðèâÿçêè ñòðîãî ïî öåíòðó îáúåêòà                                   |
//|    xd - êîîðäèíàòà X â ïèêñåëàõ                                                                   |                                           
//|    yd - êîîðäèíàòà Y â ïèêñåëàõ                                                                   |
//|    fn - íàèìåíîâàíèå øðèôòà                                                                       |                    
//|    fs - ðàçìåð øðèôòà â ïèêñåëàõ                                                                  | 
//|    yg - óãîë íàêëîíà òåêñòà â ãðàäóñàõ. ñî çíàêîì ìèíóñ ïî ÷àñîâîé, ñî çíàêîì ïëþñ ïðîòèâ ÷àñîâîé |                                                                    
//|    ct - öâåò òåêñòà                                                                               |
//+---------------------------------------------------------------------------------------------------+
void SetLabel(string nm,string tx,ENUM_BASE_CORNER cn,ENUM_ANCHOR_POINT cr,int xd,int yd,string fn,int fs,double yg,color ct)export
  {
   if(fs<1)fs=1;
   cn=CORNER_LEFT_UPPER;
   cr=ANCHOR_LEFT_UPPER;
   if(ObjectFind(0,nm)<0)ObjectCreate(0,nm,OBJ_LABEL,0,0,0);  //--- ñîçäàäèì îáúåêò Label
   ObjectSetString (0,nm,OBJPROP_TEXT,tx);                    //--- óñòàíîâèì òåêñò äëÿ îáúåêòà Label 
   ObjectSetInteger(0,nm,OBJPROP_CORNER,cn);                  //--- óñòàíîâèì ïðèâÿçêó ê óãëó ãðàôèêà              
   ObjectSetInteger(0,nm,OBJPROP_ANCHOR,cr);                  //--- óñòàíîâèì ïîëîæåíèå òî÷êè ïðèâÿçêè ãðàôè÷åñêîãî îáúåêòà
   ObjectSetInteger(0,nm,OBJPROP_XDISTANCE,xd);               //--- óñòàíîâèì êîîðäèíàòó X
   ObjectSetInteger(0,nm,OBJPROP_YDISTANCE,yd);               //--- óñòàíîâèì êîîðäèíàòó Y
   ObjectSetString (0,nm,OBJPROP_FONT,fn);                    //--- óñòàíîâèì øðèôò íàäïèñè
   ObjectSetInteger(0,nm,OBJPROP_FONTSIZE,fs);                //--- óñòàíîâèì ðàçìåð øðèôòà    
   ObjectSetDouble (0,nm,OBJPROP_ANGLE,yg);                   //--- óñòàíîâèì óãîë íàêëîíà
   ObjectSetInteger(0,nm,OBJPROP_COLOR,ct);                   //--- çàäàäèì öâåò òåêñòà
   ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,false);           //--- çàïðåòèì âûäåëåíèå îáúåêòà ìûøêîé   
  }
//+------------------------------------------------------------------+
//| ôóíêöèÿ äëÿ îïðåäåëåíèÿ òèïà ñòðåëêè ïî êîäó øðèôòà  Wingdings   |
//+------------------------------------------------------------------+
string arrow(int sig)export
  {
   switch(sig)
     {
      case  0: return(CharToString(251));
      case  1: return(CharToString(233));
      case -1: return(CharToString(234));
     }
   return((string)0);
  }
//+------------------------------------------------------------------+
//| ôóíêöèÿ äëÿ îïðåäåëåíèÿ öâåòà ñòðåëêè                            |
//+------------------------------------------------------------------+
color Colorarrow(int sig)export
  {
   switch(sig)
     {
      case -1: return(Red);
      case  0:  return(MediumAquamarine);
      case  1:  return(Blue);
     }
   return(0);
  }
//+------------------------------------------------------------------+

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---