Старая идея. Нужен Советник.

 

Buy EUR\USD - 1 лот

Buy GBP\USD - 1 лот

Buy USD\CHF - 2 лота

Можно ли сделать советника, который открывал ежедневно сделки по выше приведенному примеру и закрывал бы их при достижении суммарного профита в 50 пунктов.

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

 
Это имеется ввиду покупать ежедневно 1 лот EURCHF и 1 лот GBPCHF а потом ждать, когда они оба дадут плюс 50 пунктов. Пункты в какой валюте, уважаемый? А если франк обвалится пуков на 100, по обеим получим нормального лося, и забудем о такой стратегии как о страшном сне.
 
Я как понимаю, здесь действует зеркальная привязка евро к свисси и прямая евро и фунта. Если евро идет вверх, тянет за собой фунт, свисси падаетт, но и из-за не равномерности движения ( свиссии порой зависает, в то время как евро и фунт активно двигаются) и получается профит. тоже самое для обратного движения. Программировать не умею, но есть выделенный сервак. Если будет советник поставлю на пару месяцев, проверить.
 
Bobobog:

Buy EUR\USD - 1 лот

Buy GBP\USD - 1 лот

Buy USD\CHF - 2 лота

Можно ли сделать советника, который открывал ежедневно сделки по выше приведенному примеру и закрывал бы их при достижении суммарного профита в 50 пунктов.

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

Три вопроса:

Когда именно открывать сделки (в какое время)?

Всегда ли BUY?

Что со StopLoss?

---

Ответите на них - попробую накидать..

 

В 9 по Мск. или добавить функцию чтобы можно было выставлять время по желанию.

В BUY всегда.

StopLoss не знаю ( либо фиксация по достижению определенного суммарного минуса в пунктах, либо суммарного убытка в процентах от депозита.

 

Вот советник. Открывает только одну серию в день. Он только для теста на демо. На реальную торговлю ставить категорически запрещается, так как функции в нём не предвидят сложностей онлайн торговли!!!

Если хотите изменить параметр - выключите автоторговлю, измените параметр, включите автоторговлю. Иначе он закроет все позиции и откроет заново.

Комментарии по советнику:

Lot - думаю, это и ежу понятно что такое; :) У третьего инструмента Lot*2, как заказывали.

S1, S2, S3 - названия инструментов, советник автоматически ставит верхний регистр. Так что, в терминале пары должны иметь ВЕРХНИЙ РЕГИСТР;

Profit = 50 - после профита на эту величину в валюте депозита советник закрывает все позиции, ждёт следующего дня и разрешенного часа торговли;
Stop = 50 - после лосса на эту величину в валюте депозита советник закрывает все позиции, ждёт следующего дня и разрешенного часа торговли.

---

Если будут вопросы или предложения - обращайтесь.

p.s. для общего доступа только компилированный файл.

Файлы:
 
Спасибо за оперативность! Будем тестить.
 
Cmu4:

Вот советник. Открывает только одну серию в день. Он только для теста на демо. На реальную торговлю ставить категорически запрещается, так как функции в нём не предвидят сложностей онлайн торговли!!!

Если хотите изменить параметр - выключите автоторговлю, измените параметр, включите автоторговлю. Иначе он закроет все позиции и откроет заново.

Комментарии по советнику:

Lot - думаю, это и ежу понятно что такое; :) У третьего инструмента Lot*2, как заказывали.

S1, S2, S3 - названия инструментов, советник автоматически ставит верхний регистр. Так что, в терминале пары должны иметь ВЕРХНИЙ РЕГИСТР;

Profit = 50 - после профита на эту величину в валюте депозита советник закрывает все позиции, ждёт следующего дня и разрешенного часа торговли;
Stop = 50 - после лосса на эту величину в валюте депозита советник закрывает все позиции, ждёт следующего дня и разрешенного часа торговли.

---

Если будут вопросы или предложения - обращайтесь.

p.s. для общего доступа только компилированный файл.


Нужно задействовать MagicNumber. При установке не свои ордера удаляет, а вот свои не ставит.
 
khorosh:
Нужно задействовать MagicNumber. При установке не свои ордера удаляет, а вот свои не ставит.
Ордера открылись, но с задержкой на 1 час.
 
khorosh:
Нужно задействовать MagicNumber. При установке не свои ордера удаляет, а вот свои не ставит.


Это простая болванка. О Magic разговора не было. Тем более, это не поможет, т.к. идёт сравнение эквити счёта до открытия и после. Так что нужно будет ещё и это переписывать. А это пол советника заново... Может проще для него выделить терминал и пусть он там один кувыркается-тестируется (как автор и говорил, в общем-то)?

Но если будет время - сделаю.

Ордера открылись, но с задержкой на 1 час.

Да, проверку BeginHour подправил. Было >, стало >=.
Файлы:
 
Cmu4:


Тем более, это не поможет, т.к. идёт сравнение эквити счёта до открытия и после. Так что нужно будет ещё и это переписывать. А это пол советника заново... Может проще для него выделить терминал и пусть он там один кувыркается-тестируется (как автор и говорил, в общем-то)?

Но если будет время - сделаю.

Да, проверку BeginHour подправил. Было >, стало >=.

Ничего сложного. Есть же функция у Кима с магиком.

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 19.02.2008                                                     |
//|  Описание : Возвращает суммарный профит открытых позиций в валюте депозита |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|    op - операция                   (-1   - любая позиция)                  |
//|    mn - MagicNumber                (-1   - любой магик)                    |
//+----------------------------------------------------------------------------+
double GetProfitOpenPosInCurrency(string sy="", int op=-1, int mn=-1) {
  double p=0;
  int    i, k=OrdersTotal();

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if ((OrderSymbol()==sy || sy=="") && (op<0 || OrderType()==op)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (mn<0 || OrderMagicNumber()==mn) {
            p+=OrderProfit()+OrderCommission()+OrderSwap();
          }
        }
      }
    }
  }
  return(p);
}
Причина обращения: