Общие вопросы по разработке > Как сложить объёмы7
Re: Как сложить объёмы7
Например я считаю A = (VolumeBid - VolumeAsk); Как затем результат этой формулы складывать и вычитать? Например 10,00 (утро) VolumeBid - VolumeAsk = 1, индикатор в этот момент должен посчитать 0+1 = 1 и вывести эту единицу на экран. 10,05 VolumeBid - VolumeAsk = -3, считаем:
1 (предыдущее значение индикатора) - 3 = -2 выводим на экран. ПОмогите плз у меня мозг взорвался
1 (предыдущее значение индикатора) - 3 = -2 выводим на экран. ПОмогите плз у меня мозг взорвался
- evge
- Администратор
- Сообщения: 1813
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 369 раз
- Контактная информация:
Re: Как сложить объёмы7
Код: Выделить всё
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);
}
никогда такого не было и вот опять
Re: Как сложить объёмы7
А как прописать чтобы отсчет не каждое утро начинался а например с начала прошлой экспирации или с начала месяца?
- evge
- Администратор
- Сообщения: 1813
- Зарегистрирован: 04 фев 2016, 09:46
- Откуда: Млечный путь, планета Земля
- Благодарил (а): 83 раза
- Поблагодарили: 369 раз
- Контактная информация:
Re: Как сложить объёмы7
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);
}
никогда такого не было и вот опять
Re: Как сложить объёмы7
я не совсем понял сообщение о том что неизвестно как узнать дату предыдущей экспирации
Re: Как сложить объёмы7
а все доперло максимум в проге идет либо месяц либо год, нельзя прописать типа 26 дней
Вернуться в «Общие вопросы по разработке»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 189 гостей