МГС  Московская Гигабитная Сеть
 www.umos.su info@umos.su  Выделенные линии Ве/б-Студия Хостинг Collocation
 Тарифы Вопросы и ответы Полезная информация Контакты

Софт >> MetaTrader

Страниц в ветке: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | >> (все)
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Индикаторы для MetaTrader 4
      #54085 - 22/11/2004 16:38

Стандартный Price Channel :

//+------------------------------------------------------------------+
//| Price Channel.mq4 |
//| |
//| http://forex.kbpauk.ru/ |
//+------------------------------------------------------------------+

#property link "http://forex.kbpauk.ru/"

#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 DodgerBlue
#property indicator_color2 DodgerBlue
#property indicator_color3 DodgerBlue
//---- input parameters
extern int ChannelPeriod=14;
//---- buffers
double UpBuffer[];
double DnBuffer[];
double MdBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
SetIndexStyle(0,DRAW_LINE);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_LINE,2);
SetIndexBuffer(0,UpBuffer);
SetIndexBuffer(1,DnBuffer);
SetIndexBuffer(2,MdBuffer);
//---- name for DataWindow and indicator subwindow label
short_name="Price Channel("+ChannelPeriod+")";
IndicatorShortName(short_name);
SetIndexLabel(0,"Up Channel");
SetIndexLabel(1,"Down Channel");
SetIndexLabel(2,"Middle Channel");
//----
SetIndexDrawBegin(0,ChannelPeriod);
SetIndexDrawBegin(1,ChannelPeriod);
SetIndexDrawBegin(2,ChannelPeriod);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Price Channel |
//+------------------------------------------------------------------+
int start()
{
int i,counted_bars=IndicatorCounted();
int k;
double high,low,price;
//----
if(Bars<=ChannelPeriod) return(0);
//---- initial zero
if(counted_bars<1)
for(i=1;i<=ChannelPeriod;i++) UpBuffer[Bars-i]=0.0;
//----
i=Bars-ChannelPeriod-1;
if(counted_bars>=ChannelPeriod) i=Bars-counted_bars-1;
while(i>=0)
{
high=High; low=Low; k=i-1+ChannelPeriod;
while(k>=i)
{
price=High[k];
if(high<price) high=price;
price=Low[k];
if(low>price) low=price;
k--;
}
UpBuffer=high;
DnBuffer=low;
MdBuffer=(high+low)/2;
i--;
}
return(0);
}
//+------------------------------------------------------------------+


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Mako
Свой человек
**

Зарегистрирован: 18/10/2003
Сообщений: 117
Нахождение: Восточная Сибирь
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #54158 - 23/11/2004 13:02

Здравствуй Абориген.
Спасибо за индикатор, но он не встает! Жалуется на high=High; и др.... Что-то на точки с запятой, на последующую работу с этими переменными.
';' - series array has not left square bracket. zero shift assumed
';' - series array has not left square bracket. zero shift assumed
'=' - left square parenthesis expected for array
'=' - left square parenthesis expected for array
'=' - left square parenthesis expected for array
3 error(s), 2 warning(s)

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


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: Mako]
      #54160 - 23/11/2004 13:41 прикреплённые файлы (1104 загрузок)

Чой-то MQL4 без архивирования во вложения не добавляется
Ага. Будем прикладывать супер-пупер архивы по 2 кб.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Mako
Свой человек
**

Зарегистрирован: 18/10/2003
Сообщений: 117
Нахождение: Восточная Сибирь
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #54161 - 23/11/2004 14:00

ОК спасибо Абориген, работает!
У меня к тебе просьба можно ли этот индикатор переделать для М4. Заранее благодарен! :-)

/*[[
Name := Demark Trend New (R*)
Author := Sergey Malkov
Link := malkov@nsk.ru
Separate Window := No
First Color := LightBlue
First Draw Type := Symbol
First Symbol := 161
Use Second Data := Yes
Second Color := Red
Second Draw Type := Symbol
Second Symbol := 164
]]*/
Input: StepBack (0);
Variable: i(1),NP(0),D(0),iP(0),iB(0),PP1(0),PP2(0),PP3(0),S1(0),S2(0);
Variable: UpLev(0),DownLev(0),UpV(0),DownV(0);
Array: UpB[1,2](0),UpP[1,2](0),UpLevel[1,2](0),UpBT[1,2](0);
Array: DownB[1,2](0),DownP[1,2](0),DownLevel[1,2](0),DownBT[1,2](0);
SetLoopCount(0);// loop from first bar to current bar (with shift=0)
DelArrow(0,0);
//=================================================
//******** Поиск опорных точек предложения ********
//=================================================
D=StepBack+2;
NP=0;i=1;
While NP<D Begin
If H>H[i+1] & H>H[i-1] & H>C[i+2] then {UpLev=1;
If i>1 then {if H>H[i+2] & H>H[i-2] then UpLev=2;
If i>2 then {if H>H[i+3] & H>H[i-3] then UpLev=3;
If i>3 then {if H>H[i+4] & H>H[i-4] then UpLev=4;}}}
UpB[1,2]=UpB[1,1];UpB[1,1]=i;
UpBT[1,2]=UpBT[1,1];UpBT[1,1]=Time;
UpP[1,2]=UpP[1,1];UpP[1,1]=H;
UpLevel[1,2]=UpLevel[1,1];UpLevel[1,1]=UpLev;
UpV=(UpP[1,2]-UpP[1,1])/(UpB[1,1]-UpB[1,2]);
NP=NP+1;
}i=i+1;End;

