Jump to content
muvingman

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

Recommended Posts

Burger
4 часа назад, DVargo сказал:

 

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

pipetc=(kopetc*100/tryndetc)

 

 

надеюсь такой формат формулы  для ...

//new_year=Open [];

for (s=0; s<=shift; s++)

if (A1 <=new_year)

....будет приемлем🎅


Z}{∆BURGER +15%

 

Share this post


Link to post
Share on other sites
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 столбце

Share this post


Link to post
Share on other sites
Burger
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());
  }

 


Z}{∆BURGER +15%

 

Share this post


Link to post
Share on other sites
DVargo
Posted (edited)

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

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

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

//+------------------------------------------------------------------+
//|                                                    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

Share this post


Link to post
Share on other sites
DVargo
Posted (edited)

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

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

 

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

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

 

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

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

Edited by DVargo

Share this post


Link to post
Share on other sites
Burger
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


Z}{∆BURGER +15%

 

Share this post


Link to post
Share on other sites
Burger
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};" теперь не нужен)


Z}{∆BURGER +15%

 

Share this post


Link to post
Share on other sites
DVargo

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

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

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

Share this post


Link to post
Share on other sites
DVargo

На эту же тему. товарища можно попытать - где исходники.

 

Share this post


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

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

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

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

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

Пока так.

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

Delta_Cros.mq4

Share this post


Link to post
Share on other sites
russcand

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

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

картинка:

http://prntscr.com/qlvr5d

индикатор:

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

Share this post


Link to post
Share on other sites
BooGUY

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

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

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

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

 

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

EURUSDH1__3.jpg

eurusdh11.jpg

 

 


Не умеешь торговать — инвестируй

Share this post


Link to post
Share on other sites
krampe

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

Share this post


Link to post
Share on other sites
krampe

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

Share this post


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

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

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

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

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

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


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

Share this post


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

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

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

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

Edited by Dedushka

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

Share this post


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

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

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

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

 

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

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

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

 

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

Share this post


Link to post
Share on other sites
Dedushka

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

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

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

 

  • Upvote 1

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

Share this post


Link to post
Share on other sites
DVargo

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

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

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

 

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

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

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

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

 

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

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

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

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

Share this post


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

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

 

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

 

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

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

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

 


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

Share this post


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

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

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

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

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

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

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

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

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

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

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

 

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

Share this post


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

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

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

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

 

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

 

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

Edited by Dedushka

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

Share this post


Link to post
Share on other sites
DVargo

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

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

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

 

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

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

Share this post


Link to post
Share on other sites
DVargo

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

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

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

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

Share this post


Link to post
Share on other sites
DVargo

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

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

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×