Jump to content

Напишу советник, скрипт, индикатор на MQL бесплатно


Capman
Message added by Capman,

Данная ветка предназначена для тех, кто ищет помощи специалистов в реализации своих торговых идей для терминала MetaTrader, а также для специалистов MQL, готовых воплощать интересные идеи трейдеров на безвозмездной основе.

 

Вот рекомендации, которым нужно следовать:

  • Идея торговой системы/индикатора/скрипта должна быть полностью описана Вами в сообщении.
  • Выкладывать декомпилированный код запрещено.
  • Программы, изготавливаемые по публичным заданиям, должны выкладываться с открытым кодом.
  • Конфиденциальность гарантируется только при заказе советника за деньги. Самым надежным способом заказа советника является сервис "Работа" от компании MetaQuotes. В этом разделе форума запрещено оставлять объявления о заказе или выполнении работ по написанию советников. Для этого используйте раздел "Реклама".
  • Если кого-либо из программистов заинтересует Ваша идея, или он просто захочет помочь, то займется написанием. Отсутствие ответов означает, что Ваша идея никого пока не заинтересовала. Повторять пост с просьбой в этом случае не нужно (такие посты нарушают правило форума 10).

Recommended Posts

Capman

продолжение.

предыдущая ветка здесь

 

 

 

 

 

 

 

 

 

Edited by Capman

«Никогда еще невежество никому не помогло!»

Карл Маркс

Link to post
Share on other sites
  • 1 year later...
  • Replies 96
  • Created
  • Last Reply

Top Posters In This Topic

  • DVargo

    24

  • Ugar68

    12

  • Dedushka

    7

  • cmillion

    6

Top Posters In This Topic

Popular Posts

Советник называется cm partial closing position 1.Советник отслеживает открытые позиции по всем или заданному инструменту. 2 При достижении указанной прибыли закрывает часть позиции. Можно у

Posted Images

mincha1979

Нужен индикатор ! При открытии индикатора появляется таблица (вертикальная )со всеми валютными парами (кроме тех у которых в числителе EUR/.... ) это 7 штук , т.е появляется 21 валютная пара - это в 1 столбце , во втором столбце идет разница в пунктах между реальной котировкой и расчитываемой т.е например для пары GBP/AUD 1.88481- реальная котировка а рассчитываемая получается из деления GBP/USD на AUD/USD = 1,32423/0,70250=1,88502 ( для всех пар считаем через доллар)и вот разница будет (1.88481-1.88502)*100000=-21 пунт - это и должно появиться в 2 столбце

Link to post
Share on other sites
Deleted_User5
31.12.2019 в 23:03, DVargo сказал:
  Показать содержимое

//+------------------------------------------------------------------+
//|                                                       Absdez.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

int tryndetc=100;

int pipetc=0;
int kopetc=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   pipetc=pipetc+1;

   kopetc=(pipetc*100/tryndetc);
   if (pipetc>tryndetc)
      {
      return;
      }
  Comment("kopetc=",kopetc);
  }
//+------------------------------------------------------------------+

double:

  Скрыть содержимое


   pipetc=pipetc+1;

   kopetc=(pipetc*100.0/tryndetc);
   if (pipetc>tryndetc)
      {
      return;
      }
  Comment("kopetc=",kopetc);
  }
//+------------------------------------------------------------------+

 

 

такой формат формулы тоже не считает kopetc=0

Только, если создаю массив из значений 1/period, а затем подставляю в формулу:

enum barOfshift 
  {
   Y7=0,     // 7-лет
   Y3=1,     // 3-года
   Y1=2,     // 1-год
   M9=3,     // 9-месяцев
   M6=4,    // 6-месяцев
   M3=5,    // 3-месяца
   M1=6,    // 1-месяц
  };

input barOfshift i=Y7;

//-------------------------------------------------------------------

double array[]={0.0004,0.0009,0.003,0.004,0.006,0.01,0.03};
  int array_time[]={2555,1095,365,270,180,90,30};

//----------------------------------------------------

 for(s=1;s<=array_time[i];s++)
  {
   double fibo=Open[s];
   double fibo_c=Close[s];
  if((fibo>=A1)&&(fibo<A)&&(fibo_c>=A1)&&(fibo_c<A))
  {
  c=c+1;
  if(c>0)
  {
  per_zone1=NormalizeDouble((c*array[i])*100,3);
  Print("Ошибка ",GetLastError());
  }

 

Link to post
Share on other sites
DVargo

Ну а где код того что не получается.

Да и что получается не все?

Скрытый текст

//+------------------------------------------------------------------+
//|                                                    ABSDEZZZZ.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   RRR();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
enum barOfshift
  {
   Y7=0,     // 7-лет
   Y3=1,     // 3-года
   Y1=2,     // 1-год
   M9=3,     // 9-месяцев
   M6=4,    // 6-месяцев
   M3=5,    // 3-месяца
   M1=6,    // 1-месяц
  };

input barOfshift i=Y7;

//-------------------------------------------------------------------

double array[]={0.0004,0.0009,0.003,0.004,0.006,0.01,0.03};
  int array_time[]={2555,1095,365,270,180,90,30};

//----------------------------------------------------


void RRR()
  {
//---
   int c=0;
   double per_zone1=0.0;
 for(int s=1;s<=array_time;s++)
  {
   double fibo=Open;
   double fibo_c=Close;
   
  // if((fibo>=A1)&&(fibo<A)&&(fibo_c>=A1)&&(fibo_c<A))
     {
     c=c+1;
     if(c>0)
        {
        per_zone1=NormalizeDouble((c*array)*100,3);
        Print("Ошибка ",GetLastError());
        }  
     }
     Print("c= ", c);
     Print("per_zone1= ", per_zone1);    
   }
  Print("END: c= ", c);
  Print("per_zone1= ", per_zone1);
//---   
  }
//----------------------------------------------------

 

Чо-то как-то подозрительно, если перемножить, то получаем единицу (100%) с округлением. array[]*int array_time[]=1;

не проще  per_zone1=NormalizeDouble((1.0*100,3);

per_zone1 -он вообще double ?

 

а где tryndetc ?

Вы в курсе что если 4/100 то равно 0?

1/2555=0.

а 1,0/2555=0,0004..........

Edited by DVargo
  • Upvote 1
Link to post
Share on other sites
DVargo

На сколько понял смысл, что бы получить

NormalizeDouble(((с*1.0)/ tryndetc *100,3);

 

То есть считаем скоко дней в интервале цена залипла между двух фиб.

Неплохая идейка, а фибки можно заменить чем угодно...

 

Вы там что кластерным анализом занялись?

7 лет в диапазоне? Ну у вас и диапазоны.

Edited by DVargo
Link to post
Share on other sites
Deleted_User5
42 минуты назад, DVargo сказал:

Ну а где код того что не получается.

Да и что получается не все?

  Скрыть содержимое


//+------------------------------------------------------------------+
enum barOfshift
  {
   Y7=0,     // 7-лет
   Y3=1,     // 3-года
   Y1=2,     // 1-год
   M9=3,     // 9-месяцев
   M6=4,    // 6-месяцев
   M3=5,    // 3-месяца
   M1=6,    // 1-месяц
  };

input barOfshift i=Y7;

//-------------------------------------------------------------------

double array[]={0.0004,0.0009,0.003,0.004,0.006,0.01,0.03};
  int array_time[]={2555,1095,365,270,180,90,30};

//----------------------------------------------------


void RRR()
  {
//---
   int c=0;
   double per_zone1=0.0;
 for(int s=1;s<=array_time;s++)
  {
   double fibo=Open;
   double fibo_c=Close;
   
  // if((fibo>=A1)&&(fibo<A)&&(fibo_c>=A1)&&(fibo_c<A))
     {
     c=c+1;
     if(c>0)
        {
        per_zone1=NormalizeDouble((c*array)*100,3);
        Print("Ошибка ",GetLastError());
        }  
     }
     Print("c= ", c);
     Print("per_zone1= ", per_zone1);    
   }
  Print("END: c= ", c);
  Print("per_zone1= ", per_zone1);
//---   
  }
//----------------------------------------------------

 

Чо-то как-то подозрительно, если перемножить, то получаем единицу (100%) с округлением. array[]*int array_time[]=1;

не проще  per_zone1=NormalizeDouble((1.0*100,3);

per_zone1 -он вообще double ?

 

а где tryndetc ?

Вы в курсе что если 4/100 то равно 0?

1/2555=0.

а 1,0/2555=0,0004..........

Вы забыли в массивы array[] и array_time[] добавить переменную barOfshift

P.S счетчик с=с+1 лучше заменить на "copy_array=CopyOpen(activ,PERIOD_D1,cur_time,time_zone_max,array_open);" 

 

33 минуты назад, DVargo сказал:

На сколько понял смысл, что бы получить

NormalizeDouble(((с*1.0)/ tryndetc *100,3);

 

То есть считаем скоко дней в интервале цена залипла между двух фиб.

Неплохая идейка, а фибки можно заменить чем угодно...

 

Вы там что кластерным анализом занялись?

7 лет в диапазоне? Ну у вас и диапазоны.

Пока пытаюсь сделать индикатор уровней фиббоначи и вероятностей их достижения по Роберту Краузу. 

FTJ14.pdf

Link to post
Share on other sites
Deleted_User5
1 час назад, DVargo сказал:

Ну а где код того что не получается.

Да и что получается не все?

  Показать содержимое

//+------------------------------------------------------------------+
//|                                                    ABSDEZZZZ.mq4 |
//|                        Copyright 2018, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   RRR();
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   
  }
//+------------------------------------------------------------------+
enum barOfshift
  {
   Y7=0,     // 7-лет
   Y3=1,     // 3-года
   Y1=2,     // 1-год
   M9=3,     // 9-месяцев
   M6=4,    // 6-месяцев
   M3=5,    // 3-месяца
   M1=6,    // 1-месяц
  };

input barOfshift i=Y7;

//-------------------------------------------------------------------

double array[]={0.0004,0.0009,0.003,0.004,0.006,0.01,0.03};
  int array_time[]={2555,1095,365,270,180,90,30};

//----------------------------------------------------


void RRR()
  {
//---
   int c=0;
   double per_zone1=0.0;
 for(int s=1;s<=array_time;s++)
  {
   double fibo=Open;
   double fibo_c=Close;
   
  // if((fibo>=A1)&&(fibo<A)&&(fibo_c>=A1)&&(fibo_c<A))
     {
     c=c+1;
     if(c>0)
        {
        per_zone1=NormalizeDouble((c*array)*100,3);
        Print("Ошибка ",GetLastError());
        }  
     }
     Print("c= ", c);
     Print("per_zone1= ", per_zone1);    
   }
  Print("END: c= ", c);
  Print("per_zone1= ", per_zone1);
//---   
  }
//----------------------------------------------------

 

 

а где tryndetc ?

Вы в курсе что если 4/100 то равно 0?

1/2555=0.

а 1,0/2555=0,0004..........

Как бы массив  "double array[]={0.0004,0.0009,0.003,0.004,0.006,0.01,0.03};" теперь не нужен)

Link to post
Share on other sites
DVargo

Эта хрень (в книге) называется кластерный анализ.

Построение профиля рынка - это то же самое, но немного по другому.

Там вместо фибоначи можно поставить 1/8, 2/8... или все что угодно (МА, RSI...)

Link to post
Share on other sites
DVargo
01.01.2020 в 13:19, mincha1979 сказал:

Нужен индикатор !

А нужен ли? и почему "!", а не "???"

2) А если котировка не прямая (GBPCAD...) -тоже умножать?

3) У цены есть значения bid / ask - вы в курсе? Точная формула с bid / ask есть?

Пока так.

Практического смысла пока не вижу, дальше лень, там много строк получается.

Delta_Cros.mq4

Link to post
Share on other sites
russcand

В подокне осцилятор. В нем 3 кривых. Надо вывести пересечения кривых на график в виде прямоугольника ( область вброса ликвидности ). Подокно убрать.

( выделить прямоугольником момент , когда в подокне красная заходит за синюю вверх и до возврата ее назад. С учетом , что красная внутри этого движения касалась желтой. Факт касания размыть путем введения параметра в настройку "недоход ( красной до желтой ) , %").
Вместо параметра "к-ва баров к отображению" ввести параметры "Старт ( начало )" и "Финиш ( окончание )".
На рисунке выделены прямоугольниками области заметного вброса ликвидности. Синий прямоугольник - закрытие свечи правой стороны выше открытия свечи левой стороны прямоугольника ( вброс на покупку ). Голубой - наоборот ( ниже , вброс на продажу ).
П.С.: индикатор нужен одним файлом.

картинка:

http://prntscr.com/qlvr5d

индикатор:

https://yadi.sk/d/4NdlSeYVfO0O8g

Link to post
Share on other sites
BooGUY

Нигде не могу найти такой вид сова, который сам задумал. Иланоподобное мракобесие затёрто до дыр.

Если кто-то напишет такой, буду благодарен. 

1) Закрывает убыточную серию попарно: первый и последний ордер. 
2) Вход сразу же, в обе стороны, при инициализации. 

3) Фильтр сопровождения, который бы не давал бы открывать много колен в резкие и большие убыточные участки. Любой, какой знаете, например МА (предложите, если ечть что-то лучше). 

 

На картинках будет понятней. 

EURUSDH1__3.jpg

eurusdh11.jpg

 

 

Link to post
Share on other sites
krampe

Здравствуйте! Есть проверенная на демо идея безиндикаторного советника на отложенных ордерах. Кто нибуть возьмется написать на mql4. Если да выложу здесь техническое задание или скину вам на почту.

Link to post
Share on other sites
krampe

Указанный советник  - без мартингейла

Link to post
Share on other sites
Ugar68
13.01.2020 в 17:33, krampe сказал:

Здравствуйте! Есть проверенная на демо идея безиндикаторного советника на отложенных ордерах. Кто нибуть возьмется написать на mql4. Если да выложу здесь техническое задание или скину вам на почту.

То есть сначала программист должен согласиться на бесплатную работу, только потом узнает что за работа?

Здесь, и вообще везде, не принято подписываться под непонятно что.

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

Хотя программистов здесь осталось не много. В принципе логично, форум для трейдеров, а не для программистов. Этот раздел не в приоритете.


Пишу советники и индикаторы по вашим алгоритмам. Пишите в личку.
Чужие программы не переделываю.

Link to post
Share on other sites
Dedushka
4 часа назад, Ugar68 сказал:

Хотя программистов здесь осталось не много. В принципе логично, форум для трейдеров, а не для программистов. Этот раздел не в приоритете.

Так разбежались прихожане, сокровища ищут... Идеалистов действительно мало, никто не хочет работать бесплатно, такие времена... Либо просто нет собственных идей для построения прибыльных торговых  стратегий, вот и приходится таким образом получать чужие идеи в обмен на бесплатный код.

А насчет "форум для трейдеров, а не для программистов" - это всего лишь вопрос времени. Почти уверен, что не умеющий программировать трейдер скоро (в обозримом будущем) станет редким явлением. К примеру, я застал бухгалтеров, работавших на счетах, а теперь бухгалтера, не владеющего 1:С, просто не возьмут на работу.

Edited by Dedushka

В бой идут одни старики. (с)

Link to post
Share on other sites
DVargo
46 минут назад, Dedushka сказал:

 К примеру, я застал бухгалтеров, работавших на счетах, а теперь бухгалтера, не владеющего 1:С, просто не возьмут на работу.

Если хороший - то возьмут и он будет выносить мозг штатному спецу по 1с или админу баз данных.

но порог рекрутера будет пройти сложно.

 

На счет трейдер-програмист вы ошибаетесь, все идет к аренде роботов,

сотня другая прогеров пишут советники и отдают инвесторам в аренду. А в целом класс самоделкиных трейдеров-програмистов вымирает. вопрос ближайших 10лет.

В будущем подобные сервисы переплюнут амазон.

 

В инвест компаниях сейчас разделение труда: квант-трейдер, квант-программист

Link to post
Share on other sites
Dedushka

Наверно мы по-разному понимаем или смотрим на предмет.

Кодер - он кодер и есть, программу по сути пишет разработчик алгоритма, остальные его просто трансформируют в форму, пригодную для компьютера. А для алгоритма нужна идея, родить ее может только трейдер  - при этом трейдер как раз и должен разбираться в программировании возможно не для самостоятельного программирования, а для изложения идеи на понятном программисту языке - языке алгоритмов. Философские вопросы о том, является ли оператор беспилотника пилотом, оставим решать будущим поколениям

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

 

  • Upvote 2

В бой идут одни старики. (с)

Link to post
Share on other sites
DVargo

Частный трейдер в будущем исчезнет как вид, останутся отдельные индивиды.

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

А вот с архитекторами и  математиками напряг, товар штучный и дорогой.

 

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

Одних русскоязычных студий под МТ и питон больше 50, и их количество скоро перейдет в качество.

Частнику победить команду становится все сложнее и сложнее.

А команды как раз за счет частников и кормятся.

 

Чтобы частнику что-то мастерить , надо в это время на что-то жить. А задача частника - сливать массово.

Мастеров переигрывающих хеджфонды  и брокеров и сейчас не сильно много. С чего их станет больше.

Вы еще скажите, что количество хакеров станет больше. Соцсети убивают все и в первую очередь качество образования.

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

Link to post
Share on other sites
Dedushka
18 минут назад, DVargo сказал:

Частный трейдер в будущем исчезнет как вид, останутся отдельные индивиды.

 

Пока число частников увеличивается, а не уменьшается.

 

Отрасли это выгодно, ибо

20 минут назад, DVargo сказал:

А задача частника - сливать массово.

 


В бой идут одни старики. (с)

Link to post
Share on other sites
DVargo
21 час назад, Dedushka сказал:

Пока число частников увеличивается, а не уменьшается.

Откуда такие сведения? Где - я их не вижу.

По количеству инвестиций в паммах этого не видно.

и количество брокеров уменьшилось.

Закредитованность населения увеличилась,

21 час назад, Dedushka сказал:

Отрасли это выгодно, ибо ( А задача частника - сливать массово. )

Что бы что-то ненужное слить, его надо вначале налить или заработать.

а с этим проблемы, охват населения в качестве инвесторов (трейдеров) предельный.

Ну еще Африка и Отдельные страны Азии.

 

Все когда-нибудь заканчивается.

Link to post
Share on other sites
Dedushka
4 часа назад, DVargo сказал:

Откуда такие сведения? Где - я их не вижу.

Уважаемый, может тебе веки приподнять? Гугл в помощь!

Например, https://inssip.ru/skolko-trejderov-v-rossii/

 

Я смотрю, любителей поспорить просто ради спора не убавляется. Или ты решил потроллить Дедушку  - не советую...

 

На этом предлагаю завершить знакомство с точками зрения друг-друга и вернуться к теме ветки.

Edited by Dedushka

В бой идут одни старики. (с)

Link to post
Share on other sites
DVargo

Веселая ссылка.

Там как минимум количество трейдеров занижено раз в 10.

И какого там метдика подсчета? и кого они трейдером считают?

 

Россия 36000, мну забыли посчитать 36001.

Да спор ни о чем - каждый останется при своем.

Link to post
Share on other sites
DVargo

Для справки - брокерские услуги на рынке форекс составляют более 200 Миллиардов долларов.

Если допустить, что 1 трейдер потратил 10К на комиссии и спреды, то это уже 20М  трейдеров.

А 10К это больше чем среднемировая зарплата в год, ну или около.

Я че-то сомневаюсь, что средний трейдер оставляет на рынке более 1К.

Link to post
Share on other sites
DVargo

С 2018 много воды утекло, люди стали беднее,  и не только у нас. В реальных зарплатах.

Рост идет в основном за счет Юго-Восточной Азии, и то за счет IT, и производства компьютерного железа.

Может быть в 2018 и был рост, но в 2019 он сильно замедлился, и возможно, начался процесс рецессии.

По определенным причинам Штаты можно не учитывать - станок и фонда, уж много туда вкачивают и надувают.

Как бы нас 2008 повторно не посетил.

Link to post
Share on other sites
  • Capman pinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...