Magic из даты - страница 2

 
вы мне Крылова И.А. напоминаете
 
pako:
вы мне Крылова И.А. напоминаете

Я конечно способен воспринимать критику... но только конструктивную и обоснованную.... Вы или нормально объясните, или вообще не влазьте.... Из-за таких (самых умных) и пропадает желание обращаться на форумы за помощью.... 

А по поводу того, кто кому кого напоминает - здесь вообще (как мне кажется) не уместно.

Не захочет никто с ламером возиться - не надо. Сами разберемся... пусть и времени это больше займет. 

 
Eisbrecher:

Не захочет никто с ламером возиться - не надо. Сами разберемся... пусть и времени это больше займет. 

что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,

т.е.  ввести extern переменную, например,

extern int baseMagic = 1000;

и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А  baseMagic = 1000, советник Б baseMagic = 2000..

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

int getMagic()
  {
   return(baseMagic+TimeDayOfYear(TimeCurrent()));
  }

 

например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..

таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..

что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -

1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и

2. проверка, что в заданный интервал ничего еще не открывалось..

 
keekkenen:

что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,

т.е.  ввести extern переменную, например,

и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А  baseMagic = 1000, советник Б baseMagic = 2000..

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

 

например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..

таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..

что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -

1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и

2. проверка, что в заданный интервал ничего еще не открывалось..

 

Что-то сложное надумали. Хотя до Вас предложения еще сложнее были. В Вашем хоть какая-то разумность есть
 

Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой. 

Выделить по одному магику каждому сову или каждому периоду торговли и все! 

Для разных пометок ордеров лучше использовать OrderComment(). 

А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...  

 
dimeon:

Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой. 

Выделить по одному магику каждому сову или каждому периоду торговли и все! 

Для разных пометок ордеров лучше использовать OrderComment(). 

А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...  

Хоть какое то разумное зерно появилось. Я уж и не верил.

Разные магики нужны только для советников работающих на одном инструменту. На разных уже и так есть способ их различить - само название инструмента

 

Можно так:

int магик = ХешФункцияCRC32(имя советника, имя инструмента, имя стратегии);

 
Vinin:
Что-то сложное надумали. Хотя до Вас предложения еще сложнее были. В Вашем хоть какая-то разумность есть

Виктор, до этого были ответы на конкретный вопрос типа:

- Я хочу сделать так... Как мне это сделать???

Вопроса "что лучше или разумней сделать в такой ситуации" небыло... Зачем критиковать конкретные ответы на конкретные вопросы?

 
dimeon:

Зачем вообще придумывать генерацию разных магиков ? Потом проблематично идентифицировать этот магик, чтоб не потерять открытый ордер или не зацепить не свой. 

Выделить по одному магику каждому сову или каждому периоду торговли и все! 

Для разных пометок ордеров лучше использовать OrderComment(). 

А чтоб сов не ставил дополнительных ордеров - при сигнале просматриваем в цикле все ордера и если есть с нужным магиком, то запрещаем открытие следующего ордера...  

Вы, видимо, не совсем поняли суть идеи. 

Сов открывает ордер в 9:00 1.01.2014 (допустим), но если ордер провесит до 2.01.2014, то он не откроет в нужное время второй. Потому и появилась такая задумка. Если магика совсем не будет, то он открывает ордер при каждом касании ценой коридора.

 

keekkenen:

что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,

т.е.  ввести extern переменную, например,

и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А  baseMagic = 1000, советник Б baseMagic = 2000..

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

 

например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..

таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..

что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -

1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и

2. проверка, что в заданный интервал ничего еще не открывалось..

 

Идея понятна. Вполне. Осталось, чтобы мой мозг осилил это все прикрутить к сове )))))

За идею, спасибо!

 

З.Ы.: по поводу простоты решения вопроса! Самое простое - вставать рано утром и вручную задавать магик на сегодняшний день. Но это для меня, т.к. я в программировании вообще тормоз. Оно не усваивается в моем мозгу. Вот и пристаю с вопросами (может и глупыми).

Всем адекватным участникам дискуссии искреннее спасибо ;-) 

 
keekkenen:

что касается магика, то как я понял для советника должен быть один магик на сутки, если так то проще всего брать день года, а для того чтобы на одном инструменте могло торговать несколько советников еще добавить базовое значение магика,

т.е.  ввести extern переменную, например,

и менять это значение для разных советников с шагом в 1000, для наглядности, например, советник А  baseMagic = 1000, советник Б baseMagic = 2000..

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

 

например, прошлая пятница это 304-й день года, тогда для советника А магик будет 1000+304=1304, для советника Б - 2304.. в понедельник значение дня будет 307 и т.д., думаю идея понятна..

таким образом магик нужен не для открытия ордера по какому-то конкретному времени, а чтобы советники не конфликтовали..

что касается самого управления открытия ордеров по времени, то тут тоже не особо сложно должно быть -

1. нужен контроль открытия по времени - заданный интервал вермени наступил, открываем и

2. проверка, что в заданный интервал ничего еще не открывалось..

 

Спасибо!!! Получилось.

Всем участникам всего доброго и профитов! 

Причина обращения: