Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 312

 
VladislavVG:


Это только весьма "скромная" реализация, к тому же не расширяемая: она удаляет все ордера советника или все ордера с данным магиком по данному инструменту при наличии рыночного. То есть, считает, что все ордера, выставленные по инструменту (с учетом/без учета магика), связаны соотношением ОСО.

Это может быть совсем не так. Например, из 20 выставленных ордеров могут быть 2-3 группы связных ордеров по 2 или 3, а остальные не связаны вообще. Этот советник до такого учета расширить не получится - нужно все переписывать или можно использовать этого советника в ручном режиме: тогда учет магиков связных групп ордеров нужно вести вручную и "вешать" столько советников, сколько групп ордеров в торговле.



Здравствуйте. а что если убрать все остальное иоставить только это:

сначала устанавливаются два ордера: buystop и sellstop ордера только с takeprofit . Затем при открытии одного из них, второй удаляется. Тут же опять устанавливается такая же пара ордеров. И опять при открытии одного из них или срабатывании takeprofit устанавливается такая же пара ордеров. Вот такой цикл.

Заранее благодарен.

 
PGM5:


Здравствуйте. а что если убрать все остальное иоставить только это:

сначала устанавливаются два ордера: buystop и sellstop ордера только с takeprofit . Затем при открытии одного из них, второй удаляется. Тут же опять устанавливается такая же пара ордеров. И опять при открытии одного из них или срабатывании takeprofit устанавливается такая же пара ордеров. Вот такой цикл.

Заранее благодарен.

Вообще-то и первый ваш алгоритм не сложный. Если я правильно его понял, то при срабатывании отложенного ордера, нужно найти ближайший к вновь открытой позиции (от сработавшего ордера) противоположный отложенный ордер и удалить его?

Если правильно, то нет тут ничего сложного.

 
Доброго утра!!! А что такое static int NomerBara=0; ?
 
Тоеесть, какую роль играет статическая переменная, что это такое и как себя ведет в программе?
 
Vladimirovits:
Тоеесть, какую роль играет статическая переменная, что это такое и как себя ведет в программе?

сохраняет свое значение даже при расчете следующего тика, но видна только из функции в которой создана. tyt
 
artmedia70:

Вообще-то и первый ваш алгоритм не сложный. Если я правильно его понял, то при срабатывании отложенного ордера, нужно найти ближайший к вновь открытой позиции (от сработавшего ордера) противоположный отложенный ордер и удалить его?

Если правильно, то нет тут ничего сложного.


Благодарю за поддержку. А не подскажете, где искать ответ на этот вопрос. Да, еще: ордера должны устанавливаться при срабатывании ордера и при срабатывании takeprofit и перед этим должен удалиться ближайший. Заранее благодарен.
 
PGM5:


Здравствуйте. а что если убрать все остальное иоставить только это:

сначала устанавливаются два ордера: buystop и sellstop ордера только с takeprofit . Затем при открытии одного из них, второй удаляется. Тут же опять устанавливается такая же пара ордеров. И опять при открытии одного из них или срабатывании takeprofit устанавливается такая же пара ордеров. Вот такой цикл.

Заранее благодарен.


Если ордера попарно, то можно реализовать не сложно: для каждой пары свой магик. Магик для каждой пары надо модифицировать в для каждой итерации, например, прибавлять значение счетчика цикла. Только вот если на одной паре несколько советников, то чтоб они не мешали друг-другу для каждого советника нужно выделять свой "диапазон магиков". Например, строить магик как "Базовое число" + "счетчик итераций", где "Базовое число" внешний параметр, по сути - сдвиг, который задается вручную. "счетчик итераций" - переменная типа статик. Для реала надо еще определять магики уже выставленных ордеров - на случай перезагрузки терминала во время работы.
 
artmedia70:

Вообще-то и первый ваш алгоритм не сложный. Если я правильно его понял, то при срабатывании отложенного ордера, нужно найти ближайший к вновь открытой позиции (от сработавшего ордера) противоположный отложенный ордер и удалить его?

Если правильно, то нет тут ничего сложного.



Если это всегда ближайший, то можно и совсем просто и учет магиков, естественно, не нужен. Но об этом ничего от PGM5 не слышно, а в общем случае это может оказаться и не ближайший по цене, а отстоящий от текущей цены на какое-угодно расстояние и между ними могут оказаться ордера выставленные из других соображений: мы же ничего об алгоритме принятия решений не знаем. Речь шла только о связанных ордерах.
 
Спасибо!!! Очень понятно.
 
Vladimirovits:
Спасибо!!! Очень понятно.


и пользуйтесь поисковиком сайта: вписать "static" и выбрать категорию "документация" не так уже и сложно.

это слова borilunad. Он молодец, но запаздывает что-то последние дни )