Risk&ObjInFules

Price Data Components
Orders Execution
Checks for the total of open orders
Miscellaneous
Uses files from the file systemIt writes information to fileIt writes information to file
0 Views
0 Downloads
0 Favorites
Risk&ObjInFules
ÿþ#property strict

#property indicator_chart_window

//+==================================================================================================+

int tik, OrdTotal;

double osl, poins, riskd;

string sym;

string schet;

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

int OnCalculate(const int rates_total,

                const int prev_calculated,

                const datetime &time[],

                const double &open[],

                const double &high[],

                const double &low[],

                const double &close[],

                const long &tick_volume[],

                const long &volume[],

                const int &spread[])

  {

   if(OrdTotal != OrdersTotal()){DopComm(); OrdTotal = OrdersTotal();}

   return(rates_total);

  }

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

void DopComm()

{

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

  schet = (string)AccountNumber();

  if(schet == "0"){return;}

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

 for(int i=0;i<OrdersTotal();i++)

   {

    if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){i=-1; RefreshRates(); continue;}

    tik=OrderTicket(); osl=OrderStopLoss();

//+==================================================================================================+ ;>: 4;O 70?8A8 40==KE >1J5:B>2

    if(!FileIsExist(schet+"\\LocalData\\Obj\\"+(string)tik+".txt")){sym=OrderSymbol(); ObjGet();}

//+==================================================================================================+ ;>: 4;O 70?8A8 @8A:0

    if(FileIsExist(schet+"\\LocalData\\Risk\\"+(string)tik+".bin",0)){continue;}

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

    if(osl>0)

      {

       poins = MathRound(MathAbs(osl-OrderOpenPrice())/Point());

       riskd = NormalizeDouble(OrderLots()*poins,2);

      }

     else {return;}

//+.................................................................................+

       int hand=FileOpen(schet+"\\LocalData\\Risk\\"+(string)tik+".bin",FILE_WRITE|FILE_BIN);

       FileWriteDouble(hand,riskd);

       FileClose(hand);

//+================================================================================================+

   }

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

}

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

void ObjGet(){

string imya;

string adres=schet+"\\LocalData\\Obj\\"+(string)tik+".txt";

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

int handle=FileOpen(adres,FILE_WRITE);

FileWrite(handle,osl);             //  &5=0 ?5@2>=0G0;L=>3> AB>?-;>AA0.

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

long chart=ChartFirst(); 

int i=0;

while(i<100)

 {

 if(ChartSymbol(chart)!=sym){chart=ChartNext(chart);if(chart<0){break;}i++;continue;}

  for(int obj=ObjectsTotal(chart);obj>=0;obj--)

  {

  imya=ObjectName(chart,obj);  if(StringLen(imya)<1){continue;}

//+===============================================================================================================+ A:;NG5=8O

   if(StringFind(imya,"(#F$Z%)",0)>=0){continue;}                    // 0==K5 >1J5:B>2 2 8<5=0E :>B>@KE 5ABL '(#F$Z%)' - =5 ?>;CG0BL

   if(ObjectGetInteger(chart,imya,OBJPROP_TIMEFRAMES)<0){continue;}  // 0==K5 =5>B>1@0605<KE >1J5:B>2 =5 ?>;CG0BL

//+===============================================================================================+ V.LINE

  if(ObjectGetInteger(chart,imya,OBJPROP_TYPE)==OBJ_VLINE)

   {

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

    FileWrite(handle,"TYP"+(string)ObjectGetInteger(chart,imya,OBJPROP_TYPE)); // 0?8AL B8?0

    FileWrite(handle,imya);                                                    // 0?8AL 8<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_WIDTH));              // 0?8AL H8@8=K

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_STYLE));              // 0?8AL AB8;O

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIMEFRAMES));         // 0?8AL B0<D@59<>2

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_COLOR));              // 0?8AL F25B0

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIME));               // 0?8AL :>>@48=0BK 2@5<5=8

    continue;

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

   }

//+-----------------------------------------------------------------------------------------------+ H.LINE

  if(ObjectGetInteger(chart,imya,OBJPROP_TYPE)==OBJ_HLINE)

   {

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

    FileWrite(handle,"TYP"+(string)ObjectGetInteger(chart,imya,OBJPROP_TYPE)); // 0?8AL B8?0

    FileWrite(handle,imya);                                                    // 0?8AL 8<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_WIDTH));              // 0?8AL H8@8=K

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_STYLE));              // 0?8AL AB8;O

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIMEFRAMES));         // 0?8AL B0<D@59<>2

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_COLOR));              // 0?8AL F25B0

    FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_PRICE));               // 0?8AL :>>@48=0BK F5=K

    continue;

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

   }

//+-----------------------------------------------------------------------------------------------+ T.LINE

  if(ObjectGetInteger(chart,imya,OBJPROP_TYPE)==OBJ_TREND)

   {

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

    FileWrite(handle,"TYP"+(string)ObjectGetInteger(chart,imya,OBJPROP_TYPE)); // 0?8AL B8?0

    FileWrite(handle,imya);                                                    // 0?8AL 8<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_WIDTH));              // 0?8AL H8@8=K

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_STYLE));              // 0?8AL AB8;O

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIMEFRAMES));         // 0?8AL B0<D@59<>2

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_COLOR));              // 0?8AL F25B0

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_RAY));                // 0?8AL >B@57>:/;CG

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIME1));              // 0?8AL 1 :>>@48=0BK 2@5<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIME2));              // 0?8AL 2 :>>@48=0BK 2@5<5=8

    FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_PRICE1));              // 0?8AL 1 :>>@48=0BK F5=K

    FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_PRICE2));              // 0?8AL 2 :>>@48=0BK F5=K

    continue;

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

   }

//+-----------------------------------------------------------------------------------------------+ F.LINE

  if(ObjectGetInteger(chart,imya,OBJPROP_TYPE)==OBJ_FIBO)

   {

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

    FileWrite(handle,"TYP"+(string)ObjectGetInteger(chart,imya,OBJPROP_TYPE)); // 0?8AL B8?0

    FileWrite(handle,imya);                                                    // 0?8AL 8<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_WIDTH));              // 0?8AL H8@8=K

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_LEVELWIDTH));         // 0?8AL H8@8=K C@>2=59

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_STYLE));              // 0?8AL AB8;O

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_LEVELSTYLE));         // 0?8AL AB8;O C@>2=59

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIMEFRAMES));         // 0?8AL B0<D@59<>2

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_COLOR));              // 0?8AL F25B0

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_LEVELCOLOR));         // 0?8AL F25B0 C@>2=59

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_RAY));                // 0?8AL >B@57>:/;CG

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIME1));              // 0?8AL 1 :>>@48=0BK 2@5<5=8

    FileWrite(handle,ObjectGetInteger(chart,imya,OBJPROP_TIME2));              // 0?8AL 2 :>>@48=0BK 2@5<5=8

    FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_PRICE1));              // 0?8AL 1 :>>@48=0BK F5=K

    FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_PRICE2));              // 0?8AL 2 :>>@48=0BK F5=K

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

    int levels=(int)ObjectGetInteger(chart,imya,OBJPROP_LEVELS);

    FileWrite(handle,levels);                                                  // 0?8AL :>;8G5AB20 C@>2=59

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

    for(int sf=0;sf<levels;sf++)

      {

       FileWrite(handle,ObjectGetDouble(chart,imya,OBJPROP_LEVELVALUE,sf));    // 0?8AL 7=0G5=89 C@>2=59

       FileWrite(handle,ObjectGetString(chart,imya,OBJPROP_LEVELTEXT,sf));     // 0?8AL >?8A0=8O C@>2=59

      }

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

   }

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

  }

  chart=ChartNext(chart);

  if(chart<0)break;

  i++;

 }

FileClose(handle);

}

//+HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH+

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 ---