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

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

Я вставлял с одной стороны сбор статистики, а с другой стороны сканирование по передаваемым параметрам (например, сканирование по периоду машки) с целью поиска максимума по статистике, а рескан периодически запускал назначенной горячей клавишей. Какие ещё способы существуют?

Кстати, из юмора

#property indicator_chart_window
void start(){
   if(Bid>Ask) Alert("Это конец света");
   return;
}

  - индикатор конца света.

 

Всем привет!

Тестирую стратегию,которая предполагает открытие рыночного ордера на открытии

каждой пятиминутной свечи.

Некоторые ордера тестер (МТ-4 от Альпари)не открывает и выдает ошибку 148.

Эта ошибка связана с превышением лимита одновременно открытых ордеров.

В реале открываться на каждой пятиминутке я не собираюсь.

ВОПРОС.Как можно убрать какой бы то ни было лимит одновременно открытых ордеров

в тестере?

Спасибо.

 

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

 
borilunad:
Виктор, ну как же без экстернов, нужно ведь отладить в тестере, в демо! Неужели пишешь так, что ничего править не надо? Согласен, что стабильность нужна твоей ТС, но параметры невозможно не подкручивать, если, конечно, сам рынок тебе их не подкручивает, т.с. запрограммировал с обратной связью! Тогда уже ты классный ас! Поздравляю!


Не то что бы, просто у меня, всё что я пишу почти не имеет оптимизационных параметров. Мне больше по душе именно стратегии основанные на price action индюки по тиху штудирую, чтоб просто уметь с ними работать. НО они меня интересуют лишь для визуала того, что происходит.

А оптить параметры, это подгон под рынок. А подгонь под канкретый отрезок времени, это панацея??? 

 
cursed:

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


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

Иначе, идёт сравнение с ценой закрытия бара вне перебора, а значит и результата нет.. 

 
hoz:

... А оптить параметры, это подгон под рынок. А подгонь под канкретый отрезок времени, это панацея??? 

Да, если этот отрезок времени - RealTime. :)
 
Zhunko:

Виктор, у Вас в функции очень много переменных и ни одна не объявлена.

Компилятор же сообщил:

variable not defined

Переменная не объявлена. Таких 18 штук.


 Вадим, я то вижу что не объявлены. Думал я некоторое время над этим. Сверху у Вас не объявлено глобально ни одной переменной так же, как и у меня. Но при компиляции ошибок НЕТ! Я так понял, что у Вас все переменные определены через параметры функций в инклюде, верно?

 
tara:
Да, если этот отрезок времени - RealTime. :)


Это уже не подгонъ, это типа автоподгонъ :)
 
hoz:


 Вадим, я то вижу что не объявлены. Думал я некоторое время над этим. Сверху у Вас не объявлено глобально ни одной переменной так же, как и у меня. Но при компиляции ошибок НЕТ! Я так понял, что у Вас все переменные определены через параметры функций в инклюде, верно?

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

Судя по конструкции функции, она узкоспециальная. Зачем её выносить в библиотеку? Тем более, что она, наверняка, будет вызываться в цикле на каждом баре.

Вы что-то про скорость и оптимизацию говорили. Вы создаёте очень тормозной код. В MQL4 не надо помещать функции в цикле. Чем меньше вызовов функций в цикле, тем быстрее работает код.

Так вот же функция с библиотеки:

//+-------------------------------------------------------------------------------------+
//| Получаем машку с заданными параметрами                                              |
//+-------------------------------------------------------------------------------------+
double GetMA(int typeOfMA)
{
   switch (typeOfMA)
   {
      case 1:      return (iMA(NULL, i_fastMATF, i_fastMAPeriod, i_fastMAShift, i_fastMAMethod, i_fastMAApplied, i_fastMAIndex));
      case 2:      return (iMA(NULL, i_slowMATF, i_slowMAPeriod, i_slowMAShift, i_slowMAMethod, i_slowMAApplied, i_slowMAIndex));
      case 3:      return (iMA(NULL, i_filtrMATF, i_filtrMAPeriod, i_filtrMAShift, i_filtrMAMethod, i_filtrMAApplied, i_filtrMAIndex));
   }
}

Вадим, про функции в цикле  Вы имеете ввиду, то что возвращает оператор switch машку? Но я же не получаю значения по всему количеству переменных цикла. Там лишь сравнивается тип получаемой машки (входной переменная функции) и потом рассчитывается значение машки. Выходит, что дополнительных расчётов то нет. Тока выбор типа машки и всё! Хочу понять, что Вы имеете в виду, под:

Zhunko:

В MQL4 не надо помещать функции в цикле. Чем меньше вызовов функций в цикле, тем быстрее работает код.

Можно пояснить?
Причина обращения: