← К каталогу
Исходный код · ID 3182

riskreward_ratio_tradingview bt3.mq5

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор отображает на графике горизонтальные уровни стоп-лосса, тейк-профита и открытия позиции, а также прямоугольники между ними. Основная функция — расчёт и отображение соотношения риск/прибыль (Risk/Reward Ratio) на основе ценовых уровней, задаваемых пользователем. Пользователь может перетаскивать линии уровней мышью, и индикатор автоматически пересчитывает соотношение.

Индикатор предоставляет настраиваемые параметры цветов, стилей и толщины линий для каждого уровня, а также кнопка-переключатель позволяет скрывать или отображать все расчётные данные. Значения видимости сохраняются в глобальных переменных терминала. При нажатии на кнопку воспроизводится звуковой сигнал.

Продукт предназначен для визуального анализа соотношения риск/прибыль на графике цен. Он не выполняет автоматическую торговлю и не отправляет ордера. Все расчёты основаны на ценах, заданных пользователем через графические объекты горизонтальных линий.

Настройки программы

НастройкаОписание
UseBidValue Переключатель использования цены Bid для расчётов вместо цены открытия позиции.
SLLevel Имя графического объекта горизонтальной линии уровня стоп-лосса.
SL_color Цвет горизонтальной линии уровня стоп-лосса.
SL_width Толщина линии уровня стоп-лосса.
SL_style Стиль линии уровня стоп-лосса (сплошная, пунктир и т.д.).
SL_rect_show Переключатель отображения прямоугольника между уровнями открытия и стоп-лосса.
SL_rect_start Начальное смещение в барах для отрисовки прямоугольника стоп-лосса от текущего бара.
SL_rect_end Конечное смещение в барах для отрисовки прямоугольника стоп-лосса от текущего бара.
SL_rect_color Цвет прямоугольника между уровнями открытия и стоп-лосса.
TP Расстояние до уровня тейк-профита в пунктах от текущей цены.
TPLevel Имя графического объекта горизонтальной линии уровня тейк-профита.
TP_color Цвет горизонтальной линии уровня тейк-профита.
TP_width Толщина линии уровня тейк-профита.
TP_style Стиль линии уровня тейк-профита (сплошная, пунктир и т.д.).
TP_rect_show Переключатель отображения прямоугольника между уровнями открытия и тейк-профита.
TP_rect_start Начальное смещение в барах для отрисовки прямоугольника тейк-профита от текущего бара.
TP_rect_end Конечное смещение в барах для отрисовки прямоугольника тейк-профита от текущего бара.
TP_rect_color Цвет прямоугольника между уровнями открытия и тейк-профита.
OpenPositionLevel Имя графического объекта горизонтальной линии уровня открытия позиции.
Open_color Цвет горизонтальной линии уровня открытия позиции.
Open_width Толщина линии уровня открытия позиции.
Open_style Стиль линии уровня открытия позиции (сплошная, пунктир и т.д.).
note2 Примечание-метка для настройки цвета шрифта.
FontColor Цвет текста отображения соотношения риск/прибыль и ценовых уровней на графике.
note3 Примечание-метка для настройки размера шрифта.
FontSize Размер шрифта текста отображения соотношения риск/прибыль и ценовых уровней.
note4 Примечание-метка для настройки типа шрифта.
FontType Имя шрифта, используемого для отображения текста на графике.
note5 Примечание-метка для настройки угла размещения текста.
WhatCorner Угол графика для размещения текста с ценой и соотношением риск/прибыль (0 — верхний левый, 1 — верхний правый, 2 — нижний левый, 3 — нижний правый).
button_note1 Разделитель-примечание перед группой настроек кнопки.
btn_Subwindow Индекс подокна, в котором размещается кнопка-переключатель.
btn_corner Угол графика для размещения кнопки-переключателя.
btn_text Текст на кнопке-переключателе.
btn_Font Шрифт текста на кнопке-переключателе.
btn_FontSize Размер шрифта текста на кнопке-переключателе.
btn_text_ON_color Цвет текста кнопки в активном (отображение данных) состоянии.
btn_text_OFF_color Цвет текста кнопки в неактивном (скрытие данных) состоянии.
btn_pressed Текст на кнопке-переключателе в неактивном (нажатом) состоянии.
btn_unpressed Текст на кнопке-переключателе в активном (не нажатом) состоянии.
btn_background_color Цвет фона кнопки-переключателя.
btn_border_color Цвет рамки кнопки-переключателя.
button_x Горизонтальное расстояние кнопки-переключателя от угла графика в пикселях.
button_y Вертикальное расстояние кнопки-переключателя от угла графика в пикселях.
btn_Width Ширина кнопки-переключателя в пикселях.
btn_Height Высота кнопки-переключателя в пикселях.
soundBT Имя звукового файла, воспроизводимого при нажатии на кнопку-переключатель.
button_note2 Разделитель-примечание после группы настроек кнопки.
Получить полный код

Поиск по коду файла

???//+------------------------------------------------------------------+

#property indicator_chart_window

extern bool      UseBidValue=False; 
extern string    SLLevel="SLPrice";
extern color      SL_color = clrRed;
extern int        SL_width = 1;
extern ENUM_LINE_STYLE  SL_style = STYLE_DASHDOT;
extern bool       SL_rect_show = true;
extern int        SL_rect_start = 0;
extern int        SL_rect_end = 50;
extern color      SL_rect_color = clrIndianRed;
input int               TP       = 200; 
extern string    TPLevel="TPPrice";
extern color      TP_color = clrLime;
extern int        TP_width = 1;
extern ENUM_LINE_STYLE  TP_style = STYLE_DASHDOT;
extern bool       TP_rect_show = true;
extern int        TP_rect_start = 0;
extern int        TP_rect_end = 50;
extern color      TP_rect_color = clrSeaGreen;
extern string    OpenPositionLevel="OpenPositionLevel";
extern color      Open_color = clrDarkGreen;
extern int        Open_width = 1;
extern ENUM_LINE_STYLE  Open_style = STYLE_DASHDOT;
extern string note2 = "Default Font Color";
extern color  FontColor = clrYellow;
extern string note3 = "Font Size";
extern int    FontSize=20;
extern string note4 = "Font Type";
extern string FontType="Trebuchet MS";
extern string note5 = "Display the price in what corner?";
extern string note6 = "Upper left=0; Upper right=1";
extern string note7 = "Lower left=2; Lower right=3";
extern int    WhatCorner=2;

extern string             button_note1          = "------------------------------";
extern int                btn_Subwindow = 0;
extern ENUM_BASE_CORNER   btn_corner            = CORNER_LEFT_UPPER; 
extern string             btn_text              = "RR";
extern string             btn_Font              = "Arial";
extern int                btn_FontSize          = 10;                            
extern color              btn_text_ON_color     = clrLime;
extern color              btn_text_OFF_color    = clrRed;
extern string             btn_pressed           = "RR OFF";            
extern string             btn_unpressed         = "RR ON";
extern color              btn_background_color  = clrDimGray;
extern color              btn_border_color      = clrBlack;
extern int                button_x              = 200;                                 
extern int                button_y              = 0;                                   
extern int                btn_Width             = 65;                                 
extern int                btn_Height            = 20;                                
extern string             soundBT               = "tick.wav";  
extern string             button_note2          = "------------------------------";

bool                      show_data             = true;
string IndicatorName, IndicatorObjPrefix ,buttonId ;

int nDigits;
double   RiskReward_ratio=0, SL_price=0, TP_price=0, Open_Price=0;
datetime sl_datediff_rect;
datetime tp_datediff_rect;
datetime open_datediff_rect;
string GenerateIndicatorName(const string target)
{
   string name = target;
   int try = 2;
   while (WindowFind(name) != -1)
   {
      name = target + " #" + IntegerToString(try++);
   }
   return name;
}

int init()
{
      // код доступен только после оплаты
   }

void createButton(string buttonID,string buttonText,int width,int height,string font,int fontSize,color bgColor,color borderColor,color txtColor)
{
      ObjectDelete    (ChartID(),buttonID);
      ObjectCreate (ChartID(),buttonID,OBJ_BUTTON,btn_Subwindow,0,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_COLOR,txtColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BGCOLOR,bgColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_BORDER_COLOR,borderColor);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_XSIZE,width);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_YSIZE,height);
      ObjectSetString (ChartID(),buttonID,OBJPROP_FONT,font);
      ObjectSetString (ChartID(),buttonID,OBJPROP_TEXT,buttonText);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_FONTSIZE,fontSize);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_SELECTABLE,0);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_CORNER,btn_corner);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_HIDDEN,1);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_XDISTANCE,9999);
      ObjectSetInteger(ChartID(),buttonID,OBJPROP_YDISTANCE,9999);
}

int deinit()
  {
  ObjectsDeleteAll(0,"LOWPASS");
   ObjectsDeleteAll(ChartID(), IndicatorObjPrefix);

      ObjectDelete(SLLevel);
      ObjectDelete(TPLevel);
      ObjectDelete(OpenPosition

Показано первые 50% кода (символов: 9865)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
986,50₽ ≈ $12.06