+1
Программирование это труд, а любой труд должен быть оплачен.
avatar

AM2

  • 10 мая 2016, 19:04
0
И чтобы машка меняла цвет по рынку а не по закрытым свечам)
А то где синим нарисовал цена была выше машки но цвет так остался красный.


Обратитесь лучше к Оксане она спец по индикаторам, а я здесь делаю только то что быстро можно сделать.
avatar

AM2

  • 10 мая 2016, 18:50
0
Сейчас расчитывает общий ТП для всех ордеров с учетом лотности.
avatar

AM2

  • 10 мая 2016, 18:26
+1
С большими точками да, побольше сидеть отлаживать надо. Если только свободное время будет посмотрю.
avatar

AM2

  • 10 мая 2016, 18:24
0
Загрузил в базу: www.opentraders.ru/downloads/1173/
avatar

AM2

  • 10 мая 2016, 18:21
0
Я сегодня пробовал, еще как шлет мало не покажется! :D 
avatar

AM2

  • 10 мая 2016, 18:13
+2
Делаю сайты на джумла, друпал. Платный хостинг за 50 руб. в мес. Бесплатный домен 2-го уровня можете бесплатно зарегить. 1000vgod.tk будет :) 
см. портфолио: vk.com/album44342494_204223866
avatar

AM2

  • 10 мая 2016, 18:08
0
Дайте ссылку на аналог чтобы мне не писать с нуля.
avatar

AM2

  • 10 мая 2016, 10:44
+1
Еще добавил жирные точки: www.opentraders.ru/downloads/1172/

avatar

AM2

  • 10 мая 2016, 10:38
0
Давайте по порядку. Этот пункт:
пункт выставлять противоположный ордер — да/нет

Когда выставлять, куда ставить покажите все максимально подробно на скринах, чтобы даже первоклассник понял.
avatar

AM2

  • 10 мая 2016, 10:08
0
Сейчас есть 3 линии при подходе к каждой индикатор сигналит:




//+------------------------------------------------------------------+
//|                                                    MailLines.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

extern color  LineColor = Red;     // цвет линии
extern string Line1Name = "Line1"; // имя линии
extern string Line2Name = "Line2"; // имя линии
extern string Line3Name = "Line3"; // имя линии
extern int    Delta     = 30;      // отступ от линии 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   ObjectsDeleteAll(0,OBJ_HLINE);
   PutHLine(Line1Name,Ask+200*Point);
   PutHLine(Line2Name,Ask+400*Point);
   PutHLine(Line3Name,Ask+600*Point);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Горизонтальная линия                                             |
//+------------------------------------------------------------------+
void PutHLine(string name,double price)
  {
   ObjectCreate(0,name,OBJ_HLINE,0,0,price);
//--- установим цвет линии
   ObjectSetInteger(0,name,OBJPROP_COLOR,LineColor);
//--- установим толщину линии
   ObjectSetInteger(0,name,OBJPROP_WIDTH,1);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
double LinePrice(string name)
  {
   double pr=0;
   for(int i=ObjectsTotal()-1;i>=0;i--)
     {
      pr=ObjectGetDouble(0,name,OBJPROP_PRICE);
     }
   return(pr);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   if(Bid<LinePrice(Line1Name)+Delta*Point && Bid>LinePrice(Line1Name)-Delta*Point)
     {
      SendMail("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line1Name));
      Print("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line1Name));
     }

   if(Bid<LinePrice(Line2Name)+Delta*Point && Bid>LinePrice(Line2Name)-Delta*Point)
     {
      SendMail("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line2Name));
      Print("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line2Name));
     }
     
   if(Bid<LinePrice(Line3Name)+Delta*Point && Bid>LinePrice(Line3Name)-Delta*Point)
     {
      SendMail("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line3Name));
      Print("Сообщение индикатора: ","Цена у линии "+(string)LinePrice(Line3Name));
     }

   Comment("\n Line1 Price: ",LinePrice(Line1Name),
           "\n Line2 Price: ",LinePrice(Line2Name),
           "\n Line3 Price: ",LinePrice(Line3Name));

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

avatar

AM2

  • 10 мая 2016, 08:21
0
Опишите подробнее какой уровень, сделаю. или можно также как у Александра только на почту.
avatar

AM2

  • 9 мая 2016, 23:06
0
Нарисуйте все на скринах подробно а то я еще до конца не пойму чего вы хотите?
avatar

AM2

  • 9 мая 2016, 18:53
0
Могу сделать первому ордеру будет выставляться скажем 17п ТП а далее всем уже общий 15.
avatar

AM2

  • 9 мая 2016, 15:34
+2
Сейчас меняет цвет при пересечении ценой:



//+------------------------------------------------------------------+
//|                                                       Mashka.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_width2 1

input int MAPeriod  = 20;
input int BarsCount = 5555;
input int MAStyle=0;    //0-Points 1-Line

double up[];
double dn[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up);
   SetIndexBuffer(1,dn);

   if(MAStyle==1)
     {
      SetIndexStyle(0,DRAW_LINE);
      SetIndexStyle(1,DRAW_LINE);
     }

   if(MAStyle==0)
     {
      SetIndexStyle(0,DRAW_ARROW);
      SetIndexArrow(0,159);
      SetIndexStyle(1,DRAW_ARROW);
      SetIndexArrow(1,159);
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   for(int i=0;i<=BarsCount;i++)
     {
      if(Close[i]>iMA(NULL,0,MAPeriod,0,0,0,i)) up[i]=iMA(NULL,0,MAPeriod,0,0,0,i);
      if(Close[i]<iMA(NULL,0,MAPeriod,0,0,0,i)) dn[i]=iMA(NULL,0,MAPeriod,0,0,0,i);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
avatar

AM2

  • 9 мая 2016, 11:15
+1
Вот вариант с точками и сменой цвета при смене направления:




//+------------------------------------------------------------------+
//|                                                       Mashka.mq4 |
//|                                              Copyright 2016, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window

#property indicator_buffers 2
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_width2 1

input int MAPeriod  = 20;
input int BarsCount = 5555;
input int MAStyle=0;    //0-Points 1-Line

double up[];
double dn[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,up);
   SetIndexBuffer(1,dn);

   if(MAStyle==1)
     {
      SetIndexStyle(0,DRAW_LINE);
      SetIndexStyle(1,DRAW_LINE);
     }

   if(MAStyle==0)
     {
      SetIndexStyle(0,DRAW_ARROW);
      SetIndexArrow(0,159);
      SetIndexStyle(1,DRAW_ARROW);
      SetIndexArrow(1,159);
     }
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   for(int i=0;i<=BarsCount;i++)
     {
      up[i]=iMA(NULL,0,MAPeriod,0,0,0,i);
      if(iMA(NULL,0,MAPeriod,0,0,0,i)<iMA(NULL,0,MAPeriod,0,0,0,i+1)) dn[i]=iMA(NULL,0,MAPeriod,0,0,0,i);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+



avatar

AM2

  • 9 мая 2016, 11:08
+1
У вас же уже есть такой индикатор, тот что в архиве.
avatar

AM2

  • 9 мая 2016, 10:59