Привет!
Никогда не использовал ST и TP
Прошу разъяснить.
Стоп-лосс и тейк-профит устанавоиваются уже на существующую позицию
или можно задавать эти параметры в устанавливаемом ордере, т.е когда позиция ещё не открыта?
Если можно задавать параметры в ордере, то как рассчитывать SL и TP в рыночном ордере (цена позиции не фиксирована)?
Можно задавать как угодно, уровни хранятся на сервере. Тот же сервер может отказать в исполнении ваших стопов.
Можно задавать как угодно, уровни хранятся на сервере. Тот же сервер может отказать в исполнении ваших стопов.
Вот и не хотелось бы получать отказы сервера.
Т.е лучше устанавливать на существующую позицию (для верности)?
Вот и не хотелось бы получать отказы сервера.
Т.е лучше устанавливать на существующую позицию (для верности)?
Стопы вообще лучше не устанавливать, ставьте лимитники.
Вот и не хотелось бы получать отказы сервера.
Т.е лучше устанавливать на существующую позицию (для верности)?
Стопы вообще лучше не устанавливать, ставьте лимитники.
Вот поэтому я никогда не использовал раньше.
Но, сейчас пишу класс CFORTSOrder и в нём должна быть функция установки SL и TP
Добавлено
POSITION_SL |
Я малограмотен в биржевом исполнении, но всё-же. Ордера в целом лучше расставлять на уже существующую позицию, если будет проскальзывание, то уровни будут точно соответствовать размеру, который устанавливаете. Не проверял лично, но читал что без SL и TP заказ исполняется быстрее, если это действительно так, то целесообразней сначала дождаться открытия позиции, а потом уже с ней работать.
Спасибо
Спасибо
Я малограмотен в биржевом исполнении, но всё-же. Ордера в целом лучше расставлять на уже существующую позицию, если будет проскальзывание, то уровни будут точно соответствовать размеру, который устанавливаете. Не проверял лично, но читал что без SL и TP заказ исполняется быстрее, если это действительно так, то целесообразней сначала дождаться открытия позиции, а потом уже с ней работать.
Сами стоп ордера срабатывают очень быстро, потому что хранятся на сервере, и сервер сам отсылает заявки при условиях. При этом пинг до сервера экономится, в сравнении если бы вы закрывались по рынку.
Но лимитники надежнее и скорость ни с чем не сравнить (задержка = 0).
Физически скорость не замерял, на глаз видно - на графике цена еще не дошла до стопа, а сделка уже совершилась и отобразилась в истории, а потом начинает на чарте рисоваться цена и сделка.
Вот поэтому я никогда не использовал раньше.
Но, сейчас пишу класс CFORTSOrder и в нём должна быть функция установки SL и TP
Добавлено
POSITION_SL |
Почему не написать функцию без костылей которые хранятся на сервере?
Пишите сразу с лимитами. Ну или хотябы ТР с лимитами, а SL как получится.
Почему не написать функцию без костылей которые хранятся на сервере?
Пишите сразу с лимитами. Ну или хотябы ТР с лимитами, а SL как получится.
А потому, что я, возможно, опубликую код класса.
Мне не нужно, а начинающим может понадобится.
{
if(PositionSelect(a_symbol))
{
ulong pos_ticket = ulong(PositionGetInteger(POSITION_TICKET));
ENUM_POSITION_TYPE pos_type = ENUM_POSITION_TYPE(PositionGetInteger(POSITION_TYPE));
double sl_level = PositionGetDouble(POSITION_SL);
double tp_level = PositionGetDouble(POSITION_TP);
MqlTradeRequest request = {0};
MqlTradeResult result = {0};
mem_magic = magic_storage + 1;
if(magic_storage >= (magic_number + 65530)) mem_magic = magic_number;
request.symbol = a_symbol;
request.action = TRADE_ACTION_SLTP;
request.comment = "Установка SL/TP";
request.magic = mem_magic;
request.position = pos_ticket;
switch(pos_type)
{
case POSITION_TYPE_BUY:
if (a_sl == 0)
{
request.sl = sl_level;
}
else
if(a_sl <= sl_level)
{
request.sl = a_sl;
}
else request.sl = sl_level;
if (a_tp == 0)
{
request.tp = tp_level;
}
else
if(a_tp >= tp_level)
{
request.tp = a_tp;
}
else request.tp = tp_level;
break;
case POSITION_TYPE_SELL:
if (a_sl == 0)
{
request.sl = sl_level;
}
else
if(a_sl >= sl_level)
{
request.sl = a_sl;
}
else request.sl = sl_level;
if (a_tp == 0)
{
request.tp = tp_level;
}
else
if(a_tp <= tp_level)
{
request.tp = a_tp;
}
else request.tp = tp_level;
break;
}
if(OrderSend(request, result))
{
if(result.retcode == TRADE_RETCODE_DONE)
{
magic_storage = mem_magic;
Print(__FUNCTION__, ": SL и/или TP установлен.");
}
}
else Print(__FUNCTION__, ": SL и/или TP не установлен.");
}
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет!
Никогда не использовал SL и TP
Прошу разъяснить.
Стоп-лосс и тейк-профит устанавоиваются уже на существующую позицию
или можно задавать эти параметры в устанавливаемом ордере, т.е когда позиция ещё не открыта?
Если можно задавать параметры в ордере, то как рассчитывать SL и TP в рыночном ордере (цена позиции не фиксирована)?