C# HELP!
Друзья помогите разобраться.
Хочу написать простейший индикатор на C#.
int open;
int close;
int high;
int low;
int dayUP; // день где open < close
int dayDN; // день где close > open
сразу же вопрос, может быть dayUP и dayDN вводить через bool или как условие через if?
и вот собственно вопрос, я хочу чтобы индикатор считал длину верхних и нижних хвостов свечек, как это сделать лучше?
т.е. если dayUP, то считаем high — close
если dayDN, то считаем low — close
как это правильно написать?
32 |
Читайте на SMART-LAB:
Дебютный выпуск ПКО Вернем (B|ru|, 150 млн р.,YTM 29,97%) на 26 февраля
Информация для квалифицированных инвесторов 📌 26 февраля — новый облигационный дебют от коллекторского агентства «Вернем» ( B|ru| )...
Вышел эфир RENI для Bazar
Благодарим платформу Bazar за приглашение на разговор! Хотя, видео вышло с заголовком «Шокирующая правда о рынке страхования в 2026 году |...
Софтлайн полностью погасил пятый выпуск облигаций
Друзья, рады сообщить, что сегодня мы полностью погасили выпуск облигаций серии 002Р-01 на сумму 6 млрд рублей. Все обязательства перед...
Россети Ленэнерго. Отчет об исполнении инвестпрограммы за Q4 2025г. Опасения оправдались - обесценение съело прибыль
Компания Россети Ленэнерго опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по...
bool dayUP = true(false)
или
int dayUP = 1(0)
Будет или
if (open < close)
{
dayUP = 1;
dayDn = 0;
}
или
if (open < close)
{
dayUP = true;
dayDn = false;
}
и т.д.
всегда вычитывай клоз от опен или наоборот, но при этом получай значение по МОДУЛЮ, тоесть положительное.
и никаких условий не надо создавать
если же не только это, но еще и формулы потом разные применяются то без IF не обойтись
сорри не так прочел вопрос…
вот ответ на твой вопрос:
double DlinnaVerhTeni = high-Max(open, close);
double DlinnaNizTeni = Min(open, close)-low;
так не правильно:
int open;
int close;
int high;
int low;
правильно так:
double open, close, high, low;
а еще правильней создать класс как пример Bar
и в нем поля:
double open, close, high, low;
и можно создавать экземпляры класса и записывать в них значения:
Bar.open =…
и тд
в коде программы создаешь массив экземпляров класса, у каждого экземпляра класса есть свои хай лой и тд…
при создании экхемпляра класса конструктор класса самостоятельно будет все вычислять…
и тебе останется только в цикле перебрать все экземляры класса с запросами на необходимые поля…
как то так ))
на правильность не претендую ибо сам тоже учусь
а насчет класса, возможно не надо будет, скорее всего в библиотеке велса есть готовое решение.
чтобы что то просчитать компу надо в сотни раз меньше времени и трудозатрат, чем что либо с чем либо сравнить ))