//=================================================
//********** Поиск опорных точек спроса ***********
//=================================================
NP=0;i=1;
While NP<D Begin
If L<L[i+1] & L<L[i-1] & L<C[i+2] then {DownLev=1;
If i>1 then {if L<L[i+2] & L<L[i-2] then DownLev=2;
If i>2 then {if L<L[i+3] & L<L[i-3] then DownLev=3;
If i>3 then {if L<L[i+4] & L<L[i-4] then DownLev=4;}}}
DownB[1,2]=DownB[1,1];DownB[1,1]=i;
DownBT[1,2]=DownBT[1,1];DownBT[1,1]=Time;
DownP[1,2]=DownP[1,1];DownP[1,1]=L;
DownLevel[1,2]=DownLevel[1,1];DownLevel[1,1]=DownLev;
DownV=(DownP[1,2]-DownP[1,1])/(DownB[1,1]-DownB[1,2]);
NP=NP+1;
}i=i+1;End;

//=================================================
//**** Ищем точку пробоя и вычисляем проекторы ****
//=================================================
D=Max(UpB[1,1],DownB[1,1]);
For i=D DownTo 0 Begin
If C>UpP[1,1]+UpV*(UpB[1,1]-i) & C[i+1]<UpP[1,1]+UpV*(UpB[1,1]-(i+1))then
{iB=i; iP=UpP[1,1]+UpV*(UpB[1,1]-i);
S1=Lowest(MODE_LOW,UpB[1,1],UpB[1,1]-iB);
S2=Lowest(MODE_CLOSE,UpB[1,1],UpB[1,1]-iB);

PP1=iP+((UpP[1,1]+UpV*(UpB[1,1]-S1))-L[S1]);
PP2=iP+((UpP[1,1]+UpV*(UpB[1,1]-S2))-L[S2]);
PP3=iP+((UpP[1,1]+UpV*(UpB[1,1]-S1))-C[S1]);
}
If C<DownP[1,1]+DownV*(DownB[1,1]-i) & C[i+1]>DownP[1,1]+DownV*(DownB[1,1]-(i+1))then
{iB=i; iP=DownP[1,1]+DownV*(DownB[1,1]-i);
S1=Highest(MODE_HIGH,DownB[1,1],DownB[1,1]-iB);
S2=Highest(MODE_CLOSE,DownB[1,1],DownB[1,1]-iB);

PP1=iP-(H[S1]-(DownP[1,1]+DownV*(DownB[1,1]-S1)));
PP2=iP-(H[S2]-(DownP[1,1]+DownV*(DownB[1,1]-S2)));
PP3=iP-(C[S1]-(DownP[1,1]+DownV*(DownB[1,1]-S1)));
}
End;

//=================================================
//******** Рисуем опорные точки и TD-линии ********
//=================================================
SetIndexValue(UpB[1,1],UpP[1,1]); SetIndexValue(UpB[1,2],UpP[1,2]);
SetIndexValue(DownB[1,1],DownP[1,1]); SetIndexValue(DownB[1,2],DownP[1,2]);
MoveObject("UpTrend",OBJ_TRENDLINE,UpBT[1,1],UpP[1,1],UpBT[1,2],UpP[1,2],CadetBlue,2,STYLE_SOLID);
MoveObject("DownTrend",OBJ_TRENDLINE,DownBT[1,1],DownP[1,1],DownBT[1,2],DownP[1,2],HotPink,2,STYLE_SOLID);

Comment("UpTrend : Level ",Min(UpLevel[1,2],UpLevel[1,1])," magnitude","\n",
"DownTrend : Level ",Min(DownLevel[1,2],DownLevel[1,1])," magnitude");

//========================================================
//*** Если пробило, то ставим точку и рисуем проекторы ***
//========================================================
SetIndexValue2(iB,iP);
MoveObject("PP1",OBJ_HLINE,0,0,0,PP1,Red,1,STYLE_DOT);
MoveObject("PP2",OBJ_HLINE,0,0,0,PP2,Blue,1,STYLE_DOT);
MoveObject("PP3",OBJ_HLINE,0,0,0,PP3,Green,1,STYLE_DOT);


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


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: Mako]
      #54192 - 23/11/2004 23:59

Вынужден признать, что ничего не получается. Промучился целый день. Хэлп по MQL4 пока просто сиротский.
Методом "научного тыка" осваивается медленно.
Подождем нормального описания языка, а пока можно портировать с MQL2 что-либо попроще.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Mako
Свой человек
**

Зарегистрирован: 18/10/2003
Сообщений: 117
Нахождение: Восточная Сибирь
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #54205 - 24/11/2004 03:16

Спасибо за участие, всех благ и попутного тренда.
С уважением, Сергей.

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


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Profi_R
Свой человек
***

Зарегистрирован: 14/10/2004
Сообщений: 241
Нахождение: Российская Федерация, Казань
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #55047 - 01/12/2004 10:57

Подскажите пожалуйста разницу в возвращаемых значениях по Bars и IndicatorCounted()

--------------------
[url=http://bars-open.ru/Main.aspx]Проект
независимых разработчиков[/url]
[img]http://forex.kbpauk.ru/download.php?Number=209513[/img]


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #55052 - 01/12/2004 11:30

Uvazhajemij Aborigen,

Hotel sprositj, jestj li v novom MT4 vozmozhnostj "svajatj" indikator, kotorij mozhno uvidetj: tut. Imejetsa vvidu perepletjonnije T3. Tam on dlja AmiBroker.
Kak ja ponimaju, v MT4 uzhe ne toljko 2 buffers. Kod MT4 dlja T3 uzhe jestj:

//+------------------------------------------------------------------+
//| T3.mq4 |
//| MojoFX |
//| http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/ |
//+------------------------------------------------------------------+
#property copyright "MojoFX - Conversion only"
#property link "http://groups.yahoo.com/group/MetaTrader_Experts_and_Indicators/"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 SteelBlue

extern int MA_Period = 14;
extern double b = 0.7;

double MapBuffer[];

double e1,e2,e3,e4,e5,e6;
double c1,c2,c3,c4;
double n,w1,w2,b2,b3;

//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators setting
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,1,SteelBlue);
IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));
IndicatorShortName("Moving Average "+MA_Period);

SetIndexBuffer(0,MapBuffer);

//---- variable reset
e1=0; e2=0; e3=0; e4=0; e5=0; e6=0;
c1=0; c2=0; c3=0; c4=0;
n=0;
w1=0; w2=0;
b2=0; b3=0;

b2=b*b;
b3=b2*b;
c1=-b3;
c2=(3*(b2+b3));
c3=-3*(2*b2+b+b3);
c4=(1+3*b+b3+3*b2);
n=MA_Period;

if (n<1) n=1;
n = 1 + 0.5*(n-1);
w1 = 2 / (n + 1);
w2 = 1 - w1;

//----
return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if (counted_bars<0) return (-1);
if (counted_bars>0) counted_bars--;
limit=Bars-counted_bars;

//---- indicator calculation

for(int i=limit; i>=0; i--)
{
e1 = w1*Close + w2*e1;
e2 = w1*e1 + w2*e2;
e3 = w1*e2 + w2*e3;
e4 = w1*e3 + w2*e4;
e5 = w1*e4 + w2*e5;
e6 = w1*e5 + w2*e6;

MapBuffer=c1*e6 + c2*e5 + c3*e4 + c4*e3;
}
//----
return(0);
}
//+------------------------------------------------------------------+

Spasibo.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #55099 - 01/12/2004 18:28 прикреплённые файлы (1022 загрузок)

To: Profi_R
ИМХО Общее кол-во баров на графике и кол-во обработанных индикатором.

To: MrJester
Ваш индикатор содержит ошибки и не работает.
Выкладываю исправленную версию.
То, что Вы просили я тоже сделал и выкладываю. Не знаю как там в Амиброкере, а в Метатрейдере, сразу шесть однородных линий в одном окне - трудно читаемы.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #55117 - 01/12/2004 19:59

To Aborigen

Spasibo!

Okazivajetsja, chtobi dobitsja pohozhevo effekta, nuzhno kruto pomenjatj periodi etih T3. Variant:

MA 1: 5
MA 2: 10
MA 3: 15
MA 4: 35
MA 5: 80
MA 6 : 280

I poluchajetsja pohozhe. No tut obnaruzhilasj problemka - MA 5 vsegda po vidu sovpadajet s MA 6, kakimi bi raznimi ne djelatj ih periodi, dazhe v kode indikatora.

A tak - escho raz spasibo.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #55120 - 01/12/2004 20:05 прикреплённые файлы (1160 загрузок)

Zabil prikrepitj kartinku. Vot.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #55212 - 02/12/2004 09:14 прикреплённые файлы (712 загрузок)

Posledil za T3, kak to stranno on vedjot sebja s tekushimi dannimi - izlomi poluchajutsja. Interesno, pochemu tak?

Vot jescho kartinka.



--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
skinner
Гость


Зарегистрирован: 17/11/2004
Сообщений: 18
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #55221 - 02/12/2004 10:22

А какой из них красит бары?

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: skinner]
      #55222 - 02/12/2004 10:33

Цитата:

А какой из них красит бары?




Jesli Vi po povodu ssilki strategii na Amibroker vishe, to tut toljko tot indikator, kotorij vide perepletjonnih T3. Bari v MT4 krasit indikator Heikin-ashi, kotorij zapoluchitj mozhno tut.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
skinner
Гость


Зарегистрирован: 17/11/2004
Сообщений: 18
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #55240 - 02/12/2004 13:31

Спасибо.. Не хватило у меня тяму на метаквоту глянуть... Но индикатор, как то не точно по барам рисует..

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: skinner]
      #55241 - 02/12/2004 14:03

Цитата:

Спасибо.. Не хватило у меня тяму на метаквоту глянуть... Но индикатор, как то не точно по барам рисует..




Da, lazha. OHLC po prezhnemu ne mozhet modificirovatj, tipa takoi podhod "s boku". No hotj tak, a to v MT3 voobhe sushnjak.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Nikolos
Гость


Зарегистрирован: 10/04/2003
Сообщений: 2
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #55918 - 07/12/2004 23:51 прикреплённые файлы (643 загрузок)

Уважаемые форумяне, а не пробовал ли кто перевести на MQL4 индикаторы Юрика.
Исходники для Омеги (Или что-то в этом роде) есть на этом форуме в ветке про Омегу.
В прицепе моя попытка перевода J_TPO.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
DanShu
Свой человек


Зарегистрирован: 06/12/2004
Сообщений: 55
Нахождение: BKK Thailand
Re: Индикаторы для MetaTrader 4 [re: Nikolos]
      #56036 - 08/12/2004 21:53

Кто может, помогите!
Переложить индикатор под МТ4, очень нужно. Обещаю благодарность в разумных пределах.

Вот он:

/*[[
Name := #MAMA
Author := Aborigen
Link :=support@mechanicaltrade.ru
Separate Window := No
First Color := Aqua
First Draw Type := Line
First Symbol := 217
Use Second Data := Yes
Second Color := Chocolate
Second Draw Type := Line
Second Symbol := 218
]]*/
Vars: jI(0), jQ(0), DeltaPhase(0), alpha(0),Shift(0),ttime(0);
Array: Price[4](0),Smooth[7](0),Detrender[7](0), Q1[7](0),I1[7](0),
I2[2](0), Q2[2](0), Re[2](0), Im[2](0), SmoothPeriod[2](0), Period_[2](0), Phase[2](0),
MAMA[2](0), FAMA[2](0);
Inputs: FastLimit(0.5), SlowLimit(0.05);

if ttime=time then exit;
ttime=time;

SetLoopCount(0);
// loop from first bar to current bar (with shift=0)
For shift = 500 Downto 0 Begin
Price[1]=((H[shift]+L[shift])/2); Price[2]=((H[shift+1]+L[shift+1])/2);
Price[3]=((H[shift+2]+L[shift+2])/2); Price[4]=((H[shift+3]+L[shift+3])/2);

Smooth[1] = (4*Price[1] + 3*Price[2] + 2*Price[3] + Price[4]) / 10;
Detrender[1] = (0.0962*Smooth[1] + 0.5769*Smooth[3] - 0.5769*Smooth[5] - 0.0962*Smooth[7])*(0.075*Period_[2] + 0.54);

// {Compute InPhase and Quadrature components}
Q1[1] = (0.0962*Detrender[1] + 0.5769*Detrender[3] - 0.5769*Detrender[5] - 0.0962*Detrender[7])*(0.075*Period_[2] + 0.54);
I1[1] = Detrender[4];

// {Advance the phase of I1 and Q1 by 90 degrees}
jI = (0.0962*I1[1] + 0.5769*I1[3] - 0.5769*I1[5] - 0.0962*I1[7])*(0.075*Period_[2] + 0.54);
jQ = (0.0962*Q1[1] + 0.5769*Q1[3] - 0.5769*Q1[5] - 0.0962*Q1[7])*(0.075*Period_[2] + 0.54);

// {Phasor addition for 3 bar averaging)}
I2[1] = I1[1] - jQ;
Q2[1] = Q1[1] + jI;

// {Smooth the I and Q components before applying the discriminator}
I2[1] = 0.2*I2[1] + 0.8*I2[2];
Q2[1] = 0.2*Q2[1] + 0.8*Q2[2];

// {Homodyne Discriminator}
Re[1] = I2[1]*I2[2] + Q2[1]*Q2[2];
Im[1] = I2[1]*Q2[2] - Q2[1]*I2[2];
Re[1] = 0.2*Re[1] + 0.8*Re[2];
Im[1] = 0.2*Im[1] + 0.8*Im[2];
If Im[1] <> 0 and Re[1] <> 0 then Period_ [1]= 360/ArcTan(Im[1]/Re[1]);
If Period_[1] > 1.5*Period_[2] then Period_[1] = 1.5*Period_[2];
If Period_[1] < 0.67*Period_[2] then Period_[1] = 0.67*Period_[2];
If Period_[1] < 6 then Period_[1] = 6;
If Period_[1] > 50 then Period_[1] = 50;
Period_[1] = 0.2*Period_[1] + 0.8*Period_[2];
SmoothPeriod[1] =0.33*Period_[1] + 0.67*SmoothPeriod[2];

If I1[1] <> 0 then Phase[1] = (ArcTan(Q1[1] / I1[1]));
DeltaPhase = Phase[2] - Phase[1];
If DeltaPhase < 1 then DeltaPhase = 1;
alpha = FastLimit / DeltaPhase;
If alpha < SlowLimit then alpha = SlowLimit;
MAMA[1] = alpha*Price[1] + (1 - alpha)*MAMA[2];
FAMA[1] = 0.5*alpha*MAMA[1] + (1 - 0.5*alpha)*FAMA[2];


If shift<450 then Begin
SetIndexValue(shift,MAMA[1]);
SetIndexValue2(shift,FAMA[1]);
end;

Smooth[7]=Smooth[5];Smooth[6]=Smooth[5];Smooth[5]=Smooth[4];Smooth[4]=Smooth[3];Smooth[3]=Smooth[2];Smooth[2]=Smooth[1];
Detrender[7]=Detrender[6];Detrender[6]=Detrender[5];Detrender[5]=Detrender[4];Detrender[4]=Detrender[3];Detrender[3]=Detrender[2];Detrender[2]=Detrender[1];
Q1[7]=Q1[6];Q1[6]=Q1[5];Q1[5]=Q1[4];Q1[4]=Q1[3];Q1[3]=Q1[2];Q1[2]=Q1[1];
I1[7]=I1[6];I1[6]=I1[5];I1[5]=I1[4];I1[4]=I1[3];I1[3]=I1[2];I1[2]=I1[1];
Q2[2]=Q2[1];
I2[2]=I2[1];
Re[2]=Re[1];
Im[2]=Im[1];
SmoothPeriod[2]=SmoothPeriod[1];
Phase[2]=Phase[1];
Period_[2]=Period_[1];
MAMA[2]=MAMA[1];
FAMA[2]=FAMA[1];


End;

--------------------
mir

Редактировано Daniel_Shults (08/12/2004 21:54)


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: DanShu]
      #57226 - 20/12/2004 12:56

Pohozhe, chto uvazhajemij Aborigen uzhe prazdnujet...
Nu, poljubomu, vsem nailuchshih pozhelanij i horosho otdohnutj!

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: DanShu]
      #57271 - 20/12/2004 18:53 прикреплённые файлы (906 загрузок)

Ваши адаптивные мувинги во вложении.

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


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: MrJester]
      #57296 - 20/12/2004 22:50 прикреплённые файлы (700 загрузок)

Исправил ошибки в Т3


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
sergunя
Гость


Зарегистрирован: 10/08/2004
Сообщений: 14
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #57316 - 21/12/2004 00:32

Очень хотель бы этот индикатор уж очень я его люблю /*[[
Name := AltrTrend_Signal_v2
Author := OlegVS,GOODMAN
Link := olegvs2003@yahoo.com
Separate Window := No
First Color := Green
First Draw Type := Symbol
First Symbol := 108
Use Second Data := Yes
Second Color := Yellow
Second Draw Type := Symbol
Second Symbol := 108
]]*/
Inputs : K(30),Kstop(0.5),Kperiod(150),PerADX(14),CountBars(1300);
Variables : firstTime(True),shift(0), cnt(0), loopbegin(0),Range(0),AvgRange(0),SSP(0);
Variables : smin(0), smax(0), SsMax(0), SsMin(0),val1(0),val2(0),value3(0),i1(0),MyBars(0);
Array: Table_value2[500,3](0);

SetLoopCount(0);


If firstTime then
{
loopbegin = Bars-CountBars;
MyBars=loopbegin;
firstTime=False;
};
For cnt = loopbegin to Bars-SSP+1 Begin
SSP=Ceil(Kperiod/iADX(PerADX,MODE_MAIN,1));
shift=Bars-cnt-SSP+1;
Range=0;
AvgRange=0;
For i1=shift To shift+SSP
{AvgRange=AvgRange+Abs(High[i1]-Low[i1]);
};
Range=AvgRange/(SSP+1);

SsMax = High[Highest(MODE_HIGH,shift+SSP-1,SSP)];
SsMin = Low[Lowest(MODE_LOW,shift+SSP-1,SSP)];
smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;

Table_value2[shift,1]=shift;
Table_value2[shift,2]=C[shift];
Table_value2[shift,3]=0;
val1=0;
val2=0;
value3=0;
If C[shift]<smin Then
{i1=1;
Table_value2[shift,3]=-1;
While (Table_value2[shift+i1,3]>-1 And Table_value2[shift+i1,3]<1 And Table_value2[shift+i1,2]>0)
{i1=i1+1;};
If Table_value2[shift+i1,3]=1 Then
{value3=High[shift]+Range*Kstop;
val1=value3;
};
};
If C[shift]>smax Then
{i1=1;
Table_value2[shift,3]=1;
While (Table_value2[shift+i1,3]>-1 And Table_value2[shift+i1,3]<1 And Table_value2[shift+i1,2]>0)
{i1=i1+1;};
If Table_value2[shift+i1,3]=-1 Then
{value3=Low[shift]-Range*Kstop;
val2=value3;
};
};

SetIndexValue(shift,val1);
SetIndexValue2(shift,val2);
If shift>0 then loopbegin=loopbegin+1;
If MyBars<Bars And shift=0 Then
{
For i1=72 DownTo 2
Begin
Table_value2[i1,1]=Table_value2[i1-1,1];
Table_value2[i1,2]=Table_value2[i1-1,2];
Table_value2[i1,3]=Table_value2[i1-1,3];
End;
MyBars=MyBars+1;
};

End;



Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
ZR
Свой человек


Зарегистрирован: 12/12/2003
Сообщений: 55
Re: Индикаторы для MetaTrader 4 [re: sergunя]
      #57323 - 21/12/2004 02:26

Если не сложно, прошу перевести еще два индикатора

/*[[
Name := SO
Author := Copyright © 2004, Aleksey Bykov
Link :=
Separate Window := Yes
First Color := White
First Draw Type := Line
First Symbol := 217
Use Second Data := No
Second Color := Red
Second Draw Type := Line
Second Symbol := 218
Minimum Chart Limits := 0
Maximum Chart Limits := 100
]]*/
Input: periodd(10),smooth(6),BarsCount(200);
Variable: shift(0),val(0),i(0),maxx(0),minn(0);

SetLoopCount(0);

for shift=0 to barscount
Begin
val=0;
for i=shift to shift+smooth-1
Begin
maxx=Close[Highest(MODE_CLOSE,i+periodd-1,periodd)];
minn=Close[Lowest (MODE_CLOSE,i+periodd-1,periodd)];
val=val+100*(close-minn)/(maxx-minn);
end;
val=val/smooth;
if val=0 then val=0.1;

SetIndexValue(shift,val*0.999);
end;

====================================================================================

/*[[
Name := Pivot Daily
Author := Copyright © 2004, MetaQuotes Software Corp.
Link := http://www.metaquotes.ru/
Separate Window := No
First Color := Blue
First Draw Type := Line
First Symbol := 217
Use Second Data := Yes
Second Color := Red
Second Draw Type := Line
Second Symbol := 218
]]*/
input: formula(0),show_comment(1),how_long(720),drw(1);

var: cnt(0),begin_bar(0),prev_day(0),cur_day(0),day_high(0),day_low(0),yesterday_high(0);
var: yesterday_low(0),yesterday_close(0),today_open(0),textvar(""),timeShift(0);
var: P(0),S(0),R(0),S0.5(0),R0.5(0),S1(0),R1(0),S1.5(0),R1.5(0),S2(0),R2(0),S2.5(0),R2.5(0),S3(0),R3(0) ;

for cnt = bars downto 0
{
SetIndexValue(cnt, 0);
SetIndexValue2(cnt, 0);
};

if Period > 240 then exit;
timeShift = 0;

if formula < 0 or formula > 3 then exit;

if how_long = -1 then
{
begin_bar = bars;
}
else
{
begin_bar = how_long;
};

for cnt = begin_bar downto 1
{
cur_day = TimeDay(time[cnt]);

if prev_day != cur_day then
{
yesterday_close = CLOSE[cnt+1];
today_open = OPEN[cnt];
yesterday_high = day_high;
yesterday_low = day_low;

P = (yesterday_high + yesterday_low + yesterday_close + today_open) / 4;
if formula = 1 then
{
R = P + P - yesterday_low;
S = P + P - yesterday_high;
}
else if formula = 2 then
{
R = P + yesterday_high - yesterday_low;
S = P - yesterday_high + yesterday_low;
}
else if formula = 3 then
{
R = P + P - yesterday_low - yesterday_low + yesterday_high;
S = P + P - yesterday_high - yesterday_high + yesterday_low;
};

day_high = HIGH[cnt];
day_low = LOW[cnt];

prev_day = cur_day;
};

day_high = max(day_high, HIGH[cnt]);
day_low = min(day_low, LOW[cnt]);

if formula = 0 then
{
//if drw = 1 then SetIndexValue(cnt, P);
if drw = 1 then SetIndexValue(cnt, 0);
}
else
{
if drw = 1 then
{
SetIndexValue(cnt, R);
SetIndexValue2(cnt, S);
};
};
textVar = TimeHour(time[0])+":"+TimeMinute(time[0])+" "+(60-Minute)+"R";
SetObjectText("Time",textVar,"Arial",8,White);
MoveObject("Time",OBJ_TEXT,time[25],P,time[0],P,DarkMagenta);
};

if show_comment = 1 then
{

P = (yesterday_high + yesterday_low + yesterday_close)/3; // + today_open) / 4;

R0.5=(P+R1)/2;
S0.5=(P+S1)/2;

R1 = (2*P)-yesterday_low;
S1 = (2*P)-yesterday_high;

R1.5=(R1+R2)/2;
S1.5=(S1+S2)/2;

R2 = P+(yesterday_high - yesterday_low);
S2 = P-(yesterday_high - yesterday_low);

R2.5=(R2+R3)/2;
S2.5=(S2+S3)/2;

R3 = (2*P)+(yesterday_high-(2*yesterday_low));
S3 = (2*P)-((2* yesterday_high)-yesterday_low);

MoveObject("R1_line",OBJ_HLINE,time[cnt],R1,time[cnt],R1,DarkGreen,1,STYLE_DOT);
MoveObject("R2_line",OBJ_HLINE,time[cnt],R2,time[cnt],R2,DarkGreen,1,STYLE_DOT);
MoveObject("R3_line",OBJ_HLINE,time[cnt],R3,time[cnt],R3,DarkGreen,1,STYLE_DOT);
MoveObject("P_line",OBJ_HLINE,time[cnt],P,time[cnt],P,DarkViolet,1,STYLE_DASH);
MoveObject("S1_line",OBJ_HLINE,time[cnt],S1,time[cnt],S1,DarkRed,1,STYLE_DOT);
MoveObject("S2_line",OBJ_HLINE,time[cnt],S2,time[cnt],S2,DarkRed,1,STYLE_DOT);
MoveObject("S3_line",OBJ_HLINE,time[cnt],S3,time[cnt],S3,DarkRed,1,STYLE_DOT);

SetObjectText("R1_txt","R1","Arial",8,DarkGreen);
MoveObject("R1_txt",OBJ_TEXT,time[25],R1,time[1],R1,DarkGreen);
SetObjectText("R2_txt","R2","Arial",8,DarkGreen);
MoveObject("R2_txt",OBJ_TEXT,time[25],R2,time[1],R2,DarkGreen);
SetObjectText("R3_txt","R3","Arial",8,DarkGreen);
MoveObject("R3_txt",OBJ_TEXT,time[25],R3,time[1],R3,DarkGreen);
SetObjectText("S1_txt","S1","Arial",8,DarkRed);
MoveObject("S1_txt",OBJ_TEXT,time[25],S1,time[1],S1,DarkRed);
SetObjectText("S2_txt","S2","Arial",8,DarkRed);
MoveObject("S2_txt",OBJ_TEXT,time[25],S2,time[1],S2,DarkRed);
SetObjectText("S3_txt","S3","Arial",8,DarkRed);
MoveObject("S3_txt",OBJ_TEXT,time[25],S3,time[1],S3,DarkRed);
};



Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
MrJester
Гость


Зарегистрирован: 28/09/2003
Сообщений: 16
Нахождение: Riga
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #57336 - 21/12/2004 10:34 прикреплённые файлы (748 загрузок)

Цитата:

Исправил ошибки в Т3





Boljshoje Vam spasibo! Boljshoje kak Lenin Vsjo rabotajet. Slov netu, Vi nastojashij gigant misli.
Skazhite, a chto zhe vizivajet "ridanije" - imenno otsutstvije helpa ili drugije problemi s MQ4?

Naschot T3 Taotra: konechnaja podborka periodov T3: 5, 10, 15, 24, 34, 60. Toljko ja ih postavil obratnim porjadkom, chtobi bolee dlinnije T3 ne zakrivalji pervije 2, peresechenije kotorih i dajot iznachaljnij signal. A ostaljnije T3 dlja obshei ocenki situacii.

--------------------
So Above, So Below.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: ZR]
      #57412 - 21/12/2004 20:20 прикреплённые файлы (988 загрузок)

Pivot

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
ZR
Свой человек


Зарегистрирован: 12/12/2003
Сообщений: 55
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #57418 - 21/12/2004 20:45

Цитата:

Pivot




Весьма Вам признателен за индикатор !!!


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Begun
Душа форума
**

Зарегистрирован: 06/09/2003
Сообщений: 409
Нахождение: Москва
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #57420 - 21/12/2004 20:58

deinit не пашет

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Aborigen
Свой человек
****

Зарегистрирован: 31/08/2003
Сообщений: 108
Re: Индикаторы для MetaTrader 4 [re: Begun]
      #57425 - 21/12/2004 21:27

Deinit, я использовал для удаления надписей Pivot Point,R1,S1,R2...

1. Наводимся мышкой на любую линию индикатора, кликаем правой кнопкой, выбираем удалить индикатор.
2. Кликаем правой кнопкой мыши, вибираем список индикаторов, Pivot, удалить.

В том и другом случае надписи пропадают (только, что перепроверил).
Проверял на версии 4.00 Build 141.


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Begun
Душа форума
**

Зарегистрирован: 06/09/2003
Сообщений: 409
Нахождение: Москва
Re: Индикаторы для MetaTrader 4 [re: Aborigen]
      #57440 - 21/12/2004 23:22

В 142 не работает. Надо будет на их форуме накляузничать.

Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
salva
Ãîñòü


Зарегистрирован: 02/07/2003
Сообщений: 12
Нахождение: israel
Re: Индикаторы для MetaTrader 4 [re: ZR]
      #58266 - 30/12/2004 22:28

iWeeklyPivot -Индикатор для MT3 предсказывающий pivot-уровень
на неделю вперед но без расчета (R1-3;S3-1) 3 уровня сопротивления, 3 уровня поддержки .
Если не сложно, прошу перевести в mt4 с (R1-3;S1-3)
----------------------------------------------------------------------------------------------------
input: EMA_period(1); // период сглаживания
input: how_long(500); // сколько баров обрабатывать (-1 - все), рекомендую 1000

var: cnt(0); // счетчик баров
var: begin_bar(0); // бар, с которого начинает работу индикатор
var: last_week_high(0); // дневной high
var: last_week_low(0); // дневной low
var: last_week_close(0);
var: this_week_open(0);
var: P(0); // центральная цена
var: K(0); // константа для сглаживания
var: P_smoothed(0); // экспоненциально сглаженный P

// очищаем данные индикатора
for cnt = bars downto 0
{
SetIndexValue(cnt, 0);
};

K = 2 / (EMA_period + 1);

// решаем с какого бара мы начнем считать наш индикатор
if how_long = -1 then
{
begin_bar = bars;
}
else
{
begin_bar = how_long;
};

// обходим бары слева направо
for cnt = begin_bar downto 0
{
// понедельник?
if (2 == TimeDayOfWeek(time[cnt]) and 2 != TimeDayOfWeek(time[cnt+1])) then
{
last_week_close = CLOSE[cnt+1];
this_week_open = OPEN[cnt];

// вычисляем точный pivot
P = (last_week_high + last_week_low + this_week_open + last_week_close) / 4;

// вычисляем сглаженный pivot
P_smoothed = K * P + (1-K) * P_smoothed;

// т.к. начался новый день, то инициируем макс. и мин. текущего (уже) дня
last_week_high = HIGH[cnt];
last_week_low = LOW[cnt];
};

// продолжаем накапливать данные
last_week_high = max(last_week_high, HIGH[cnt]);
last_week_low = min(last_week_low, LOW[cnt]);

SetIndexValue(cnt, P_smoothed);

}; // for

// nov 2004, Dmitriy


Опции: Распечатать пост   Напомнить мне!   Оповестить модератора  
Страниц в ветке: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | >> (все)



Дополнительная информация
0 зарегистрированных и 0 незарегистрированных пользователей просматривает форум.

Модератор:  michaelus, podval, Poul, 000, Adim, Akelo, C0Rpus, Der Aspirant, konkop, mda, mpfeltz, SGN, Рантье, TradingS, Uliss, x4x, Ex_dreamer, Apprentice, EVM, Stone, Socol, Ленивый, Kadavr, untoxa, VovaM, Asd, Igonter 

Распечатать тему

Доступ и ограничения:
      Вы не можете начать новую тему
      Вы не можете отвечать на тему
      HTML включён
      UBBCode включён

Рейтинг: ***
Тема прочитана: 183415

Рейтинг темы

Перейти на

Send letter to Poul | Предупреждение Poul Trade Forum

Powered by UBB.threads™ 6.5.4

Generated in 0.468 seconds in which 0.031 seconds were spent on a total of 13 queries. Zlib compression enabled.