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
как это правильно написать?
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 =…
и тд
в коде программы создаешь массив экземпляров класса, у каждого экземпляра класса есть свои хай лой и тд…
при создании экхемпляра класса конструктор класса самостоятельно будет все вычислять…
и тебе останется только в цикле перебрать все экземляры класса с запросами на необходимые поля…
как то так ))
на правильность не претендую ибо сам тоже учусь
а насчет класса, возможно не надо будет, скорее всего в библиотеке велса есть готовое решение.
чтобы что то просчитать компу надо в сотни раз меньше времени и трудозатрат, чем что либо с чем либо сравнить ))