Бета-тестирование MetaTrader 5 началось! - страница 96

 
HideYourRichess >>:

Есть опасения, что это будет зря. Лучше MSVC, именно той версии, которая компилила терминал. В принципе, для dll, можно использовать и дельфи, и билдер и фрипаскаль и прочее. Но, попробуйте в билдере откомпилить пример длл из мт4 и запустить его. Если не трудно, покажите что получилось в результате.

С МТ4 вопросов нет, хоть в хоть в билде, хоть в паскале, в бэйсике правда не пробовал.

Меня больше интересует MQL5.


А в качестве примера я предложил юзать Борланду,а не MSVC поскольку код переделать под скажем Delphi проблем не составит

 
ITeXPert >>:

Известно хоть примерно, когда включат Тестер стратегий в MT5?

betmen >>:

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

Так же интересует вопрос по поводу окончательности принятого решения оставить функцию рисования буферов в индикаторах.

+

Видать он пока на далекой стадии.

Без тестера МТ5 неинтересен.

Повозился, повозился и ....... не кон

 
Interesting >>:

С МТ4 вопросов нет, хоть в хоть в билде, хоть в паскале, в бэйсике правда не пробовал.

Меня больше интересует MQL5.

Вы меня не поняли. Ну да ладно.

Interesting писал(а) >>

А в качестве примера я предложил юзать Борланду,а не MSVC поскольку код переделать под скажем Delphi проблем не составит

На сколько я понял, у разработчиков и в планах то нету, как то упростить жизнь пишущих на борландах.

 
HideYourRichess >>:

Вы меня не поняли. Ну да ладно.

На сколько я понял, у разработчиков и в планах то нету, как то упростить жизнь пишущих на борландах.

Да, жизнь программиста не проста....

 
Interesting писал(а) >>

Да, жизнь программиста не проса....

Тяжела и неказиста

жизнь mql программиста

 

В этом коде из справки в разделе "Способы привязки объектов" у меня не работает привязка объектов....проверьте.

void OnStart()

  {

//--- служебные массивы

   double Ups[],Downs[];

   datetime Time[];

//--- установим для массивов признак таймсерии

   ArraySetAsSeries(Ups,true);

   ArraySetAsSeries(Downs,true);

   ArraySetAsSeries(Time,true);

//--- создадим хендл на индикатор Fractals

   int FractalsHandle=iFractals(NULL,0);

   Print("FractalsHandle =",FractalsHandle);

//--- сбросим код ошибки

   ResetLastError();

//--- попытаемся скопировать значения индикатора

   int copied=CopyBuffer(FractalsHandle,0,0,1000,Ups);

   if(copied<=0)

     {

      Print("Не удалось скопировать верхние фракталы. Error =",GetLastError());

      return;

     }

 

   ResetLastError();

//--- попытаемся скопировать значения индикатора

   copied=CopyBuffer(FractalsHandle,1,0,1000,Downs);

   if(copied<=0)

     {

      Print("Не удалось скопировать нижние фракталы. Error =",GetLastError());

      return;

     }

 

   ResetLastError();

//--- скопируем таймсерию,содержащую время открытия последних 1000 баров

   copied=CopyTime(NULL,0,0,1000,Time);

   if(copied<=0)

     {

      Print("Не удалось скопировать времена открытия за последние 1000 баров");

      return;

     }

 

   int upcounter=0,downcounter=0; // будем в них подсчитывать количество стрелок

   bool created;// будем получать результат попытки создания объекта

   for(int i=2;i<copied;i++)// пробежимся по значениям индикатора iFractals

     {

      if(Ups[i]!=EMPTY_VALUE)// нашли верхний фрактал

        {

         if(upcounter<10)// создаем не более 10 объектов "вверх"

           {

            //--- попробуем создать объект "вверх"

            created=ObjectCreate(0,string(Time[i]),OBJ_ARROW_THUMB_UP,0,Time[i],Ups[i]);

            if(created)// если создался - сделаем ему тюнинг

              {

               //--- точка привязки снизу, чтобы не наезжать на бар

               ObjectSetInteger(0,string(Time[i]),OBJPROP_ANCHOR,ANCHOR_BOTTOM);

               //--- последний штрих - покрасим

               ObjectSetInteger(0,string(Time[i]),OBJPROP_COLOR,Blue);

               upcounter++;

              }

           }

        }

      if(Downs[i]!=EMPTY_VALUE)// нашли нижний фрактал 

        {

         if(downcounter<10)// создаем не более 10 объектов "вниз"

           {

            //--- попробуем создать объект "вниз"

            created=ObjectCreate(0,string(Time[i]),OBJ_ARROW_THUMB_DOWN,0,Time[i],Downs[i]);

            if(created)// если создался - сделаем ему тюнинг

              {

               //--- точка привязки сверху, чтобы не наезжать на бар

               ObjectSetInteger(0,string(Time[i]),OBJPROP_ANCHOR,ANCHOR_TOP);

               //--- последний штрих - покрасим

               ObjectSetInteger(0,string(Time[i]),OBJPROP_COLOR,Red);

               downcounter++;

              }

           }

        }

     }

  }
Может у меня одного такое...т.к у вас на скрине объекты правильно отображаются...может в новом бильде этот глюк...проверьте
 

Всем привет.

Разработчики у меня такой маленький вопрос как в буферах DRAW_BARS и DRAW_COLOR_BAR включить отображение медвежих и бычих свечей, если такая возможность имеется, и если ее нет можно ли ее добавить.

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

Просто в вашем примере BW-ZoneTrade.mq5 не поймеш свеча закрылась бычей или медвежей, а очень хотелосьбы видеть.

 
arbuz >>:

В этом коде из справки в разделе "Способы привязки объектов" у меня не работает привязка объектов....проверьте.

Может у меня одного такое...т.к у вас на скрине объекты правильно отображаются...может в новом бильде этот глюк...проверьте


Исправлено. Спасибо.

 
vdv2001 >>:

Всем привет.

Разработчики у меня такой маленький вопрос как в буферах DRAW_BARS и DRAW_COLOR_BAR включить отображение медвежих и бычих свечей, если такая возможность имеется

//+------------------------------------------------------------------+
//|                                                 CandleSample.mq5 |
//+------------------------------------------------------------------+
#property copyright "TheXpert"
#property link      "TheForEXpert@gmail.com"
#property version   "1.00"

#property indicator_separate_window

#property indicator_buffers 5
#property indicator_plots 1

#property indicator_type1 DRAW_COLOR_CANDLES
#property indicator_color1 Gray, Red, Blue

double O[];
double H[];
double L[];
double C[];
double Color[];

void OnInit()
{
   SetIndexBuffer(0, O, INDICATOR_DATA);
   SetIndexBuffer(1, H, INDICATOR_DATA);
   SetIndexBuffer(2, L, INDICATOR_DATA);
   SetIndexBuffer(3, C, INDICATOR_DATA);
   SetIndexBuffer(4, Color, INDICATOR_COLOR_INDEX);
   
   ArraySetAsSeries(O, true);
   ArraySetAsSeries(C, true);
   ArraySetAsSeries(Color, true);
}

int OnCalculate(
      const int bars,
      const int counted,
      const datetime& time[],
      const double& open[],
      const double& high[],
      const double& low[],
      const double& close[],
      const long& tick_volume[],
      const long& volume[],
      const int& spread[])
{
   ArrayCopy(O, open);
   ArrayCopy(H, high);
   ArrayCopy(L, low);
   ArrayCopy(C, close);
   
   int toCount = (int)MathMin(bars, bars - counted + 1);
   
   for (int i = toCount - 1; i >= 0; --i)
   {
      Color[i] = 0;
      if (C[i] > O[i]) Color[i] = 2;
      if (C[i] < O[i]) Color[i] = 1;
   }
   
   return bars;
}

Как пример пойдет. Кстати, этот индюк после компиляции не хочет грузиться.

 
TheXpert писал(а) >>

Как пример пойдет. Кстати, этот индюк после компиляции не хочет грузиться.

Я имел в виду чтобы бычья свеча была с прозрачным телом :)

Мождо конечно извернутся через DRAW_HISTOGRAM2 и заполнять цветом фона, но мне кажется что это лишняя работа, и проще это сделать на уровне разработчиков

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