/* FC */
//-----------------------//
// //
// Force Candlestick //
// //
//-----------------------//
//-------------------------------------//
// //
// Copyright © 2006, Yurij I. Yatsenko //
// All rights reserved //
// Organization: ForexClub Ukraine //
// Phone: +38-057-7192719 //
// http://www.fxclub.org //
// //
//-------------------------------------//
//--------//
// Inputs //
//--------//
Inputs: Out(0), Period1(1), Period2(260), Sigma(0), MaxMark(4);
Inputs: H_Mark(4), L_Mark(2);
//------------//
// Parameters //
//------------//
if Out=0 then begin
Period1=inparam("Amount of Candlestick: 1-3",1,3,1);
Period2=inparam("Period of MA[H-L]: D=260;H=480",1,1000,260);
Sigma =inparam("Sigma of MA[H-L]: D=0;H=1",0,5,0);
MaxMark=inparam("Max of Mark: 2-10",2,10,4);
H_Mark =inparam("Truncate Mark above Max:",2,10,4);
L_Mark =inparam("Truncate Mark below Min:",1,10,2);
Ind2 =inparam("Unit:1=point,2=%,3=Mark",1,3,3);
Ind1 =inparam("Indication:1=Fd,2=Fs,3=Fr",1,3,3);
end;
//-----------//
// Variables //
//-----------//
//Sigma =0;
//MaxMark=4;
//H_Mark =4;
//L_Mark =2;
//Ind2 =3;
//Ind1 =3;
//------//
// OHLC //
//------//
On=ref(O,-Period1+1);
Hn=hhv(H,Period1);
Lm=llv(L,Period1);
Cn=C;
//-----------------//
// Force in points //
//-----------------//
Fs=Cn-On;
Fd=(3*Cn-Lm-On-Hn)/2;
//Fd=(w1*S1+w2*W2+w3*W3)/(w1+w2+w3)*3;
//S1=[O,L]; S2=[L,H]; S3=[H,C];
//S1=[O,H]; S2=[H,L]; S3=[L,C];
//w1=l ; w2=ll ; w3=lll ;
//wn=w1+(n-1)*delta; [condition for invariance of paths]
Fr=Fd-Fs;
//-------------------//
// Force in percents //
//-------------------//
Avg_HL=mov(Hn-Lm,Period2,s);
Avg_HL=(bollinger_1(Hn-Lm,Period2,s)-Avg_HL)/2.5*Sigma+Avg_HL;
Fs_P=Fs/Avg_HL*100;
Fd_P=Fd/Avg_HL*100;
Fr_P=Fd_P-Fs_P;
//----------------//
// Force in marks //
//----------------//
if Fs_P>=0 then Fs_M=MaxMark/100*Fs_P+0.5;
if Fs_P< 0 then Fs_M=MaxMark/100*Fs_P-0.5;
if Fs_M>=0 then Fs_M=ROUNDD(0,Fs_M,0,0,0);
if Fs_M< 0 then begin
Fs_M=-Fs_M;
Fs_M=ROUNDD(0,Fs_M,1,0,0);
end;
if Fd_P>=0 then Fd_M=MaxMark/100*Fd_P+0.5;
if Fd_P< 0 then Fd_M=MaxMark/100*Fd_P-0.5;
if Fd_M>=0 then Fd_M=ROUNDD(0,Fd_M,0,0,0);
if Fd_M< 0 then begin
Fd_M=-Fd_M;
Fd_M=ROUNDD(0,Fd_M,1,0,0);
end;
if Fr_P>=0 then Fr_M=MaxMark/50*Fr_P+0.5;
if Fr_P< 0 then Fr_M=MaxMark/50*Fr_P-0.5;
if Fr_M>=0 then Fr_M=ROUNDD(0,Fr_M,0,0,0);
if Fr_M< 0 then begin
Fr_M=-Fr_M;
Fr_M=ROUNDD(0,Fr_M,1,0,0);
end;
//--------------------------//
// Force in truncated marks //
//--------------------------//
if Fs_M> H_Mark then Fs_M= H_Mark;
if Fs_M<-H_Mark then Fs_M=-H_Mark;
if Fs_M>0 and Fs_M< L_Mark then Fs_M= 0;
if Fs_M<0 and Fs_M>-L_Mark then Fs_M= 0;
if Fd_M> H_Mark then Fd_M= H_Mark;
if Fd_M<-H_Mark then Fd_M=-H_Mark;
if Fd_M>0 and Fd_M< L_Mark then Fd_M= 0;
if Fd_M<0 and Fd_M>-L_Mark then Fd_M= 0;
if Fr_M> H_Mark then Fr_M= H_Mark;
if Fr_M<-H_Mark then Fr_M=-H_Mark;
if Fr_M>0 and Fr_M< L_Mark then Fr_M= 0;
if Fr_M<0 and Fr_M>-L_Mark then Fr_M= 0;
//-------------//
// Indications //
//-------------//
if Ind1=1 and Ind2=1 then L1=Fd;
if Ind1=2 and Ind2=1 then L1=Fs;
if Ind1=3 and Ind2=1 then L1=Fr;
if Ind1=1 and Ind2=2 then L1=Fd_P;
if Ind1=2 and Ind2=2 then L1=Fs_P;
if Ind1=3 and Ind2=2 then L1=Fr_P;
if Ind1=1 and Ind2=3 then L1=Fd_M;
if Ind1=2 and Ind2=3 then L1=Fs_M;
if Ind1=3 and Ind2=3 then L1=Fr_M;
L1;
//---------//
// Returns //
//---------//
if Out=11 then ans=Fd;
if Out=21 then ans=Fs;
if Out=31 then ans=Fr;
if Out=12 then ans=Fd_P;
if Out=22 then ans=Fs_P;
if Out=32 then ans=Fr_P;
if Out=13 then ans=Fd_M;
if Out=23 then ans=Fs_M;
if Out=33 then ans=Fr_M;
return ans;
//---------//
// The end //
//---------//
Файл, без которого индикатор FC не работает.
/* ROUNDD */
//-----------------------//
// //
// ROUNDD //
// //
//-----------------------//
//-------------------------------------//
// //
// Copyright © 2006, Yurij I. Yatsenko //
// Organization: ForexClub Ukraine //
// Phone: +38-057-7192719 //
// http://www.fxclub.org //
// //
//-------------------------------------//
Inputs: mode(0), x(123.456), sign_x(0), d(1), sign(0);
/*
mode mode for calculate
mode=0 ROUND (round)
mode=1 INT (integer part)
mode=2 FRAC (fraction part)
x sourse value
sign_x sign of x:
sign_x=0 "+" plus
sign_x=1 "-" minus
d amount digit for round
sign sign of amount digit for round:
sign=0 "+" plus
sign=1 "-" minus
*/
if mode=0 and sign=1 then d1=-d;
else d1=d;
if mode=0 then frac=x*pow(10,d1);
else frac=x;
n_int=0;
while (frac>=0.99999) begin
frac=frac/10;
n_int=n_int+1;
end;
int=0;
i=1;
while (i<=n_int) begin
int=int*10;
frac=frac*10;
while (frac-0.99999>=0) begin
frac=frac-1;
int=int+1;
end;
i=i+1;
end;
if mode=0 then begin
if frac>=0.5 then roundd=int+1;
else roundd=int;
round1=roundd/pow(10,d1);
end;
if mode=0 then y=roundd;
if mode=1 then y=int;
if mode=2 then y=frac;
if sign_x=1 then y=-y;
y;
return y;
Может этот индюк просто выглядит хорошо, но никак не работать с ним ?
Вы пробовали им торговать?
Было бы замечательно, если бы кто-нить закодил его .
(бегло пробежался, там ленты Боллинджера используются кажется)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый день. У форексклуба на платформе румус2 есть индикатор FC(Force Candlestick) . выглядит он вот так.
информация по нему следущая:
Основные принципы и идеи, лежащие в основе FC:
* Типы сил (динамическая (Fd), статическая (Fs), Реверсная сила (Fr)).
* Расчет всех видов сил (в пунктах) с учетом траектории движения цены внутри свечи.
* Учет волатильности свечей. Расчет всех видов сил в процентах.
* Карта свечей (в координатах Fr, Fs).
* Измерение сил в баллах.
Отрисовывается в отдельном окне. линии вертикальные. принимает значения от -4х до 4х баллов.
Мне интересно, есть ли этот индикатор на MT4. Если он есть,подскажите где его найти. Заранее благодарю за помощь.
Листинги индикатора я тоже решил прикрепить: