0
сделал без прямоугольников.
индикатор пишет в коммент фон черный и фон не черный в зависимости от цвета фона :) 






//+------------------------------------------------------------------+
//|                                                   ChartColor.mq4 |
//|                                              Copyright 2019, AM2 |
//|                                      http://www.forexsystems.biz |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, AM2"
#property link      "http://www.forexsystems.biz"
#property version   "1.00"
#property strict
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   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[])
  {
//---
   string s1="\n Фон черный";
   if(ChartGetInteger(0,CHART_COLOR_BACKGROUND,0)!=0) s1="\n Фон не черный";

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

avatar

AM2

  • 4 сентября 2019, 20:02
0
добавил расчет диапазона и коэффициент для тейка. чтобы добавлять лот, нужно переписывать с нуля, т.к. в доработке сыпется вся предыдущая логика.



www.opentraders.ru/downloads/2314/

avatar

AM2

  • 4 сентября 2019, 19:40
0
никогда не считывал цвет графика. 10-го посмотрю
avatar

AM2

  • 3 сентября 2019, 20:17
0

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

input int x=66;
input int size=14;
input color clr=Red;

int xx=0,yy=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string name,string text,int corner)
  {
   ObjectDelete(0,name);
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0)-yy);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,size);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
   ObjectSetInteger(0,name,OBJPROP_ANCHOR,2);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   PutLabel("Spread",(string)SymbolInfoInteger(NULL,SYMBOL_SPREAD),2);
   PutLabel("Time",TimeToString(TimeCurrent(),TIME_MINUTES),3);

   ChartTimePriceToXY(0,0,time[0],Bid,xx,yy);

   Comment("\n X:",xx,
           "\n Y:",yy,
           "\n H:",ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0));

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

avatar

AM2

  • 3 сентября 2019, 18:32
0
я только что сделал. но не понимаю у вас был реально работающий индикатор. для чего было менять текст на метку? *think* 

avatar

AM2

  • 3 сентября 2019, 18:27
0
метка она всегда жестко крепится к графику. если делать как было надо извращаться :D 
avatar

AM2

  • 3 сентября 2019, 17:31
0
готово:




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

input int x=66;
input int y=33;
input int size=14;
input color clr=Red;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PutLabel(string name,string text,int corner)
  {
   ObjectDelete(0,name);
//--- создадим текстовую метку
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   ObjectSetInteger(0,name,OBJPROP_CORNER,corner);
//--- установим текст
   ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,size);
//--- установим цвет
   ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
  }
//+------------------------------------------------------------------+
//| 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[])
  {
//---
   PutLabel("Spread",(string)SymbolInfoInteger(NULL,SYMBOL_SPREAD),2);
   PutLabel("Time",TimeToString(TimeCurrent(),TIME_MINUTES),3);
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

avatar

AM2

  • 2 сентября 2019, 20:20
0
на 6-е
avatar

AM2

  • 2 сентября 2019, 17:31
0
сегодня буду смотреть
avatar

AM2

  • 2 сентября 2019, 17:05
0
на 5-е
avatar

AM2

  • 1 сентября 2019, 22:04
0
у меня в советнике самый простой вариант, свечка вверх, свечка вниз. а что в оригинале можно только догадываться
avatar

AM2

  • 1 сентября 2019, 18:22
0
он оптимизируется, но выбор направления торговли как всегда за вами :) 
в настройках есть отключить бай и селл. лучше отключить оба, депозит останется целее! :D 
avatar

AM2

  • 1 сентября 2019, 13:01