Общие вопросы по разработке > Как сложить объёмы7

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 30 авг 2016, 09:28

Вообщем так и не понял я как сделать то что я хочу сделать.

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 30 авг 2016, 09:33

Например я считаю A = (VolumeBid - VolumeAsk); Как затем результат этой формулы складывать и вычитать? Например 10,00 (утро) VolumeBid - VolumeAsk = 1, индикатор в этот момент должен посчитать 0+1 = 1 и вывести эту единицу на экран. 10,05 VolumeBid - VolumeAsk = -3, считаем:
1 (предыдущее значение индикатора) - 3 = -2 выводим на экран. ПОмогите плз у меня мозг взорвался

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Как сложить объёмы7

Непрочитанное сообщение evge » 30 авг 2016, 09:50

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

function Initialize()
{
IndicatorName = "VolumeAccumBA";
PriceStudy = false;
AddInput("Input", Inputs.Candle);
AddSeries("VolumeAccum", DrawAs.Custom, Color.Blue, AxisType.ZeroBased);

AddParameter("History", 1440, 1);

AddGlobalVariable("BA", Types.Double,  0);
}

function Evaluate()
{

if (BarDate() != BarDate(1)) BA = 0;

BA += Input.VolumeAsk - Input.VolumeBid;

VolumeAccum = BA;

if (VolumeAccum < 0)
   VolumeAccum.DrawHistogram(Color.Red);
   else
   VolumeAccum.DrawHistogram(Color.Green);

}


VolumeAccumBA-01.png
VolumeAccumBA-01.png (32.1 КБ) 18749 просмотров
никогда такого не было и вот опять

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 31 авг 2016, 20:25

А как прописать чтобы отсчет не каждое утро начинался а например с начала прошлой экспирации или с начала месяца?

Аватара пользователя
evge
Администратор
Сообщения: 1807
Зарегистрирован: 04 фев 2016, 09:46
Откуда: Млечный путь, планета Земля
Благодарил (а): 83 раза
Поблагодарили: 363 раза
Контактная информация:

Re: Как сложить объёмы7

Непрочитанное сообщение evge » 01 сен 2016, 07:17

KakTak писал(а):А как прописать чтобы отсчет не каждое утро начинался а например с начала прошлой экспирации или с начала месяца?


Ниже в примере добавлен параметр PeriodType - период отсчета: 0 - календарный день, 1 - неделя, 2 - месяц

Как узнать дату экспирации предыдущего фьючерса я не знаю, скорее всего на текущий момент никак.

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

function Initialize()
{
IndicatorName = "VolumeAccumBA";
PriceStudy = false;
AddInput("Input", Inputs.Candle);
AddSeries("VolumeAccum", DrawAs.Custom, Color.Blue, AxisType.ZeroBased);

AddParameter("PeriodType", 0); // период отсчета: 0 - календарный день, 1 - неделя, 2 - месяц
AddParameter("History", 1440, 1);

AddGlobalVariable("BA", Types.Double,  0);
}

function Evaluate()
{

if (PeriodType == 0 && BarDate() != BarDate(1)) BA = 0;
if (PeriodType == 1 && BarDate().DayOfWeek < BarDate(1).DayOfWeek) BA = 0;
if (PeriodType == 2 && BarDate().Month != BarDate(1).Month) BA = 0;

BA += Input.VolumeAsk - Input.VolumeBid;

VolumeAccum = BA;

if (VolumeAccum < 0)
   VolumeAccum.DrawHistogram(Color.Red);
   else
   VolumeAccum.DrawHistogram(Color.Green);
}


VolumeAccumBA-02.png
3 индикатора VolumeAccumBA с началом отсчетов: день, неделя, месяц
VolumeAccumBA-02.png (42.46 КБ) 18724 просмотра
никогда такого не было и вот опять

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 02 сен 2016, 02:36

Фига у тя там паутина я смотрю

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 02 сен 2016, 02:37

я не совсем понял сообщение о том что неизвестно как узнать дату предыдущей экспирации

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 02 сен 2016, 02:38

ведь то что было уже не важно, важнее то что есть сейчас

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 02 сен 2016, 02:41

а все доперло максимум в проге идет либо месяц либо год, нельзя прописать типа 26 дней

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

Re: Как сложить объёмы7

Непрочитанное сообщение KakTak » 02 сен 2016, 02:41

или с 26 сентября


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

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

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