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

 
Да, и на квартиру тоже. 
 

Добрый день. Подскажите как решить задачу. Есть две точки одна находится левее от нулевого бара, а другая правее от нулевого бара. Нужно подсчитать число баров между этими точками. Если просто отнимать временные промежутки, согласно таймфрему, то при попадании на пятницу число баров считается неверно.

Есть какие нибудь еще решения? 

 
Dimka-novitsek:


Нельзя так о родителях. Не важно какие они.

Запомни ситуацию и не стань таким же. Будь лучше.

 
Dimka-novitsek:


он сзади подошол и начал со спины ронять фразы про погоду, и где я молодец, где не молодец...

Меня просто поражает характер его рассуждений. Так он покраснел, но через минуту все же ушол.

Дима, это для вас

https://www.youtube.com/watch?v=Xv70FjgZyIA

---

Папа прав, отдыхать вам надо.

 

Помогите написать  условие на открытие позиций

Не могу написать дополнительное условие для открытие зделок по задуманному принцепу.

Нужно что бы после закрытии любой позиции по TP или SL он открыл её заного с противоположной позицией.

Пример: если закрылась позиция Sell скажем по SL он заного открыл позицию Sell вместе с ней и Buy

Вот 2 условия из советника:

условие на покупку

if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}

условие на продажу

if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell");
}

Кто в этом резбирается помогите написать дополнительное условие. 

Файлы:
sellbuy_1.mq4  3 kb
 
Frostr:

Помогите написать  условие на открытие позиций. 

Не могу написать дополнительное условие для открытие зделок по задуманному принцепу.

Нужно что бы после закрытии любой позиции по TP или SL он открыл её заного с противоположной позицией.

Пример: если закрылась позиция Sell скажем по SL он заного открыл позицию Sell вместе с ней и Buy

Вот 2 условия из советника:

условие на покупку

if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
}

условие на продажу

if (SELL)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell");
}

Кто в этом резбирается помогите написать дополнительное условие. 


Совсем не понял, чего вы хотите. Чтобы после закрытия сделки открывалось две противоположные позиции?Тогда наверное так.Но   можно просто отдавать Д.Ц. по спреду вместо открытия позиции. Получится то же самое. 
if (BUY)
   { 
   if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy");
      {
      if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
      OPENORDER ("Buy"); 
      if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0;
      OPENORDER ("Sell"); 
   }
}
if (SELL)
   {
   if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders) 
      if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits); else SL=0; 
      OPENORDER ("Sell");
      if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits); else TP=0;
      if (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits); else SL=0;
      OPENORDER ("Buy"); 
   } 
}  
 
sss2019:

Добрый день. Подскажите как решить задачу. Есть две точки одна находится левее от нулевого бара, а другая правее от нулевого бара. Нужно подсчитать число баров между этими точками. Если просто отнимать временные промежутки, согласно таймфрему, то при попадании на пятницу число баров считается неверно.

Есть какие нибудь еще решения? 

Помогите пожалуйста решить проблему
 
sss2019:
Помогите пожалуйста решить проблему

Переложите расчёты на терминал: по двум точкам создайте трендовую линию, а затем (ObjectGetShiftByValue()) найдите в каждой точке смещение относительно 0-го бара. А затем вычислите м\у ними разницу (или сложите по модулю).
 
sss2019:
Помогите пожалуйста решить проблему


Сдвиньте обе точки влево на одинаковое количество баров, чтобы они обе оказались левее нулевого бара. Извиняюсь, ошибочка, чтобы правая оказалась на нулевом баре.
 
rigonich:

Сдвиньте обе точки влево на одинаковое количество баров, чтобы они обе оказались левее нулевого бара. Извиняюсь, ошибочка, чтобы правая оказалась на нулевом баре.

P.S. Немного подумал и понял, что отвечаю не совсем на тот вопрос. Количество баров справа от нулевого точно определить нельзя в принципе, так как их еще нет, и кроме выходных могут быть пропуски баров( когда цена не меняется за время одного бара, он не "рисуется" ), отсутствие котировок сразу после открытия рынка и пр.  
Причина обращения: