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

 
rlx:


Спасибо!
 
demlin:
Спасибо!


Наверно для оптимизации расчета можно по другому проверять историю ордеров

///// Есть некий массив торгуемых инстурментов
string symbolfotrade[] = {"EURUSD", .........}
///// Массив флагов
bool isTradedClosed[] = {false, .....}
bool isTradedOpen[]   = {false, .....}
//// Общая переменная
bool isAllTraded = false;
int  isTradedCount = 0;
int  HistRegistr = 0; //// 
start()
  {
   symbfotradeCount = ArraySize(symbolfotrade);
   вначале перебор закрытых ордеров. С конца в начало
   if (!isAllTraded)
     {
      Перебор закрытых ордеров  с начала в конец 
      int totalHistory = OrdersHistoryTotal();
      for(HistRegistr = HistRegistr; HistRegistr < totalHistory; HistRegistr++)
        {
          символ = OrderSymbol();
          Перебор массива торгуемых инструментов
          for(int i = 0; i < symbfotradeCount; i++)
            {
             if (isTradedClosed[i]) continue;
              Если (символ равен symbolfotrade[i]) то {isTradedClosed[i] = true; isTradedCount++; break}
            } 

        }
      Если isTradedCount==symbfotradeCount то  isAllTraded = true; ///// Чтобы не лазать по массивам
     }
Т.е сделать проверку только по вновь закрывшимся ордерам. Тем самым не будет перебор уже проверенных закрытых ордеров.
 
сколько надо мощности компа или памяти ОЗУ чтобы советник успевал обрабатывать информацию и работать на 52парах без каких либо проблем? и вообще на одну пару какие требования нужны чтобы советник работал независая?
 
demlin:

А как оптимизируете параметры мультивалютника? В тестере MT4 ведь нет возможности сразу несколько инструментов тестировать... Я думаю над мультивалютником и пока пришёл к тому, что параметры оптимизируются на каждом инструменте по отдельности, а для торговли потом все эти параметры переносить в эксперт, который предназначен для мультивалютного режима.

Я в правильном направлении двигаюсь или всё проще на самом деле?)))

В mql5 это всё можно реализовать в одном эксперте сразу и для тестов и для торговли, но я пока решил mql4 изучить.

Просто размышляя на эту тему я подумал, если нельзя протестировать несколько инструментов сразу, зачем тогда в один эксперт всё городить, если можно на каждый график инструмента просто установить свою копию и будет тоже самое. Хотелось бы услышать мнения членов сообщества.)))

 

Помогите новичку, пишу советника, использую функции от KimIV, сначала были ошибки от них вроде избавился с помощью коментариев в его ветке, так теперь появились предупреждения, не могу понять как сделать чтобы при компиляции всё было гладко, подскажите что означают предупреждения

Function ......... is not referenced and will be removed...

 
ara66676:

Помогите новичку, пишу советника, использую функции от KimIV, сначала были ошибки от них вроде избавился с помощью коментариев в его ветке, так теперь появились предупреждения, не могу понять как сделать чтобы при компиляции всё было гладко, подскажите что означают предупреждения

Function ......... is not referenced and will be removed...


Это означает, что эта функция нигде не используется.))

Дабл-кликните на этом сообщении и MetaEditor покажет, где она находится. Можете её либо удалить либо закомментировать /* */.

 
tol64:


Это означает, что эта функция нигде не используется.))

Дабл-кликните на этом сообщении и MetaEditor покажет, где она находится. Можете её либо удалить либо закомментировать /* */.

Или вообще не трогать. Будете переделывать советник, может пригодится.
А еще лучше подцепите сразу все функции Кима в виде библиотек и используйте любые, какие заблагорассудится.

Все функции Кима в виде подключаемых библиотек.
 
Def:

Подскажите, пожалуйста, как задать открытие позиции после определенного количества баров прошедших после пересечения скажем с МА?

Например, цена закрылась за МА. Я выжидаю следующий бар, и если он того же цвета и не доджи, то открываю позицию.

Получается моя свеча на открытие - третья.

Пример, в прикрепленном файле.

Спасибо.


double mashka=iMA(.....,3);

if(Close[3]>Open[3]&&Close[3]>mashka&&mashka>Open[3]&&Ваше условие)....

 
ребята, не подскажете скрипт который считает прибыль открытых позиций по определенному magik numberу, то есть хочу на одной валютной паре выставить две сетки ордеров с противоположными ордерами, и вручную с этим хозяйством справиться не могу.
 
zelek:
ребята, не подскажете скрипт который считает прибыль открытых позиций по определенному magik numberу, то есть хочу на одной валютной паре выставить две сетки ордеров с противоположными ордерами, и вручную с этим хозяйством справиться не могу.

double CurrentProfit() {
    double profit=0; 
    for (int i=OrdersTotal()-1; i>=0; i--){
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
        if(OrderSymbol()==Symbol()){
          if(OrderMagicNumber()==Magic) profit+=OrderProfit()+OrderSwap()+OrderCommission();
     } } }
return(profit);} 
Причина обращения: