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

 
Еще вопрос. Не пойму как получить, с минимальными затратами, из Time[0] переменную типа int  в виде 00:00.  Не приходит ничего в голову, кроме как через string, StrToTime, и TimeToStr, преобразовывать. Спасибо!
 

Коллеги подскажите есть ли альтернатива программе Report Manager?

Нужно объединять большие отчеты за несколько лет, а RM зависает или просто ничего не происходит при нажатии на merge. С маленькими отчетами проблем нет.

 
Подскажите как запустить индикатор из эксперта, если есть такая возможность.
 

Нужно, чтобы индикатор считал движения машки вверх в отрезке из 50 баров по всему графику, то есть появился новый бар, последний исключаем для поиска  и так с каждым новым баром. Пока удалось сделать, чтобы подсчитывалась вся история. Короче застрял я на нем. Может, кто подскажет, как осуществить данную задачу? Применение сглаживания по типу скользящих не подойдет.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- buffers
double ExtMapBuffer1[];
extern int p=50;//желаемый диапазон баров для поиска 
double val_plus[]; 
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   IndicatorDigits(Digits+1);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),i,limit,indicator_plus;
    double ma1, ma2;
    
   if(counted_bars>0)
      counted_bars--;
   limit=Bars-counted_bars-1; 
   for(i=limit;i>=0;i--)
   {  
   ma2=iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,i+2);
   ma1=iMA(NULL,PERIOD_CURRENT,21,0,MODE_EMA,PRICE_CLOSE,i+1);
   ArrayInitialize(val_plus,0);
   for(int k=p;k>=0;k--)//в этом цикле ищем и суммируем все растущия движения машки
   {
    ArrayResize(val_plus,p); 
    if(ma1 > ma2){val_plus[k]=1;}//получили одно растущее движение                 
    if(val_plus[k] > 0){indicator_plus=indicator_plus+val_plus[k];}//прибавили его к общей сумме     
   }
   ExtMapBuffer1[i]=indicator_plus;
 
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
001:
Еще вопрос. Не пойму как получить, с минимальными затратами, из Time[0] переменную типа int  в виде 00:00.  Не приходит ничего в голову, кроме как через string, StrToTime, и TimeToStr, преобразовывать. Спасибо!

 TimeHour(Time[0])  и TimeMinute(Time[0])
 
Forexman77:

Нужно, чтобы индикатор считал движения машки вверх в отрезке из 50 баров по всему графику, то есть появился новый бар, последний исключаем для поиска  и так с каждым новым баром. Пока удалось сделать, чтобы подсчитывалась вся история. Короче застрял я на нем. Может, кто подскажет, как осуществить данную задачу? Применение сглаживания по типу скользящих не подойдет.



  Есть функция SetIndexDrawBegin(). Но там особенность, считает слева направо. Вобщем, в Init поставьте себе строку SetIndexDrawBegin(0, Bars-p), и посмотрите, может это то, что Вам нужно.
 

Можно ли загружать графики для тех.анализа,- индексов S&P 500 Futures Chart , TA 25 Chart, и S&P 500 Chart если это возможно может подскажете как это сделать,может есть объяснение как загружать!

Не получается найти такого брокера,может посоветуете программу для тех.анализа, которая позволяла загрузку интересующих меня индексов (можно в реальном времени)или же брокера.

Может есть возможность загрузки этих индексов МТ-4 или МТ-5. Я только начинаю пытаться заниматься тех.анализом ,очень бы хотелось услышать совет специалиста,как справится с моей задачей.

Заранее благодарен за оказанную помощь.
 
pu6ka:

 TimeHour(Time[0])  и TimeMinute(Time[0])

Спасибо!
 
Здрасти ....как нарисовать самому бар ? но без цены открытия
 
Есть функция закрытия позы по времени.
void CheckForLongetivityClose_Sell()
  {
   if(DayOfWeek()==0 || DayOfWeek()==6) return;
   for(int i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      // if(OrderMagicNumber()==MAGIC_S)
        {
         datetime openTime_S= OrderOpenTime();
         int timeDistance_S = TimeCurrent()-openTime_S;
         if(timeDistance_S>60*BarrierMinute_S) int f=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,Digits),3,Red);
        }

     }
   return;
  }

  Позиция закрывается, но выдает по каждой позе OrderClose error 138

11:44:49 2000.01.10 07:00  Time+iLowest_old EURUSD,H1: open #1 sell 0.10 EURUSD at 1.02940 ok
11:44:49 2000.01.10 14:00  Time+iLowest_old EURUSD,H1: OrderClose error 138
11:44:49 2000.01.10 14:00  Time+iLowest_old EURUSD,H1: close #1 sell 0.10 EURUSD at 1.02940 at price 1.02230
11:44:49 2000.01.11 07:00  Time+iLowest_old EURUSD,H1: open #2 sell 0.10 EURUSD at 1.02660 ok
11:44:49 2000.01.11 14:00  Time+iLowest_old EURUSD,H1: OrderClose error 138
11:44:49 2000.01.11 14:00  Time+iLowest_old EURUSD,H1: close #2 sell 0.10 EURUSD at 1.02660 at price 1.02890
11:44:49 2000.01.13 07:00  Time+iLowest_old EURUSD,H1: open #3 sell 0.10 EURUSD at 1.02860 ok

11:44:49 2000.01.13 14:00  Time+iLowest_old EURUSD,H1: OrderClose error 138 ,

Что это может быть? Самое интересное, что в другом советнике все работает.

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