Страница 1 из 1

Остановить торговлю робота без завершения его работы

Добавлено: 13 июн 2018, 23:21
Юрий И
Подскажите, пожалуйста, можно ли во время работы робота при одних заданных значениях параметров закрыть текущую позицию и прекратить выставлять заявки без остановки робота, при других - возобновить выставление заявок? Например: при (RealizedPL() > P1) прекратить, а при (SMA(Input1.Close, 10) == P2) - возобновить.
Заранее выражаю благодарность за ответ.

Re: Остановить торговлю робота без завершения его работы

Добавлено: 14 июн 2018, 07:06
evge
Здравствуйте!

Можно.

Когда торговать не нужно, закрывайте позицию и завершайте работу обработчика OnUpdate()

Код: Выделить всё

function OnUpdate()
{
//...
if (условие)
{
if (CurrentPosition() != 0) ClosePosition();
return;
}
//...
}


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

Код: Выделить всё

function Initialize()
{
//...
AddGlobalVariable("Trade", Types.Boolean, true); //Trade == true - торговать, Trade == false - не торговать
//...
}
function OnUpdate()
{
//...
if (условие запуска торговли) Trade = true;
if (условие остановки торговли) Trade = false;

// если выключен флаг "торговать", то закрываем позицию, если она открыта и выходим из обработчика OnUpdate()
if (!Trade)
{
if (CurrentPosition() != 0) ClosePosition();
return;
}
//...
}

Re: Остановить торговлю робота без завершения его работы

Добавлено: 29 июн 2018, 17:42
G.O.D.
а можно ли на тайм фрейм 1 час остановить робота, скажем, в 18.25, не дожидаясь конца свечки?

Re: Остановить торговлю робота без завершения его работы

Добавлено: 10 июл 2020, 20:51
Asp
Спустя два года до меня доперло как - два робота