Андрей, приветствую. Есть функция вывода уровня цены Stop Out
//----------------------------------------------------------------------------------------------
double d_shift_3,u_shift_3=0;
if ( lots > 0) // lots — сумма всех лотов сетки
{
d_shift_3 = AccountEquity() / (MarketInfo(Symbol(), MODE_TICKVALUE) * lots);
if (GetLot(0))
{
u_shift_3 = Bid — d_shift_3*Point; // уровень полного слива сетки buy
}
if (GetLot(1))
{
u_shift_3 = Ask + d_shift_3*Point; // уровень полного слива сетки sell
}
}
else u_shift_3 = 0.0;
SM(«StopOut price: » + DoubleToString(u_shift_3,Digits)); // вывод на график
//------------------------------------------------------------------------------------------------
в результате получаем цену (
u_shift_3), которую выводим на график.
Эта конструкция работает! Выводит цену SO, изменяет ее в случае накопления ордеров сетки (сетка строится только в BUY или SELL). В общем, тут всё норм, в плане работоспособности. Я не уверен, что формула правильная (может кто поправит если что), но где-то очень близко подходит..)
Вопрос в следующем:
Как нарисовать горизонтальную линию параметра u_shift_3?
Я пробовал так:
if (u_shift_3 >0)
{
ObjectCreate(«SO_Line»,OBJ_HLINE,0,0,u_shift_3);
ObjectSet(«SO_Line»,OBJPROP_COLOR,Red);
ObjectSet(«SO_Line»,OBJPROP_STYLE,0);
ObjectSet(«SO_Line»,OBJPROP_WIDTH,2);
ObjectSet(«SO_Line»,OBJPROP_BACK,true);
}
else
ObjectCreate(«SO_Line»,0,0,0,u_shift_3);
Вообще ничего не выводится, не рисуется линия(((
Уже два дня мучаю гугл с этими линиями… Никак…
Вместо u_shift_3 подставлял другие значения, чтобы проверить, может конкретно в u_shift_3 проблема. Ставил Ask — линия рисуется при запуске советника, но не перемещается за ценой…
В общем, я в полном тупике…
Комментарии (31)
35 AM2 Сообщений: 16265 - Андрей
35 AM2 Сообщений: 16265 - Андрей
функция гет лот:
11 FEEX Автор Сообщений: 361 - Владимир
35 AM2 Сообщений: 16265 - Андрей
По сути, для вывода цены SO там больше ничего и не задействовано. Всё, что участвует, я скинул. Вопрос только в отрисовки линии параметра u_shift_3 — цена стоп аута. )
И некоторые фишки не хотелось бы в открытый доступ выкладывать… Редактирован: 19 сентября 2023, 18:52
11 FEEX Автор Сообщений: 361 - Владимир
35 AM2 Сообщений: 16265 - Андрей
11 FEEX Автор Сообщений: 361 - Владимир
14 verta81 Сообщений: 390
запарился искать ошибку)))
Но этот вариант тоже не выдает линию, или я что-то не то делаю…
11 FEEX Автор Сообщений: 361 - Владимир
14 verta81 Сообщений: 390
это сумма лотов всех открытых ордеров.
а это формула расчета цены стоп аута с выводом на график самой цены:
В советнике, который я сюда скинул (код в двух частях), там это все реализовано и если две части кода соединить, то и на графике всё видно будет. В комментах выводится значение.
Сразу предупреждаю, я в этом плохо разбираюсь… В сети не нашел вообще подобного, такое ощущение что именно расчет ЦЕНЫ стоп аута вообще никого не интересует, всех удовлетворяет процент, который и нафиг никому не нужен… В общем, пришлось самому мудрить, и я не уверен, что формула верна, но что-то очень похожее на првду в ней есть))) Редактирован: 19 сентября 2023, 23:51
11 FEEX Автор Сообщений: 361 - Владимир
Чуть не забыл!!! Не могли бы Вы сделать там же открытие ордеров на нулевом баре, согласно шага, сейчас ордера открываются на новой свече.
11 FEEX Автор Сообщений: 361 - Владимир
11 FEEX Автор Сообщений: 361 - Владимир
14 verta81 Сообщений: 390
Дай бог Вам здоровья!!))) Работает)))
11 FEEX Автор Сообщений: 361 - Владимир
Формула немного не точная, слив происходит чуть раньше. Может цена стоп аута как-то иначе расчитывается… У меня мозгов хватило пока только на такой вариант. Может кто-то сможет придумать вариант поточнее?
Просто реально в инете этого нет вообще! По крайней мере за два дня я не нашел ничего похожего…
11 FEEX Автор Сообщений: 361 - Владимир
6 Ramboo Сообщений: 92 - Ram
14 OSS5 Сообщений: 148
6 Ramboo Сообщений: 92 - Ram
я попробовал вытащить суть расчета, но походу там значение lots это не сумма всех лотов открытых ордеров, но тогда что??
Кто может написать расчет цены стоп аута с отрисовкой линии этой цены в советнике Андрея, который я выше скинул (в двух постах)?
P.S. Кстати, я проверил — индикатор i-UrovenZero и моя функция показывают ОДИНАКОВОЕ значение цены стоп аута, т.е. логику из индюка я понял правильно…
Но она НЕ точная!!! Слив происходит раньше цены, которую показывает индюк, на 10-15 пунктов (4-х знак). Выше скрин есть, там слив случился 14 пунктов не дойдя до линии слива — которая рисуется по формуле из индюка. Редактирован: 20 сентября 2023, 16:18
11 FEEX Автор Сообщений: 361 - Владимир
Не вариант?
14 verta81 Сообщений: 390
нужна ЦЕНА уровня SO
с каждым новым открытым ордером эта цена изменяется.
а AccountStopoutLevel(); это процент, выданный брокером по конкретному типу счета. Он не меняется)
11 FEEX Автор Сообщений: 361 - Владимир
6 Ramboo Сообщений: 92 - Ram
И мне не нужен индикатор, мне нужно это реализовать в советнике)
Уже сделали даже) только есть нюансы… Я ниже описал. Редактирован: 22 сентября 2023, 13:49
11 FEEX Автор Сообщений: 361 - Владимир
Но есть проблема: если нет открытых ордеров, то вместо 0.00000 в строке StopOut price там выводится текушая цена, а этого не должно быть!!! Если нет откр. ордеров, там должно быть 0.00000.
Вот как это сделать — я хз…
P.S. Плохо что к посту нельзя файл прикреплять(((
11 FEEX Автор Сообщений: 361 - Владимир
6 Ramboo Сообщений: 92 - Ram
11 FEEX Автор Сообщений: 361 - Владимир
35 AM2 Сообщений: 16265 - Андрей
Понятно, что сова от этого лучше торговать не начнет, это чисто чтобы было)) Лучше, если оно есть, чем если этого нет) Редактирован: 22 сентября 2023, 23:18
11 FEEX Автор Сообщений: 361 - Владимир
Правильнее будет так:
14 verta81 Сообщений: 390
11 FEEX Автор Сообщений: 361 - Владимир
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий