очень нужно переписать DT-ZigZag-Lauer Separate под ФТ

Индикаторы, написанные участниками форума. Делимся своими наработками.
Ответить
Сообщение
Автор
Amadey
Сообщения: 4
Зарегистрирован: Сб июн 23, 2012 2:15 am
Откуда: 22

очень нужно переписать DT-ZigZag-Lauer Separate под ФТ

#1 Сообщение Amadey » Сб июн 23, 2012 2:42 am

Нужен спец ! потому как индикатор основан на зигзаге а это всё усложняет.
К кому не обращался все соглашаются переписать индикатор, а когда начинают копаться в коде, бросают, говорят что индюки на основе зиг зага слишком "геморные"

Тестил на демо, показывает отличные результаты несмотря на свой главный недостаток- перерисовывает свои данные

невозможно полностью протестить на демо так как отнимает оч. много времени

Оч. нужно переписать его под Форекс тестер... за деньги естественно!

Amadey
Сообщения: 4
Зарегистрирован: Сб июн 23, 2012 2:15 am
Откуда: 22

Исходный код DT-ZigZag-Lauer Separate

#2 Сообщение Amadey » Сб июн 23, 2012 2:49 am

Не смог прикрепить, потому выкладываю исходный код индикатора


//+------------------------------------------------------------------+
//| DT-ZigZag-Lauer.mq4 |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2005, klot"
#property link "klot@mail.ru"

#property indicator_separate_window
#property indicator_maximum -1
#property indicator_minimum -1
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
//---- input parameters
extern int depth=5;
extern int GrossPeriod=240;
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
datetime daytimes[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_ARROW, EMPTY, 3);
SetIndexArrow(0,159);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexEmptyValue(0,0.0);
SetIndexStyle(1,DRAW_ARROW, EMPTY, 3);
SetIndexArrow(1,159);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexEmptyValue(1,0.0);
//----
//----
if (Period()>GrossPeriod) { Alert("DT-ZigZag: Текущий таймфрейм должен быть меньше чем ", GrossPeriod); return(0); }
// Все Time[] серии времени отсортировано в направлении убывания
ArrayCopySeries(daytimes,MODE_TIME,Symbol(),GrossPeriod);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
int limit=300,bigshift;
double zigzag1;
if (counted_bars<0) return(-1);

if (counted_bars>0) counted_bars--;

limit=Bars-counted_bars;
//----
for (int i=0; i<limit; i++)
{
if(Time>=daytimes[0]) bigshift=0;
else
{
bigshift = ArrayBsearch(daytimes,Time[i-1],WHOLE_ARRAY,0,MODE_DESCEND);
if(Period()<=GrossPeriod) bigshift++;
}
for (int cnt=bigshift; cnt<(100+bigshift); cnt++)
{
zigzag1=iCustom(NULL,GrossPeriod,"ZigZag",depth,5,3,0,cnt+1);
if ( zigzag1!=0 ) break;
}

if ( iClose(NULL,0,i+1)<=zigzag1 ) ExtMapBuffer2=zigzag1/Bid-(zigzag1/Bid+1); else ExtMapBuffer2=0.0;
if ( iClose(NULL,0,i+1)>=zigzag1 ) ExtMapBuffer1=zigzag1/Bid-(zigzag1/Bid+1); else ExtMapBuffer1=0.0;
ObjectsRedraw();
}
// Comment("zigzag1 = ",zigzag1);
//----
return(0);
}
//+------------------------------------------------------------------+

Amadey
Сообщения: 4
Зарегистрирован: Сб июн 23, 2012 2:15 am
Откуда: 22

всё получилось работает :)

#3 Сообщение Amadey » Чт ноя 22, 2012 3:00 pm

спасибо Алексею что переписал этот индюк под метатрей 4

кому нужен спец пишите ему на Stonev@yandex.ru ,думаю поможет и вам

Ответить