[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 590

 
alsu:

ничего страшного.

попробуйте заомментировать /* */ кусок кода из простого эксперта, а Total заменить на orders_total - переменную, которую мы объявили сами.

Закомментил // Учёт ордеров, Total заменил на orders_total - ордера вообще перестали выставляться.

P. S. А по Стопу можно открывать ордера в МТ?

Может тип ордеров поменять в условии или само условие (ask и bid уже пробовал)?

   if (High[0] >= BT)                       // Если разница между
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
   if (Low[0] <= ST)                       // Если разница между
     {                                          // 
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }
 
Craft:

Закомментил // Учёт ордеров, Total заменил на orders_total - ордера вообще перестали выставляться.

P. S. А по Стопу можно открывать ордера в МТ?

Может тип ордеров поменять в условии или само условие (ask и bid уже пробовал)?

уже начинаю путаться. можете выложить код советника целиком?
 

Не вопрос.

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

Файлы:
12.mq4  14 kb
 

в строке

BT = Open[0] + Open[0]*iMAOnArray(MyATR[i],0,PerB,0,MODE_SMA,0);

индекс [i] лишний. После правки:


Файлы:
test.mq4  14 kb
 
alsu:После правки:


еще кое-что осталось. поскольку на данном тике ордера закрываются раньше, чем открываются новые, следует еще проанализировать и историю закрытых ордеров.

исправленное в аттаче. Вот теперь красота:)

Файлы:
test_1.mq4  14 kb
 

Ради интереса, потестил test_1 с 1 мая по 28 мая этого года и хочу сказать, что без логики это эксперт работает гораздо лучше тех многих экспертов в которых есть УЙМА логики =)))


 

Помогите решить задачу

делаю выборку по всем закрытым позициям

for (int i=0; i<OrdersHistoryTotal(); i++)// По всем ордерам терминала
if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)==true)

после фильтрую по магическому номеру

if (OrderMagicNumber()==12)

фильтр удовлетворяет 3 позициям, а мне нужна только последняя закрытая

не могу понять как оставить только последнею?

Спасибо

 
Noterday:

Ради интереса, потестил test_1 с 1 мая по 28 мая этого года и хочу сказать, что без логики это эксперт работает гораздо лучше тех многих экспертов в которых есть УЙМА логики =)))

)))) Спасибо, Noterday.

Отдельное спасибо, alsu.

 

Кто-нибудь пользовался программой Gannzilla ?

И каковы успехи?

 
alsu:

еще кое-что осталось. поскольку на данном тике ордера закрываются раньше, чем открываются новые, следует еще проанализировать и историю закрытых ордеров.

исправленное в аттаче. Вот теперь красота:)

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


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