Пробую вывести цену открытия и стопа на график, для удобства просмотра.
В принципе получилось вывести как addlevel и сделать пунктиром.
Или вывести через addseries и можно поставить галочку отображать последние значение.
А вот мечта сделать пунктиром линии, менять цвет зелёный когда в плюс переставлен стоп, красный когда ещё в минусе. И главное вывести значение на графике числом (как при галочке отображать последние значение).
Может быть есть готовые решение и я зря мучаюсь, подскажите.
Вот что я наделал, индикатор:
Код: Выделить всё
function Initialize()
{
IndicatorName = "OpenStop";
PriceStudy = true;
AddInput("Input", Inputs.Price);
AddSeries("A", DrawAs.Line, Color.DeepSkyBlue);
AddSeries("OpenStop", DrawAs.Line, Color.Red);
AddSeries("OpenStop1", DrawAs.Line, Color.Green);
AddParameter("SPos", 0);
AddParameter("LS", 0);
// AddLevel(0, Color.Green, LineStyles.DashBig, 1, "OpenStop");
// AddLevel(0, Color.DeepSkyBlue, LineStyles.DashBig,1, "A");
}
function Evaluate()
{
var Position = GetPosition();
if (Position.Price > 0)
A = Position.Price;
if ((LS > 0 && SPos < Position.Price) || (LS < 0 && SPos > Position.Price)) OpenStop = SPos;
else OpenStop1 = SPos;
}
И вот такое в роботе:
Код: Выделить всё
AddGlobalVariable("SPos", Types.Double, 0);
AddGlobalVariable("LS", Types.Double, 0);
if (CurrentPosition() > 0) LS =1;
if (CurrentPosition() < 0) LS =-1;
var orders = GetActiveOrders();
var count = orders.Count;
for (int i = 0; i < count; i++)
SPos= orders[i].Price;
п.с. Что ещё печально значит в индикаторе var Position = GetPosition(); я могу получить, а var orders = GetActiveOrders(); а это уж нельзя.