Помогите добавить немного кода в советнике (работает по системе замок).

 

Помогите добавить немного кода в советнике (работает по системе замок).

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

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

Если кто не знает систему замок, могу описать, да и она есть на форуме.

Файлы:
 

Может быть поможет:

bool OpenNew(int magic)

 {

  bool     OpenNew=true;

  int      Orders=OrdersHistoryTotal();

  for(i=Orders; i>=0; i--)

   {

    if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))

    if(OrderSymbol()!=Symbol()) continue;

    if(OrderMagicNumber()==magic)

     {

      if(TimeDayOfYear(OrderOpenTime())>DayOfYear()-1 && TimeYear(OrderOpenTime()==Year())

       {

        OpenNew=false;

        break;

       }

     }

   }

  return(OpenNew);

 } 

  

 

Добрый день!

Большое Вам спасибо, за код.

Но одна беда, из меня "никакой" программист, пытался вставить в советник Ваш код, так он у меня с моим вмешательством, вообще работать не хочет.

Могли бы Вы советник переделать:)

Я Вам буду очень благодарен. Пожалуйста:)

 

Люди добрые, ну помогите, плис, с советником.

 

В этом массиве задаешь в какие часы разрешена работа. 0-запрещена, 1-разрешена

Часы в порядке - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23

Время серверное ! Переводить в Гринвич гемор ибо у разных брокеров часовой пояс разный.

TradeHour[24]={0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0};// Часы работы

Выше пример заполнения массива на часы работы с 8:00 до 13:00 (исключая 13:00) по серверу.

Файлы:
 
MaStak писал(а) >>

В этом массиве задаешь в какие часы разрешена работа. 0-запрещена, 1-разрешена

Часы в порядке - 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23

Время серверное ! Переводить в Гринвич гемор ибо у разных брокеров часовой пояс разный.

TradeHour[24]={0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0};// Часы работы

Выше пример заполнения массива на часы работы с 8:00 до 13:00 (исключая 13:00) по серверу.

Большое СПАСИБО тебе MaStak! Это то, что надо! Мне для тестов самый раз!

Дай БОГ тебе удачи в твоих делах!

 

ноу проблем ;)

Ознакомься с работой Ballistik`и, может поможет.

Шепнёшь потом по секрету самые прибыльные часы ;)

 

Доброе утро!!!

У меня большая просьба к тем кто разберется в советнике помогите пожалуйста добавить в этот советник немного кода надо что бы параметры Stop и Take выставлялись по разному для Stop отдельно, для Take отдельно, а то там получается что Stop и Take у них одинаковые параметры и не меняются.
Буду благодарен кто поможет.................!!!!

Файлы:
 
Точнее нужно добавить StopLoss в этот советник
 

Я не вникал в алгоритм работы.

Но мне показалось странным. Как задаются стопы в ф-и ОРДЕРСЕНД

 tiket = OrderSend(Symbol(),OP_BUY,lot[count_order],Ask,1,
NormalizeDouble(Ask - (stop+take)*Point,4),//стоплосс
NormalizeDouble(Ask + (take-spred)*Point,4),//тейкпрофит
"вверх",MNCASTEL,0,Blue);
Почему стоплосс здесь равен 
Ask - (stop+take)*Point
а ТЕЙКПРОФИТ Равен

Ask + (take-spred)*Point


Нверное было бы логичнее задать стоплосс вот так:

Ask - (stop+spred)*Point

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