Страница 1 из 1

Помогите сделать лучше

Добавлено: 28 ноя 2016, 07:16
KakTak

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

function Evaluate()
{
var ABCD1 = Input.VolumeAsk[0];
var ABCD2 = Input.VolumeBid[0];
var OTB = ABCD2 - ABCD1;
var OTA = ABCD1 - ABCD2;
if
(ABCD2 > ABCD1)
ABCDB = (OTB / ABCD1) * 100;

ABCDB.DrawHistogram (Color.White, Color.White, 1000);

if (ABCD1 > ABCD2)
ABCDA = (OTA / ABCD2) * 100;
ABCDA.DrawHistogram(Color.Red, Color.Red, 1000);
 }



Все просто это проценты из отношения Аску к биду и обратно, хочу сделать индикатор, но программа как то не понятно ведет расчет, из за чего нет визуализации, помогите оптимизировать (МБ другие команды, по другому рассчитать? мб отобразить как нибудь по другому не кистограммой?)

Результат индикатора: смотреть на сколько процентов аск больше бида, насколько процентов бид больше аска.

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 08:05
evge
Может так?

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

function Initialize()
{
IndicatorName = "BidAskPercent";
PriceStudy = false;
AddInput("I", Inputs.Candle);
AddSeries("BAP", DrawAs.Custom, Color.Red, AxisType.ZeroBased);
}

function Evaluate()
{

var IB = I.VolumeBid;
var IA = I.VolumeAsk;

BAP = 0;

if (IB > 0 && IA < IB) BAP = (IA / IB - 1) * 100;
if (IA > 0 && IB < IA) BAP = (1 - IB / IA) * 100;

if (BAP > 0) BAP.DrawHistogram(Color.Green); else BAP.DrawHistogram(Color.Red);

}


BidAskPercent-01.png
BidAskPercent-01.png (48.46 КБ) 17303 просмотра

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 08:59
KakTak
он на минутках какую то херню показывает

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 08:59
KakTak
посстоянно то + 100% то - 100%

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 09:01
KakTak
хатя нет извиняюсь не херню, но не читабельно

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 09:03
KakTak
Вот какое дело: он показывает отклонения аска от бида. а нада чтобы если аск > бида, отклонение аска от бида, если бид больше то отклонение бида от аска, иными словами насколько процентов больше бид если он больше или на сколько больше аск если аск больше

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 09:05
KakTak
Хотел спросить, а есть команда для вызова информации о маркет сделках? VolumeAsk или Bid это же лимитники все?

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 09:57
evge
KakTak писал(а):Хотел спросить, а есть команда для вызова информации о маркет сделках? VolumeAsk или Bid это же лимитники все?


VolumeAsk – объем сделок в свечке прошедших по Ask(значения доступны только для торгуемых инструментов);
VolumeBid – объем сделок в свечке прошедших по Bid (значения доступны только для торгуемых инструментов);

это сделки прошедшие по bid и ask, это не ордера и не важно лимитными или маркет они закрывались. Можно послать на биржу лимитный ордер на продажу с гораздо худшей ценой чем лучшая цена покупки и он выполнится по этой лучшей цене, а можно отправить продажу по маркету, результат будет один и тот же - увеличится VolumeBid.

Re: Помогите сделать лучше

Добавлено: 28 ноя 2016, 09:59
evge
KakTak писал(а):Вот какое дело: он показывает отклонения аска от бида. а нада чтобы если аск > бида, отклонение аска от бида, если бид больше то отклонение бида от аска, иными словами насколько процентов больше бид если он больше или на сколько больше аск если аск больше


там всё просто, переделайте формулу и всё, а условия уже заданы.