Ошибки, баги, вопросы - страница 1381

 
Karputov Vladimir:
Пожалуйста покажите SYMBOL_VOLUME_STEP для этих трёх символов.

0.01 для ES

0.1 для SPX

1 для RTS

Ещё раз - у меня 2 разные задачи:

1-я задача - выравнивать объём для любого инструмента в мире.

2-я задача - из числа получить котировку для любого инструмента в мире.

Про первую задачу. Я не знаю где получить информацию о том, какие в принципе бывают значения у SYMBOL_VOLUME_STEP.

То что лично мне встретились 1 и 0.1 и 0.01 - это не аргумент, что всегда будет только так.  Кто сказал, что нет, допустим, 0.25 или 0.5?


Про вторую задачу. Не знаю как получить смещение. Мне только один раз встретился такой хитрый случай с котировкой с шагом цены 0.13, 0.38, 0.63, 0.88. Но где гарантия, что это единичное исключение?

Неужели, чтобы из числа получить точную котировку в терминале надо обязательно стать экспертом по всем инструментам в мире? Почему это должно быть моей проблемой?

 
Fry:

...

Про первую задачу. Я не знаю где получить информацию о том, какие в принципе бывают значения у SYMBOL_VOLUME_STEP.

...

Переберите все инструменты в обзоре рынка и получите для каждого SYMBOL_VOLUME_STEP. Потом проделайте такую операцию на другом торговом сервере. И так, пока не обойдёте весь мир. 

После этого Вы будете знать какие значения SYMBOL_VOLUME_STEP вообще существуют в мире.  

 
Fry:

0.01 для ES

0.1 для SPX

1 для RTS

Ещё раз - у меня 2 разные задачи:

1-я задача - выравнивать объём для любого инструмента в мире.

2-я задача - из числа получить котировку для любого инструмента в мире.

Про первую задачу. Я не знаю где получить информацию о том, какие в принципе бывают значения у SYMBOL_VOLUME_STEP.

То что лично мне встретились 1 и 0.1 и 0.01 - это не аргумент, что всегда будет только так.  Кто сказал, что нет, допустим, 0.25 или 0.5?


Про вторую задачу. Не знаю как получить смещение. Мне только один раз встретился такой хитрый случай с котировкой с шагом цены 0.13, 0.38, 0.63, 0.88. Но где гарантия, что это единичное исключение?

Неужели, чтобы из числа получить точную котировку в терминале надо обязательно стать экспертом по всем инструментам в мире? Почему это должно быть моей проблемой?

В чем проблема? Самый просто случай - шаг 0.01, 0.1, 1. Соответственно, нормализуете объем до 2, 1, 0 знаков. Если же шаг 0.13 и т.п. то, в случае, если объем фиксирован и задается во входных настройках - при инициализации проверяете, получается ли целое число при делении входного объема на шаг. Если нет - приводите объем, например, к ближайшему подходящему путем умножения полученного целого значения на шаг.

 
Karputov Vladimir:

Переберите все инструменты в обзоре рынка и получите для каждого SYMBOL_VOLUME_STEP. Потом проделайте такую операцию на другом торговом сервере. И так, пока не обойдёте весь мир. 

После этого Вы будете знать какие значения SYMBOL_VOLUME_STEP вообще существуют в мире.  

Если это сарказм, то я не понимаю причину.

Если вы серьёзно предлагаете мне такой фигнёй регулярно заниматься, то проще поменять платформу. Буду кодить, например, под TSLab или ещё что-то выберу.

Я не прошу что-то сверх естественное. Всего лишь 2 базовые функции (из любого числа ровнялка до объёма и до котировки).

Вполне логично было бы ожидать такой сервис именно от API, а не заниматься "заточкой с напильником" по ситуации.

 
Fry:

Если это сарказм, то я не понимаю причину.

Если вы серьёзно предлагаете мне такой фигнёй регулярно заниматься, то проще поменять платформу. Буду кодить, например, под TSLab или ещё что-то выберу.

Я не прошу что-то сверх естественное. Всего лишь 2 базовые функции (из любого числа ровнялка до объёма и до котировки).

Вполне логично было бы ожидать такой сервис именно от API, а не заниматься "заточкой с напильником" по ситуации.

