Общие вопросы по разработке > Как в течении дня складывать результаты вычислений?

Общие вопросы по разработке в Альфа-Директ 4. Обсуждение разработки пользовательских индикаторов, стратегий.
KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 00:48

Нужно складывать поступающую инфу, если инфа больше определенного значения, а именно VolumeAsk(0) - VolumeBid(0) => 150 (если это условие соблюдено, то (VolumeAsk(0) - VolumeBid(0)) + следующее условие (VolumeAsk(0) - VolumeBid(0)) и так до конца дня потом все с начало. То есть индикатр должен постоянно мониторить, а не привысила ли разность объёмов заданного значения, если привысила то плюсуем эту разницу. Значения меньше разности объёмов (меньше 150) индикатор должен пропускать не складывая. Че делать? Создать список ? Или как то по другому етот вопрос решается?

KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Re: Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 01:06

По поводу => лично мне подумалось что это больше или равно, но а там хз не судите строго

KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Re: Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 01:19

Код: Выделить всё

function Initialize()
{
IndicatorName = "VolumeBidAskAccum724";
PriceStudy = false;
AddInput("Input1", Inputs.Candle);
AddSeries("Bid", DrawAs.Line, Color.White);
AddSeries("Ask", DrawAs.Line, Color.Red);
AddParameter("History", 250, 4);
AddGlobalVariable("x", Types.Double,  0);
AddGlobalVariable("z", Types.Double,  0);
AddParameter("ABCD", 150, 0);

}

function Evaluate()
{
if (BarDate() == DateTime.Today)
{
var a = Input1.VolumeAsk[0];
var b = Input1.VolumeBid[0];
var q = (Input1.VolumeAsk[0] - Input1.VolumeBid[0]);
var w = (Input1.VolumeBid[0] - Input1.VolumeAsk[0]);
x = (a-b);
z = (b-a);

{
if  (x > ABCD)

?; Как ТУТ ПЛЮСОВАТь?, получилось типа если x(разница) больше 150, то (как мне и нужно) нада эту разницу запомнить и приплюсовать к следующей и затем отразить линией.
}
if (z > ABCD)

?;

}
}

KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Re: Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 02:12

Код: Выделить всё

function Initialize()
{
IndicatorName = "VolumeBidAskAccum724";
PriceStudy = false;
AddInput("Input1", Inputs.Candle);
AddSeries("Bid", DrawAs.Line, Color.White);
AddSeries("Ask", DrawAs.Line, Color.Red);
AddParameter("History", 250, 4);
AddGlobalVariable("x", Types.Double,  0);
AddGlobalVariable("z", Types.Double,  0);
AddParameter("ABCD", 150, 0);

}

function Evaluate()
{
if (BarDate() == DateTime.Today)
{
var a = Input1.VolumeAsk[0];
var b = Input1.VolumeBid[0];
var q = (Input1.VolumeAsk[0] - Input1.VolumeBid[0]);
var w = (Input1.VolumeBid[0] - Input1.VolumeAsk[0]);
{
if  (q > ABCD)
x = (x+q);
}
{
if (w > ABCD)
z = (z+w);
}
Ask = x;
Bid = z;
}
}

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

KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Re: Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 02:13

Убрал BarTime, начал показывать чето вроде

KakTak
Сообщения: 128
Зарегистрирован: 21 мар 2016, 17:55

Re: Как в течении дня складывать результаты вычислений?

Непрочитанное сообщение KakTak » 26 янв 2017, 02:14

Все ребят извините, разобрался, чуть мозг не взорвался к хренам. Осталось прописать чтобы тока сеня показывал.


Вернуться в «Общие вопросы по разработке»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя