Вместо 10*Point воспользуйся значением индикатора ATR. Не идеально,
но все же лучше.
Integer:
Вместо 10*Point воспользуйся значением индикатора ATR. Не идеально, но все же лучше.
Тогда они будут на каждом баре скакать в зависимости от ATR. :)
Вместо 10*Point воспользуйся значением индикатора ATR. Не идеально, но все же лучше.
ATR можно считать по большому периоду.
Mak:
ATR можно считать по большому периоду.
И как это будет сказываться на МАСШТАБЕ графика? Ведь суть-то в том что при малом масштабе пипсы помельче выглядят (большой диапазон, баров помещается), а при большом масштабе пипсы визуально крупнее (мало баров влазит), соответственно и символы фракталов либо ближе к барам, либо дальше и тут хоть в пипсах отступ хоть в "ATR-ах" один фиг символы ближе/дальше прыгают. Как я понял вопрос именно в этом был.
ATR можно считать по большому периоду.
//+------------------------------------------------------------------+ //| i-Signals_Enter.mq4 | //| Ким Игорь В. aka KimIV | //| http://www.kimiv.ru | //| | //| 15.12.2005 Translaned from MT3 by KimIV. | //+------------------------------------------------------------------+ #property copyright "Ким Игорь В. aka KimIV" #property link "http://www.kimiv.ru" #property indicator_chart_window #property indicator_buffers 2 #property indicator_color1 Orange #property indicator_color2 Red //------- Внешние параметры индикатора ------------------------------- extern int NumberOfBars = 1000; extern int HPeriod = 10; extern int LPeriod = 40; //------- Глобальные переменные индикатора --------------------------- int ArrowInterval; //------- Буферы индикатора ------------------------------------------ double buf0[]; double buf1[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { SetIndexBuffer(0, buf0); SetIndexStyle (0, DRAW_ARROW); SetIndexArrow (0, 241); SetIndexEmptyValue(0, EMPTY_VALUE); SetIndexBuffer(1, buf1); SetIndexStyle (1, DRAW_ARROW); SetIndexArrow (1, 242); SetIndexEmptyValue(1, EMPTY_VALUE); ArrowInterval=GetArrowInterval(); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void start() { double ms[2]; int LoopBegin, sh; if (NumberOfBars==0) LoopBegin=Bars-41; else LoopBegin=NumberOfBars-41; LoopBegin=MathMin(Bars-41, LoopBegin); for (sh=1; sh<=LoopBegin; sh++) { ms[0]=EMPTY_VALUE; ms[1]=EMPTY_VALUE; GetSignals(sh, ms); buf0[sh]=ms[0]; buf1[sh]=ms[1]; } } //+------------------------------------------------------------------+ //| Формирует и возвращает ссигналы | //+------------------------------------------------------------------+ void GetSignals(int sh, double& ms[]) { double ema10=iMA(NULL, 0, HPeriod, 0, MODE_EMA, PRICE_CLOSE, sh); double ema20=iMA(NULL, 0, LPeriod, 0, MODE_EMA, PRICE_CLOSE, sh); double ema11=iMA(NULL, 0, HPeriod, 0, MODE_EMA, PRICE_CLOSE, sh-1); double ema21=iMA(NULL, 0, LPeriod, 0, MODE_EMA, PRICE_CLOSE, sh-1); if (ema10<ema20 && ema11>ema21) ms[0]=Low[sh]-ArrowInterval*Point; if (ema10>ema20 && ema11<ema21) ms[1]=High[sh]+ArrowInterval*Point; } //+------------------------------------------------------------------+ //| Возвращает интервал установки сигнальных указателей | //+------------------------------------------------------------------+ int GetArrowInterval() { int p=Period(); switch (p) { case 1: return(3); case 5: return(5); case 15: return(8); case 30: return(12); case 60: return(17); case 240: return(25); case 1440: return(50); case 10080: return(100); case 43200: return(200); } } //+------------------------------------------------------------------+
Спасибо за ответы ;)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Я делаю типа ...=High[i]+10*Point
на картинке видно, как фракталы летают (