[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 507

 
borilunad:
Noterday:

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

Нужно сверять текущий день с историей открытия ордера?

if(NewBar == True)
{
//Ваши условия открытия
}

//Функция
bool NewBar()
{
  static datetime lastbar = 0;
  datetime curbar = iTime(NULL,1440,0);
  if(lastbar != curbar)
  {
    lastbar = curbar;
    return(true);
  }
  else return(false);
}

А теперь прочитайте просьбу, на которую Вы ответили, ещё раз! :)))


Noterday:

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

Нужно сверять текущий день с историей открытия ордера?

Нужно сравнивать время текущего дня (iTime(NULL, 1440, 0); в полне подойдёт) с временем открытия последней сделки (ещё открытой или уже закрытой - не важно).
 
MaxZ:
А теперь прочитайте просьбу, на которую Вы ответили, ещё раз! :)))


А что Вас не устроило? Откроется 1 позиция по его условиям и до следущего дня не откроется никакая больше, что и требовалось согласно его просьбе.
 
borilunad:

А что Вас не устроило? Откроется 1 позиция по его условиям и до следущего дня не откроется никакая больше, что и требовалось согласно его просьбе.

А если открыта сделка ручками!? Или был перезагружен терминал!?

И подумайте, что будет, если условие для открытия не выполнится... lastbar будет хранить уже сегодняшний день, а условие не выполнилось и не выполнится до начала следующего дня. Как минимум, условие для открытие должно быть выше, чем Ваш "if"... И этот вариант подойдёт только для тестера.

 
Понял, спасибо !borilunad  и    MaxZ    
 
MaxZ:
А если открыта сделка ручками!? Или был перезагружен терминал!? Да и вообще, такое условие годится только для ТФ D1.

iTime( ) годится для любого ТФ в отличие от Time[ ]  :))
 
borilunad:

iTime( ) годится для любого ТФ в отличие от Time[ ]  :))

Я Сам это понял... Про ТФ Свой довод удалил! ;) Читайте новый довод! :D

 
MaxZ:

Возможно... Локи всегда были и будут наваром для ДЦ. Иначе бы их все запрещали! :DD

Хотя в обсуждаемом случае можно и поспорить, но что-то не сильно хочется.

Вы лучше скажите, если знаете, есть ли такие счета в MT4!? :)))


Если не ошибаюсь,  интербанкфх освобождает маржу при открытии встречных.
 
VladislavVG:

Если не ошибаюсь,  интербанкфх освобождает маржу при открытии встречных.
F4U тоже освобождают... У них эта функция называется "локированная маржа". Только, как Мне известно, и такой лок уже не открыть, если свободные средства в минусе.
 
MaxZ:

А если открыта сделка ручками!?

Нефиг лезть с кривыми ручками и нарушать логику ТС.

Выберите что нибудь одно:

  1. Кривые ручки
  2. Полуавтомат, т.е. автоматика сигналит, трейдер исполняет.
  3. Автотрейдинг

Ненужное вычеркнуть.

 
MaxZ:

Я Сам это понял... Про ТФ Свой довод удалил! ;) Читайте новый довод! :D

 

Согласен! Хорошо иметь все условия и решать в совокупности!

Если не нужно открывать более одной, ещё использую функцию ЕxistPositions() от КимIV, но это действует, пока позиция не закрыта!

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