Не понимаю Вашу "хотелку": есть штатная функция SYMBOL_VOLUME_STEP - используйте её. Для каждого инструмента шаг может быть любой. Хотите добавить 100 минимальных объёмов: volume= SYMBOL_VOLUME_STEP *100. Хотите добавить 12 минимальных объёмов: volume= SYMBOL_VOLUME_STEP *12. В чём проблема?
 
Karputov Vladimir:
Не понимаю Вашу "хотелку": есть штатная функция SYMBOL_VOLUME_STEP - используйте её. Для каждого инструмента шаг может быть любой. Хотите добавить 100 минимальных объёмов: volume= SYMBOL_VOLUME_STEP *100. Хотите добавить 12 минимальных объёмов: volume= SYMBOL_VOLUME_STEP *12. В чём проблема?

Понятно. Хорошо. Давайте рассмотрим конкретный пример.

Мне надо выставить ордер, которым я закрываю, ну допустим, 70% позиции, остальную часть хочу оставить. То есть я создаю частичный тейк профит.

После полного набора позиции легко узнать её объём.

Как дальше получить ~ 70% ровно на SYMBOL_VOLUME_STEP ?

Формулу в студию! =)

 
Fry:

Понятно. Хорошо. Давайте рассмотрим конкретный пример.

Мне надо выставить ордер, которым я закрываю, ну допустим, 70% позиции, остальную часть хочу оставить. То есть я создаю частичный тейк профит.

После полного набора позиции легко узнать её объём.

Как дальше получить ~ 70% ровно на SYMBOL_VOLUME_STEP ?

Формулу в студию! =)

Например так:

MathFloor((POSITION_VOLUME*0,7)/SYMBOL_VOLUME_STEP)

И пример на цифрах:

step 0.1
POSITION_VOLUME=12,3
12,3*0,7=8,61
8.61/0.1=86.1
MathFloor(86,1)=>86
86 минимальных шагов

step 0.1
POSITION_VOLUME=0,51
0.51*0.7=0.357
0.357/0.1=3.57
MathFloor(3,57)=>3
3 минимальных шага
 
Fry:

Понятно. Хорошо. Давайте рассмотрим конкретный пример.

Мне надо выставить ордер, которым я закрываю, ну допустим, 70% позиции, остальную часть хочу оставить. То есть я создаю частичный тейк профит.

После полного набора позиции легко узнать её объём.

Как дальше получить ~ 70% ровно на SYMBOL_VOLUME_STEP ?

Формулу в студию! =)

Приветсвую, если есть желание разбери этот код. В архиве тестовый класс для стандартных торговых операций - Открытие, Закрытие(объем закрываемой позиции задается в %), Переворот...

и набор тестовых скриптов для демонстрации этих функций

Файлы:
MQL5.zip  148 kb
 
Fry:

Понятно. Хорошо. Давайте рассмотрим конкретный пример.

Мне надо выставить ордер, которым я закрываю, ну допустим, 70% позиции, остальную часть хочу оставить. То есть я создаю частичный тейк профит.

После полного набора позиции легко узнать её объём.

Как дальше получить ~ 70% ровно на SYMBOL_VOLUME_STEP ?

Формулу в студию! =)

Уважаемый, я Вам выше расписал как и что нужно делать, Вы это, почему-то, проигнорировали. Ради Вас такие функции никто писать не будет. Это не надобность - это прихоть.

И да, 70% ровно не всегда можно организовать. Именно для этого и придумали SYMBOL_VOLUME_STEP.

 
Tapochun:

Уважаемый, я Вам выше расписал как и что нужно делать, Вы это, почему-то, проигнорировали. Ради Вас такие функции никто писать не будет. Это не надобность - это прихоть.

И да, 70% ровно не всегда можно организовать. Именно для этого и придумали SYMBOL_VOLUME_STEP.

Не проигнорировал. Просто не успел вникнуть. Написали Вы запутано, дойдёт до меня, возможно, завтра. =) Надо тихо-спокойно посидеть, понять. За ответ, в любом случае, спасибо.


Прихоть? Необходимость? Критерии размыты. Для меня необходимость, для Вас - прихоть.

Есть подозрение, что не мне одному оно надо. Но решать-то не мне.

Судьба и направление развития продукта в руках разработчиков. Я всего лишь пользователь и, возможно, ненадолго =)