+2
на свечу не набегает, пункты считает:



добавил:

1. выбор разделителя
2. отступ в барах для текста
3. отключение показателей


input bool ShowUSD=1;        // Отображать профит в валюте
input bool ShowProfit=1;     // Отображать профит в пунктах
input bool ShowPro=1;        // Отображать профит в %
input bool ShowTime=1;       // Отображать время до закрытия бара


www.opentraders.ru/downloads/2207/
avatar

AM2

  • 8 января 2019, 10:41
0
//+------------------------------------------------------------------+
//|                                                      Kvartal.mq4 |
//|                                              Copyright 2018, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

input int count=5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll();
   Comment("");
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   Comment("");
   ObjectsDeleteAll();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Kvart(int month)
  {
   int kv=0;
   if(month<4) kv=1; // 1 2 3
   if(month>3 && month<7) kv=2; // 4 5 6
   if(month>6 && month<10) kv=3; // 7 8 9
   if(month>9) kv=4; // 10 11 12
   return(kv);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int Shift(int month) // 1-rv = 1 2 3
  {
   int shift=0;

   if(Kvart(Month())==1 && Month()==1) shift=1;
   if(Kvart(Month())==1 && Month()==2) shift=2;
   if(Kvart(Month())==1 && Month()==3) shift=3;

   if(Kvart(Month())==2 && Month()==4) shift=1;
   if(Kvart(Month())==2 && Month()==5) shift=2;
   if(Kvart(Month())==2 && Month()==6) shift=3;

   if(Kvart(Month())==3 && Month()==7) shift=1;
   if(Kvart(Month())==3 && Month()==8) shift=2;
   if(Kvart(Month())==3 && Month()==8) shift=3;

   if(Kvart(Month())==4 && Month()==10) shift=1;
   if(Kvart(Month())==4 && Month()==11) shift=2;
   if(Kvart(Month())==4 && Month()==12) shift=3;

   return(shift);
  }
//+------------------------------------------------------------------+
//| Put Text Function                                                |
//+------------------------------------------------------------------+
void Text(string name,const string text,double price,datetime time,const color clr)
  {
   ObjectDelete(0,name);
//--- create a "Text" object 
   ObjectCreate(0,name,OBJ_TEXT,0,time,price);
//--- set the text
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- set the font of the text
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- set the font size
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,14);
//--- set the method binding
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,ANCHOR_UPPER);
//--- set the color
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
  }
//+------------------------------------------------------------------+
//| Вертикальная линия                                               |
//+------------------------------------------------------------------+
void PutVLine(string name,datetime t,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_VLINE,0,t,Bid);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutTrendLine(string name,datetime time1,double price1,datetime time2,double price2,color clr)
  {
   ObjectDelete(0,name);
   ObjectCreate(0,name,OBJ_TREND,0,time1,price1,time2,price2);
//--- установим цвет линии 
   ObjectSetInteger(0,name,OBJPROP_COLOR,clr);
//--- установим стиль отображения линии 
   ObjectSetInteger(0,name,OBJPROP_STYLE,0);
//--- установим толщину линии 
   ObjectSetInteger(0,name,OBJPROP_WIDTH,2);
//--- включим (true) или отключим (false) режим продолжения отображения линии вправо 
   ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,false);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   int sum=0;
   for(int i=0;i<count;i++)
     {

      double lo=iLow(NULL,PERIOD_MN1,iLowest(NULL,PERIOD_MN1,MODE_LOW,3,Shift(Month())+i*3));
      double hi=iHigh(NULL,PERIOD_MN1,iHighest(NULL,PERIOD_MN1,MODE_HIGH,3,Shift(Month())+i*3));
      int po=(int)((hi-lo)/_Point);

      datetime t1=iTime(NULL,PERIOD_MN1,Shift(Month())-1+3*i);
      datetime t2=iTime(NULL,PERIOD_MN1,Shift(Month())-1+3*(i+1));

      PutTrendLine((string)i+"lo",t1,lo,t2,lo,Aqua);
      PutTrendLine((string)i+"hi",t1,hi,t2,hi,Aqua);
      Text(string(i),(string)po,lo,(t1+t2)/2,Red);
      sum+=po;
     }

   Comment("\n Kvartal: ",Kvart(Month()),
           "\n Month: ",Month(),
           "\n Summ: ",sum);

//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 7 января 2019, 23:28
+1
Главное время до закрытия бара, профит в пунктах, процентах, и вслед за ценой конечно же размер шрифта.

все это есть:



www.opentraders.ru/downloads/2207/

avatar

AM2

  • 7 января 2019, 23:26
0
бросаю на график. каунт 5:



меняю на 4. пересчитал:


ставлю 6. снова все в порядке:



что не так?
avatar

AM2

  • 7 января 2019, 19:08
0
вы сначала определитесь пожалуйста что вам нужно 5 или 10? :) 
avatar

AM2

  • 7 января 2019, 17:08
0
поставил на еврорубль где рынок закрыт. удаляет картинку через указанное время:



www.opentraders.ru/downloads/2206/
avatar

AM2

  • 7 января 2019, 17:07
0
В коммент выводит месяц, квартал и сумму:



www.opentraders.ru/downloads/2203/
avatar

AM2

  • 7 января 2019, 15:57
+1
на 10-е. будет только небольшая часть от задания.
avatar

AM2

  • 6 января 2019, 16:22
+1
добавил:

1. трал всех ордеров.
2. подсчет профита.
3. кнопку закрытия всех поз
4. увеличение 1-го шага



www.opentraders.ru/downloads/2202/

avatar

AM2

  • 6 января 2019, 13:16
+1
могу сделать по тз, только все опишите подробнее.
avatar

AM2

  • 6 января 2019, 12:34
0
на 9-е
avatar

AM2

  • 6 января 2019, 12:23
0
на 8-е
avatar

AM2

  • 6 января 2019, 12:20
0
можно будет сделать первый усредняющий с шагом увеличенным например на 3, а далее как обычно. на завтра.
avatar

AM2

  • 5 января 2019, 17:58
0
как только откроют рынок все установит:



www.opentraders.ru/downloads/2205/
avatar

AM2

  • 5 января 2019, 15:38
0
Добавить в советник количество пропусков первых усреднений

опишите подробнее этот момент, желательно на скринах
avatar

AM2

  • 5 января 2019, 15:09
0
ждите 3-го уровня или ищите поручителя
avatar

AM2

  • 4 января 2019, 23:03
0
Кроме перечисленного выше, советник считает:

1. профит на счете
2. отдельно бай, селл
3. проторгованный объем
4. есть кнопка закрытия всех поз



www.opentraders.ru/downloads/2204/
avatar

AM2

  • 4 января 2019, 13:06
0
на завтра
avatar

AM2

  • 3 января 2019, 18:42
+1
за границами канала не открывает ни первых ни усреднительных ордеров:



www.opentraders.ru/downloads/2110/
avatar

AM2

  • 3 января 2019, 18:40