Не нашел у KimIV функцию возврата размера просадки/профита из последнего закрытого ордера.
Идея проста: нужно отследить сколько в валюте депозита получились Профит или Просадка в последнем закрытом ордере.
У меня такая конструкция работает:
//---Поиск крайнего отработавшего ордера для открытия очередной позиции --- for (orderIndex = (OrdersHistoryTotal() - 1); orderIndex >= 0; orderIndex--)
{
if (!OrderSelect(orderIndex, SELECT_BY_POS, MODE_HISTORY)) {Print("Ошибка при доступе к исторической базе (",GetLastError(),")");continue;}
if ((OrderSymbol() != Symbol()) || (OrderMagicNumber() != MagicNumber)) continue;
//------------------------- Принимаем в расчет только ордер, закрытый cамым крайним -----------------------if (time<OrderCloseTime()) //(сравниваем его с хранящимся в пероеменной time)
{
time=OrderCloseTime(); //если время закрытия ордера больше - ложим его в переменную int lastType = OrderType();
double lastLots = OrderLots();
double lastProfit = OrderProfit() + OrderSwap();
// Анализ только что закрывшегося ордера if (lastProfit >= 0.0)
{
...
Не нашел у KimIV функцию возврата размера просадки/профита из последнего закрытого ордера.
Идея проста: нужно отследить сколько в валюте депозита получились Профит или Просадка в последнем закрытом ордере.
Алгоритм такой: ищите там же ЛЮБУЮ функцию, возвращающую НЕ ВАЖНО что у последнего закрытого ордера. Получаете Тикет этого последнего закрытого ордера. По выходе из цикла перебора ордеров, выделяете ордер по полученному Тикету и считаете его профит, если важно, не забываете при подсчёте учесть своп и комисссию:
Функция вычисляет и возвращает номер бара (смещение относительно текущего бара) для указанной цены. Номер бара вычисляется при помощи линейного уравнения по первой и второй координатам. Применяется для трендовых линий и аналогичных объектов. Для получения информации об ошибке необходимо вызвать функцию GetLastError(). См. такжеObjectGetValueByShift().
Параметры:
name
-
Имя объекта.
value
-
Значение цены.
Пример:
int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);
Вопрос:
Где здесь ошибка, выдает сообщение номер бара -1(я это самый первый бар в истории). Больше инфо в учебнике не нашел. Как узнать номер бара по цене?
Алгоритм такой: ищите там же ЛЮБУЮ функцию, возвращающую НЕ ВАЖНО что у последнего закрытого ордера. Получаете Тикет этого последнего закрытого ордера. По выходе из цикла перебора ордеров, выделяете ордер по полученному Тикету и считаете его профит, если важно, не забываете при подсчёте учесть своп и комисссию:
Спасибо за содержательный ответ. Уже сам догадался ))
Тыкаю мышкой - перемещает на место с коментами (( ... как быть ?
В справке написано timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
Так может, или это точно полюбому период графика? А вот если я там впишу не 15, а 20?? И писать лучше всё-таки цифрой, или лучше PERIOD_M15?
Ладно, вписал там 0 и не морочусь.
Всем доброго дня. Буду очень признателен, если кто-нибудь сможет вставить звук в этот индикатор.
Т.е. при пересечении машек.... и конечно же звук должен быть только один раз при закрытии свечи, на которую данное пересечение выпало.
Заранее спасибо за помощь.
Доброго дня! Скажите. Я допустим буду использовать
В справке написано timeframe - Период. Может быть одним из периодов графика. 0 означает период текущего графика.
Так может, или это точно полюбому период графика? А вот если я там впишу не 15, а 20?? И писать лучше всё-таки цифрой, или лучше PERIOD_M15?
Ладно, вписал там 0 и не морочусь.
Не нашел у KimIV функцию возврата размера просадки/профита из последнего закрытого ордера.
Идея проста: нужно отследить сколько в валюте депозита получились Профит или Просадка в последнем закрытом ордере.
Не нашел у KimIV функцию возврата размера просадки/профита из последнего закрытого ордера.
Идея проста: нужно отследить сколько в валюте депозита получились Профит или Просадка в последнем закрытом ордере.
У меня такая конструкция работает:
У меня такая конструкция работает:
Не нашел у KimIV функцию возврата размера просадки/профита из последнего закрытого ордера.
Идея проста: нужно отследить сколько в валюте депозита получились Профит или Просадка в последнем закрытом ордере.
Алгоритм такой: ищите там же ЛЮБУЮ функцию, возвращающую НЕ ВАЖНО что у последнего закрытого ордера. Получаете Тикет этого последнего закрытого ордера. По выходе из цикла перебора ордеров, выделяете ордер по полученному Тикету и считаете его профит, если важно, не забываете при подсчёте учесть своп и комисссию:
Инфо из учебника:
См. также ObjectGetValueByShift().
int shift=ObjectGetShiftByValue("MyTrendLine#123", 1.34);Вопрос:
Где здесь ошибка, выдает сообщение номер бара -1(я это самый первый бар в истории). Больше инфо в учебнике не нашел. Как узнать номер бара по цене?
Алгоритм такой: ищите там же ЛЮБУЮ функцию, возвращающую НЕ ВАЖНО что у последнего закрытого ордера. Получаете Тикет этого последнего закрытого ордера. По выходе из цикла перебора ордеров, выделяете ордер по полученному Тикету и считаете его профит, если важно, не забываете при подсчёте учесть своп и комисссию: