Кто может взяться переделать следующий код в формате Метастока
под МТ? x:=Input("X",0,10,0.04); y:=Input("Y",0,10,0.9); d:=Input("D",0,10,
0.1); a:=If(Cum(1)=1,C,PREV*(1-x)+C*x); b:=If(Cum(1)=1,C,PREV*(1-y)+C*y); a:=a*(d-x); b:=b*(d-y); top:=b-a; cl:=top/(x-y);
cl; Может кому- нибудь тоже понадобится такая штука для собственных
разработок...
- Спреды - Для продвинутых пользователей - Торговые операции
- Горячие клавиши - Рабочая область
- Запуск платформы - Для продвинутых пользователей - Начало работы
Могу взяться.
Был бы очень признателен! Поделился бы кое- какими мыслями ;)
a:=If(Cum(1)=1,C,PREV*(1-x)+C*x); -- это скользящая средняя EMA
Ниже код вычислений, проверки и оформление индикатора сами напишите ..
Ниже код вычислений, проверки и оформление индикатора сами напишите ..
........... extern double x = 0.04; extern double y = 0.9; extern double d = 0.1; double Buf[]; int Lx = 2./x - 1.; int Ly = 2./y - 1.; ............. for (int i = .....) { double a = iMA(NULL,0,Lx,0,MODE_EMA,PRICE_CLOSE,i)*(d - x); double b = iMA(NULL,0,Ly,0,MODE_EMA,PRICE_CLOSE,i)*(d - y); double top = b - a; double cl = top/(x - y); Buf[i] = cl; }
Ндаа! Написал бы сам, так ведь языка не знаю... Метасток для меня-
предел возможностей. Да и с ним-то нелады порой...:(
nikkola:
Ндаа! Написал бы сам, так ведь языка не знаю... Метасток для меня- предел возможностей. Да и с ним-то нелады порой...:(
Ндаа! Написал бы сам, так ведь языка не знаю... Метасток для меня- предел возможностей. Да и с ним-то нелады порой...:(
Примерно так
//+------------------------------------------------------------------+ //| @nikkola.mq4 | //| Copyright © 2006, Yuri Makarov | //| http://www.may.nnov.ru/mak | //+------------------------------------------------------------------+ #property copyright "Copyright © 2006, Yuri Makarov" #property link "http://www.may.nnov.ru/mak" #property indicator_separate_window #property indicator_color1 Blue extern double x = 0.04; extern double y = 0.9; extern double d = 0.1; double Buf[]; int Lx = 1; int Ly = 1; int init() { if (x <= 0 || x >= 1) Alert("x <= 0 || x >= 1"); if (y <= 0 || y >= 1) Alert("y <= 0 || y >= 1"); if (x == y) Alert("x == y"); Lx = 2./x - 1.; Ly = 2./y - 1.; SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0,Buf); } int deinit(){} int start() { int CountedBars=IndicatorCounted(); int limit = Bars - CountedBars - 1; for (int i = limit; i >= 0; i --) { double a = iMA(NULL,0,Lx,0,MODE_EMA,PRICE_CLOSE,i)*(d - x); double b = iMA(NULL,0,Ly,0,MODE_EMA,PRICE_CLOSE,i)*(d - y); double top = b - a; double cl = top/(x - y); Buf[i] = cl; } }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь