Marik007
Forexman

 
Уровень 8


Группа "Стол заказов MQL"

Рейтинг 1185



РЕКОМЕНДУЮ



Просьба написать советник,На тему: "Мне нельзя показывать такие вещи! Напишу ведь!"

Обращаюсь к многоуважаемым программистам, больше к Андрею (АМ2) "-Добрейшей души человек!" Поскольку у Андрея есть подобный опыт написания советника. Написать советник по результатам торгов.
Есть история реальной торговли у 3-х реальных «западных» брокеров
rrr.PNG (28 Kb)
Вариант 1: на протяжении 8 торговых дней на паре EUR/USD.Прибыль 43%.
pr.PNG (60 Kb)pr1.PNG (57 Kb)0.1.PNG (77 Kb) 0.2.PNG (35 Kb)0.3.PNG (76 Kb)0.4.PNG (35 Kb)
0.5.PNG (83 Kb)0.6.PNG (31 Kb)0.7.PNG (79 Kb)0.8.PNG (35 Kb)0.9.PNG (75 Kb)0.10.PNG (25 Kb)
Вариант 2: Тот же «сов» мультивалютный вариант, 10 торговых дней, прибыль 98%
001.PNG (61 Kb)002.PNG (90 Kb)003.PNG (77 Kb)

Вариант 3: Тот же «сов» мультивалютный вариант, 8 торговых дней, прибыль 186%

111.PNG (76 Kb)112.PNG (73 Kb)113.PNG (77 Kb)

Лучший результат «сов» показывает на паре EUR/USD. Время сделки ~0-10 сек.(-я, думаю, что это время обработки ордера на сервере компании), и если компания не торгует против «клиента»(-их не много, но такие «брокеры» есть!)то возможно немного честно заработать.
Основное «техзадание» 1.Точность входа в сделку.(-полностью доверяю специалисту-программисту)
2.Время сделки ~0-10 сек.Исполнение ордера моментальное.
3.Все остальное, на Ваше усмотрение: размер ордера и т.д и т. п.…
Главное создать «ОСНОВУ», что бы работал, все остальное можно потом «припаять и допилить».
Очень хочется поторговать таким роботом.
--Я считаю, что если один программист придумал робота и он работает, то другой Программист может это повторить и даже сделать лучше!
  • +3
  • Просмотров: 2578
  • 25 мая 2015, 16:36
  • Marik007
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
Поправить скрипт
Следующая запись в группе  
кое что изменить в советнике
24 мая 2015
25 мая 2015

Комментарии (42)

+
0
Ссылку на мониторинг и историю сделок можно?
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 25 мая 2015, 17:21
+
0
что бы не было никакой рекламы данного ресурса, я как то сразу не подумал… Ссылку отправил в «личку»
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 25 мая 2015, 19:23
комментарий был удален 2015-05-25 19:03:07 Marik007

комментарий был удален 2017-01-07 19:50:47 Marik007

комментарий был удален 2017-01-07 19:50:57 Marik007

комментарий был удален 2017-01-07 19:51:06 Marik007

комментарий был удален 2017-01-07 19:51:17 Marik007

комментарий был удален 2017-01-07 19:51:31 Marik007

+
+1
Все понял...!*yes* 
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 25 мая 2015, 20:26
+
0
Блин Афигеть Доходность. Буду ждать хотя бы прототип советника. Как раз примерно такое хотел заказать)
avatar

  11  kipjatok001 Сообщений: 412 - Kipjatok001 Best Trader

  • 25 мая 2015, 19:31
+
0
Сплюнь три раза через левое плечо, что бы не сглазить! И Тии-и-хо, не шшш-у-ми… «Мастер» делает свое дело… *rabota* нельзя ему мешать...!8-) 
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 25 мая 2015, 20:38
+
0
Торгуем по евре. Входы скорее всего по скорости движения цены. Завтра буду расставлять сделки на графике и смогу сказать точнее. Время торгов с 9 до 20. С 15 до 17 сильно увеличенный лот. Где то в 70% случаев только одна сделка в час. Профит +-10 пипок. Время удержания позы до 60 сек. Первые впечатления такие.
Редактирован: 25 мая 2015, 21:47
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 25 мая 2015, 21:39
+
0
Андрей, спасибо! Сразу чувствуется профессиональный, грамотный и опытный подход. Вся надежда на Вас. Удачи в не легком труде! Преклоняюсь и снимаю шляпу*hi* 
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 25 мая 2015, 22:16
комментарий был удален 2015-05-27 17:23:39 Marik007

комментарий был удален 2015-05-27 17:24:06 Marik007

комментарий был удален 2015-05-27 17:24:23 Marik007

+
0
Андрей, я так понимаю это уже готовая сова? или так наброски? как это скомплировать? и главное куда? можно сделать обычным файлом для скачивания? спасибо
avatar

  7  ell75 Сообщений: 195

  • 26 мая 2015, 11:50
+
0
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 26 мая 2015, 13:06
+
0
ой Андрей. чего то какой то сливатор получается. кто его уже тестировал? у кого какие результаты, поделитесь. или я что то не то делаю. в настройках параметра пока ничего не меняла Андрей может быть чтото в нём нужно изменить? Вы его тестировали? какие у Вас были результаты?
avatar

  7  ell75 Сообщений: 195

  • 26 мая 2015, 15:38
+
0
Имхо. Если сова сливает, значить она рабочая и с точностью «на оборот» может зарабатывать… Нужно поставить (перевернуть) ее с «головы» на «ноги», всего то делов… А Вам слабо...???*relax* 
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 7 января 2017, 19:49
+
0
P.S за 2 дня слил 1т $ с 0.10 лотом и работают ордера только с 9.00 до 10.00 и без увеличения лотности с 15.00 до 17.00. в общем вот такая картина
avatar

  7  ell75 Сообщений: 195

  • 26 мая 2015, 15:43
+
0
Такая же картина, пробовала с разными настройками натуральный сливатор
avatar

  19  lorik Сообщений: 357 - Лариса

  • 26 мая 2015, 21:51
+
0
We trade at quick intervals to make promising gains in fast moving markets.

Our server network computers are located at the exchange, and our algorithms are designed to test market conditions and only execute when market conditions suit.

We trade on small and large account sizes to get exceptional results, starting from $1000 USD or equivilent.

Гугл перевод:

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

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

Мы торгуем на малых и больших размеров счета, чтобы получить исключительные результаты, начиная от $ 1000 долларов США или equivilent.

По скорости движения цены не похоже что торгует. Переносил сделки на график, тоже никакой закономерности не заметил. Если это арбитраж, то тогда по какой схеме? *think* 
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 26 мая 2015, 22:35
+
0
По поводу мониторинга: если это арбитраж, то у меня есть подборка готовой торговой системы, могу «подбросить» может от туда можно что-то взять, сам не пробовал но отзывы не однозначные!..
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 27 мая 2015, 00:04
+
0
Если сделки в основном по одной паре значит 3-я схема.

Арбитражные торговые советники – это категория торговых экспертов, в основу автоматической торговли которых заложен алгоритм, основанный на заключении арбитражных сделок. Арбитражный советник может работать на основе следующих принципов: 1. Открытие разнонаправленных сделок на коррелирующих финансовых инструментах при парной корреляции близкой к 100 процентам, и ожидание положительного общего результата. 2. Отслеживание значительных отклонений между коррелируемыми финансовыми инструментами и открытие позиции на ведомом инструменте в направлении «лидирующей» пары при высоком уровне отклонении корреляции. 3. Использование отставания в передаче котировок. Отслеживание изменения цены финансового инструмента у «быстрого» брокера и открытие сделок в терминале брокера работающего с отставанием.


avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 26 мая 2015, 22:50
комментарий был удален 2015-06-01 23:29:08 Marik007

+
+1
Переписал советник на свой лад. Нашел и поставил более эффективный алгоритм измерения скорости цены. Сейчас открывается по скорости, закрытие по стопам или по просадке или профиту на депо в валюте.

www.opentraders.ru/downloads/754/

avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 27 мая 2015, 11:29
+
0
Андрей, уточните плиз. значения некоторых переменных и их величины измерения: 1)Speed 2)Times 3)Sec
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 27 мая 2015, 16:03
+
0
2,3 не используются пока. можно убрать. Спид 500-10000 где то может быть.


extern double StopLoss     = 240; // лось
extern double TakeProfit   = 90;  // язь
extern double Loss         = 240; // лось в валюте
extern double Profit       = 900; // язь  в валюте
extern double StartHour    = 9;   // начало торговли
extern double EndHour      = 22;  // окончание торговли
extern double Speed        = 90;  // скорость изменения цены
extern double Lots         = 1;   // лот
extern int    Slip         = 20;  // проскальзывание

Редактирован: 27 мая 2015, 19:57
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 27 мая 2015, 19:56
+
0
avatar

  13  Krokus377 Сообщений: 167 - Андрей

  • 27 мая 2015, 10:45
+
0
Андрей, огромное спасибо за Ваш труд!*hi*  Продолжаю тесты на «демо». Есть некоторые пожелания, если можно?:

1)Нужно, что бы «сов» ловил начало быстрой свечи. А получается, что ордер ставится когда свеча прошла свой путь… хоть и быстрый. «Спид»-больше или меньше влияет только (в основном ) на количество сделок но не на «качество».Вот примеры (все скрины на одной (спид)скорости):

Возможно, надо подкрепить сигнал каким то индикатором(фильтром) или осциллятором, например «ROC»- он как раз в эту «тему»… Посмотрите плз. И вывести в настройки (вкл/выкл), а также переменную его периода и тайм фрейма(TF)
//+------------------------------------------------------------------+
//|                                                          ROC.mq4 |
//|                                    Copyright © 2006, Robert Hill |
//+------------------------------------------------------------------+

#property  copyright "Copyright © 2006, Robert Hill"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 1
#property  indicator_color1  Red
//---- indicator parameters
extern int RPeriod = 12;
extern bool UsePercent = false;
//---- indicator buffers
double RateOfChange[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle(0, DRAW_LINE);
   SetIndexDrawBegin(0, RPeriod);
   IndicatorDigits(Digits + 1);
//---- indicator buffers mapping
   SetIndexBuffer(0, RateOfChange);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("ROC(" + RPeriod + ")");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   double ROC, CurrentClose, PrevClose;
   int counted_bars = IndicatorCounted();
//---- check for possible errors
   if(counted_bars < 0) 
       return(-1);
//---- last counted bar will be recounted
   if(counted_bars > 0) 
       counted_bars--;
   limit = Bars - counted_bars + RPeriod;
//---- ROC calculation
   for(int i = 0; i < limit; i++)
     {
       CurrentClose = iClose(NULL, 0, i);
       PrevClose = iClose(NULL, 0, i + RPeriod);
       ROC = CurrentClose - PrevClose;
       //----
       if(UsePercent)
         {
           if(PrevClose != 0)
               RateOfChange[i] = 100 * ROC / PrevClose;
         }
       else
           RateOfChange[i] = ROC;
     }   
//---- done
   return(0);
  }
//+------------------------------------------------------------------+

--А может быть у Вас есть свое «решение» данной проблемы...--Я Вам полностью доверяю!
А также:
2) Обязательно нужен «магик» номер в настройках!

3)Функция: «Время торговли», почему то не работает,(торгует круглосуточно, причем я заметил, это замечание также в некоторых других «топиках»)*???* 

Ну вот это основные просьбы.
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 1 июня 2015, 23:23
+
0
3)Функция: «Время торговли», почему то не работает,(торгует круглосуточно, причем я заметил, это замечание также в некоторых других «топиках») 


Вот так торговать по времени наверное будет точнее :) 

//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 29.04.2009                                                     |
//|  Описание : Возвращает флаг разрешения торговли по времени.                |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    TimeBegin - время начала торговли         (ЧЧ:ММ)                       |
//|    TimeEnd   - время окончания торговли      (ЧЧ:ММ)                       |
//+----------------------------------------------------------------------------+
bool isTradeTimeString(string TimeBegin="00:00",string TimeEnd="00:00")
  {
   datetime dtBegin, dtEnd;        // Время начала и окончания работы
   int      hc, he;                // Часы текущего времени и окончания работы

   dtBegin=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeBegin);
   dtEnd  =StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+TimeEnd);
   hc     =TimeHour(TimeCurrent());
   he     =TimeHour(dtEnd);
   if(dtBegin>=dtEnd)
     {
      if(hc>=he) dtEnd+=24*60*60; else dtBegin-=24*60*60;
     }

   if(TimeCurrent()>=dtBegin && TimeCurrent()<=dtEnd) return(True);
   else return(False);
  }
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 2 июня 2015, 10:27
+
0
Можно проще —
extern int StartHour = 0; //Час начала торговли(терминальное время)
extern int StopHour = 24; //Час окончания торговли(терминальное время)

if(Hour()>=StartHour && Hour()<StopHour)

, тоже работает!...*good* 
Если нужно два или более промежутков времени, добавляем в параметры, тогда должно получиться примерно так:
if((Hour()>=StartHour && Hour()<=StopHour) || 
(Hour()>=StartHour1 && Hour()<StopHour1))

Я надеюсь Вы меня поняли!?...*think* 
Редактирован: 2 июня 2015, 14:18
avatar

  10  Andrju81 Сообщений: 127 - Андрей

  • 2 июня 2015, 12:15
+
0
Вы в условии не учли, если пользователь захочет торговать с 19-00 до 5-00.
Надо все моменты просчитывать.
avatar

  19  Oxy Сообщений: 3061 - ..ιllιlι.lι.ιllι.ιlι..

  • 2 июня 2015, 13:37
+
0
Это я привел общий пример! Если относительно Вашего случая, то картинка будет выглядеть так:
extern int StartHour1 = 19; //Первый час начала торговли
extern int StopHour1 = 24; //Первый час окончания торговли
extern int StartHour2 = 0; //Второй час начала торговли
extern int StopHour2 = 5; //Второй час окончания торговли

if((Hour()>=StartHour1 && Hour()<StopHour1) || 
(Hour()>=StartHour2 && Hour()<StopHour2))

Если нужно, можно еще добавить!?.. Или Вы со мной не согласны?!..
Редактирован: 2 июня 2015, 14:16
avatar

  10  Andrju81 Сообщений: 127 - Андрей

  • 2 июня 2015, 13:56
+
0
Я не про два периода писала. А про одно. Пользователь может захотеть настроить период как с 7-00 до 20-00, так и с 19-00 до 5-00. Когда программируешь, надо стараться все предусмотреть.
С вашим кодом if(Hour()>=StartHour && Hour()<StopHour) сделки не будут открываться с 19-00 до 5-00.

Пример реализации.

У нас условие, если StartHour==EndHour, то нет ограничения по времени

extern int    StartHour              = 7;
extern int    EndHour                = 20;
int OnInit()
{
  if (StartHour<0 || EndHour<0 || StartHour>23 || EndHour>23) { Print("Некорректно задано время"); return(INIT_FAILED);}  
}
void OnTick()
{
  bool TimeOpenPosition=true;
  // открытие позиции в промежутке времени между StartHour и EndHour
  if(StartHour!=EndHour) {
    if(EndHour>StartHour) {
      TimeOpenPosition=false;
      if(Hour()>=StartHour && Hour()<EndHour) TimeOpenPosition=true;
    }
    if(EndHour<StartHour) {
      TimeOpenPosition=false;
      if((Hour()>=StartHour) || (EndHour!=0 && Hour()>=0 && Hour()<EndHour)) TimeOpenPosition=true;
    }
  }
  if(TimeOpenPosition==false) return;
  // дальше идут условия на открытие позиций
}
avatar

  19  Oxy Сообщений: 3061 - ..ιllιlι.lι.ιllι.ιlι..

  • 2 июня 2015, 14:31
+
0
Ну!!! Я не такой спец как Вы!?.. Я пытаюсь как можно больше упростить код для себя, его логическую основу!.. А свой код выше исправил — поторопился с добавлением, скобки пропустил, теперь будут открываться сделки с 19:00 до 5(если быть точнее, то до 4:59:59 включительно)…
А в принципе — какая разница!?.. Я всего лишь предложил свой вариант, а применять его или нет, это уже на Ваше усмотрение.
avatar

  10  Andrju81 Сообщений: 127 - Андрей

  • 2 июня 2015, 15:03
+
0
Я так и делал раньше. Но мне часто писали что в тестере это работает, а на реале нет.
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 2 июня 2015, 15:05
+
0
Я не поняла, кого вы закомментировали Андрей. Поэтому отвечу :) 
Свой код использовала и на демо и на реале.
avatar

  19  Oxy Сообщений: 3061 - ..ιllιlι.lι.ιllι.ιlι..

  • 2 июня 2015, 15:10
+
0
Благодарю буду иметь ввиду.
avatar

  26  AM2 Сообщений: 6777 - Андрей

  • 2 июня 2015, 15:13
+
0
там просто картинки, выложите советник или ссылку на файл
avatar

  9  igrun Сообщений: 220 - igrun

  • 9 января 2017, 12:23
+
0
Спасибо за оперативность! А, что по поводу 1)и2) пунктов просьбы?
avatar

  8  Marik007 Автор Сообщений: 96 - Forexman

  • 2 июня 2015, 11:09

Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий
Начать торговлю с Альпари

 
Как начать: открываем первую торговую сделку за 7 шагов →