Has anybody seen Hawkeye indicator equivalent in afl?

#12
Hi traderami
Thanks.
It looks better with the pdf.
The vsa file by karthik is good but it uses a very complicated 450 rule based tradeguider mrthodology(it breaks head of its user)-
while the owner of th method is Richard Wyckoff,Nigel Hawkes and Tom Williams applied both in different ways.
After LOT OF thinking I choose to prefer Nigel Hawkes method over the other Total Recall style ways.
Another reason is some of my friends whoever went after vsa tradeguider thing style are not willing to talk about it-I donno why.
they never made money either

Tradestation indicators in ELD format are available over net.
ewef helps.
regards
 
Last edited:
#13
Master the Markets by Tom Williams.pdf 12.63 MB
VSA system explained.pdf 3.07 MB
Unlocking Volume Analysis.pdf 1.03 MB
VSA Basics.pdf 664.58 KB
Ord Volume.pdf 615.95 KB
VSA Guide.pdf 462.7 KB
Wyckoff Analysis 1930-31.pdf 459.21 KB
PriceVolume.pdf 329.86 KB
The Hidden Strengths of Volume Analysis.pdf 234.51 KB
Frozen in Analysis Paralysis VSA.odt 228.13 KB
Follow The Smart Money VSA.odt 206.36 KB
Find the Slam Dunks By Todd Krueger.odt 167.27 KB
Rediscover the Lost Art of Chart Reading Using VSA.odt
VSA Principles.pdf 127.75 KB
VSA High Probability Trades.odt


http://kickass.to/volume-spread-analysis-for-forex-t6776254.html
 

KelvinHand

Well-Known Member
#15
Hi KelvinHand

Thanks for the attention.

Let me see if I can add ts version as attachment.Sorry-It is not permitting to attach HERE-It says invalid file-it is a rar file and traderji is not equipped to handle this attachment as of now.
Ok here isdownload link may be it is what you need
http://hotfile.com/dl/13918288/79adc36/hawkeye%20toolkit.rar

Please pm your e mail address preferably yahoo.
Volume it seems is valued by measuring standard deviation from a mean or so.
I try to attach a chart for that.

https://community.tradestation.com/discussions/topic.aspx?topic_id=57653


regards
ford
You are showing the HAWKEYE_VOLUME Indicator below the PRICE CHART.
Is that correlate to your AFL ?
 
Last edited:
#16
Hi KelvinHand

The afl I posted is wrong.
It is wrong becoz the info it is based is wrong.
the hkeye uses something different.
It is possible they use stdev to gauge extent of extremity and narrow-low volatility etc.

The formula concept given in some website is taken and an afl made,the code basic is false.

I gave you the link for tradestation. if you can convert LD files to text files please post them as text or notepad files,.
Then our experts and you can try it from there.
regards
 
#17
Is it hawkeye volume mt4 code?

//+------------------------------------------------------------------+
//| VOLUME TYPE.mq4 |
//| Copyright © 2008, FOREXflash. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, FOREXflash Software Corp."
#property link "http://www.metaquotes.net"

#property indicator_separate_window
#property indicator_buffers 8

#property indicator_color4 DimGray
#property indicator_color6 Lime
#property indicator_color7 Red
#property indicator_color8 White

#property indicator_width4 1
#property indicator_width6 2
#property indicator_width7 2
#property indicator_width8 2



extern int MA_Length = 100;
extern int NumberOfBars = 2500;

//---- buffers
double ExtMapBuffer1[];
double SPREADHL[];
double AvgSpread[];
double v4[];
double Vol[];
double GREEN[];
double RED[];
double WHITE[];

string WindowName;
int PipFactor = 1;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{

//---- indicators
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(0,DRAW_NONE);
SetIndexBuffer(1,SPREADHL);
SetIndexStyle(1,DRAW_NONE);
SetIndexBuffer(2,AvgSpread);
SetIndexStyle(2,DRAW_NONE);
SetIndexBuffer(3,v4);
SetIndexStyle(3,DRAW_LINE,STYLE_DOT);
SetIndexBuffer(4,Vol);
SetIndexStyle(4,DRAW_NONE);

SetIndexBuffer(5,GREEN);
SetIndexStyle(5,DRAW_HISTOGRAM);
SetIndexBuffer(6,RED);
SetIndexStyle(6,DRAW_HISTOGRAM);
SetIndexBuffer(7,WHITE);
SetIndexStyle(7,DRAW_HISTOGRAM);


string short_name = "VOLUME TYPE";
IndicatorShortName(short_name);
WindowName = short_name;
IndicatorDigits(1);

//----
return(1);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+

int start()
{
//----
AVGSpread();
//----
AVGVolume();
//----
return(0);
}
//+------------------------------------------------------------------+
//| AvgSpread |
//+------------------------------------------------------------------+
int AVGSpread()
{
int i,nLimit,nCountedBars;
//---- bars count that does not changed after last indicator launch.
nCountedBars=IndicatorCounted();
//---- last counted bar will be recounted
if(nCountedBars>0) nCountedBars--;
nLimit=Bars-nCountedBars;
//----


for(i=0; i<nLimit; i++)

SPREADHL = ((iHigh(NULL, 0, i) - iLow(NULL, 0, i))/Point)/PipFactor; // SPREAD

for(i=0; i<nLimit; i++)
{
AvgSpread = iMAOnArray(SPREADHL,0,MA_Length,0,MODE_EMA,i); // AVERAGE SPREAD

}
//---- done
return(0);
}
//+------------------------------------------------------------------+
//| AvgVolume |
//+------------------------------------------------------------------+
int AVGVolume()
{
double tempv;
int limit;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
if ( NumberOfBars == 0 )
NumberOfBars = Bars-counted_bars;
limit=NumberOfBars; //Bars-counted_bars;


for(int i=0; i<limit; i++)
{
tempv=0;


for( int n=i;n<i+MA_Length;n++ )
{
tempv= Volume[n] + tempv;
}
v4 = NormalizeDouble(tempv/MA_Length,0); // AVERAGE VOLUME
Vol= iVolume(NULL, 0, i); // CURRENT VOLUME


double MIDDLEOFBAR = (High[i+1]+Low[i+1])/2; // EXACT MIDDLE
double UPOFBAR = (High[i+1]+Low[i+1])/2 + (High[i+1]-Low[i+1])/3.6; // UP CLOSE
double DOWNOFBAR = (High[i+1]+Low[i+1])/2 - (High[i+1]-Low[i+1])/3.6; // DOWN CLOSE




//----

if (SPREADHL > AvgSpread && Close < DOWNOFBAR && Vol > v4)
{
RED= NormalizeDouble(Volume,0);
}

if (Close < MIDDLEOFBAR)
{
RED= NormalizeDouble(Volume,0);
}

if (Close > MIDDLEOFBAR)
{
GREEN= NormalizeDouble(Volume,0);
}

if (SPREADHL > AvgSpread && Close > UPOFBAR && Vol > v4)
{
GREEN= NormalizeDouble(Volume,0);
}

if (High > High[i+1] && SPREADHL < AvgSpread/1.5 && Vol < v4)
{
GREEN= NormalizeDouble(Volume,0);
}

if (Low < Low[i+1] && SPREADHL < AvgSpread/1.5 && Vol > v4)
{
GREEN= NormalizeDouble(Volume,0);
}

if ((SPREADHL > AvgSpread && ( Close > DOWNOFBAR && Close < UPOFBAR ) && Vol > v4 && Vol < v4*1.5 && Vol > Vol[i+1]))
{
WHITE= NormalizeDouble(Volume,0);
}

if (SPREADHL < AvgSpread/1.5 && Vol < v4/1.5)
{
WHITE= NormalizeDouble(Volume,0);
}

if ( Close > DOWNOFBAR && Close < UPOFBAR )
{
WHITE= NormalizeDouble(Volume,0);
}

}
//----
return(0);
}
//+------------------------------------------------------------------+
 
#18
hi
yes it is MT4 code.
we have these already.
we are trying to convert to afl
---------------
here is the real code
-------------------------------------
/*
Generated by EX4-TO-MQ4 decompiler V4.0.469.1 [-]
Website: https://purebeam.biz
E-mail : [email protected]
*/
#property copyright "Copyright © 2009 - 2012 Hawkeye Traders"
#property link "http://www.HawkeyeTraders.com"

#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 White
#property indicator_color4 MediumVioletRed

#import "Hawkeye2012MT.dll"
int xCreateFunc2012();
int xDestroyFunc2012(int a0);
void H9_AddPriceData(int a0, double a1, double a2, double a3, double a4, int a5, int a6, int a7, int a8, int a9, double a10, int a11);
int H9_HV(int a0, int a1);
#import

extern string Alerts = "Off";
double g_ibuf_84[];
double g_ibuf_88[];
double g_ibuf_92[];
double g_ibuf_96[];
int gi_100;
string gs_104;

int init() {
SetIndexShift(0, 0);
SetIndexShift(1, 0);
SetIndexShift(2, 0);
SetIndexShift(3, 0);
SetIndexDrawBegin(0, 0);
SetIndexDrawBegin(1, 0);
SetIndexDrawBegin(2, 0);
SetIndexDrawBegin(3, 0);
SetIndexBuffer(0, g_ibuf_84);
SetIndexBuffer(1, g_ibuf_88);
SetIndexBuffer(2, g_ibuf_92);
SetIndexBuffer(3, g_ibuf_96);
SetIndexLabel(0, "Hawkeye Volume");
SetIndexLabel(1, "Hawkeye Volume");
SetIndexLabel(2, "Hawkeye Volume");
SetIndexLabel(3, "Hawkeye Volume");
SetIndexStyle(0, DRAW_HISTOGRAM);
SetIndexStyle(1, DRAW_HISTOGRAM);
SetIndexStyle(2, DRAW_HISTOGRAM);
SetIndexStyle(3, DRAW_HISTOGRAM);
gi_100 = xCreateFunc2012();
switch (Period()) {
case PERIOD_M1:
gs_104 = "1 min";
break;
case PERIOD_M5:
gs_104 = "5 mins";
break;
case PERIOD_M15:
gs_104 = "15 mins";
break;
case PERIOD_M30:
gs_104 = "30 mins";
break;
case PERIOD_H1:
gs_104 = "1 hour";
break;
case PERIOD_H4:
gs_104 = "4 hours";
break;
case PERIOD_D1:
gs_104 = "Daily";
break;
case PERIOD_W1:
gs_104 = "Weekly";
break;
case PERIOD_MN1:
gs_104 = "Monthly";
}
return (0);
}

int deinit() {
xDestroyFunc2012(gi_100);
return (0);
}

int start() {
int li_0;
int li_4;
int li_8;
if (AccountNumber() > 0) {
li_0 = AccountNumber();
if (li_0 > 99999999) li_0 -= 100000000 * (li_0 / 100000000);
li_8 = Bars - IndicatorCounted();
for (int li_12 = Bars; li_12 > 0; li_12--) {
H9_AddPriceData(gi_100, Open[li_12], High[li_12], Low[li_12], Close[li_12], Volume[li_12], Time[li_12], Period(), Period(), 2, Point, Bars - li_12);
li_4 = H9_HV(gi_100, li_0);
if (li_4 == 1) g_ibuf_84[li_12] = Volume[li_12];
if (li_4 == -1) g_ibuf_88[li_12] = Volume[li_12];
if (li_4 == 0) g_ibuf_92[li_12] = Volume[li_12];
}
g_ibuf_96[0] = Volume[li_12];
if (li_8 == 2) g_ibuf_96[1] = 0;
if (Alerts == "On" || Alerts == "ON" || Alerts == "on" || Alerts == "oN") {
if (li_8 == 2) {
if (g_ibuf_84[1] == Volume[1] && g_ibuf_84[2] != Volume[2]) Alert("Hawkeye Volume has turned Green: ", Symbol(), "-", gs_104);
if (g_ibuf_88[1] == Volume[1] && g_ibuf_88[1] != Volume[2]) Alert("Hawkeye Volume has turned Red: ", Symbol(), "-", gs_104);
}
}
}
return (0);
}
 
#19
hi
here is trend +stops mt4 coding
--------------------------
this helps to see what goes in-this is not afl
-----------------------------------------------
#property indicator_chart_window
#property indicator_buffers 7
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 White
#property indicator_color4 Lime
#property indicator_color5 Red
#property indicator_color6 Lime
#property indicator_color7 Red

#import "Hawkeye2012MT.dll"
int xCreateFunc2012();
int xDestroyFunc2012(int a0);
void H9_AddPriceData(int a0, double a1, double a2, double a3, double a4, int a5, int a6, int a7, int a8, int a9, double a10, int a11);
int H9_HSB(int a0, int a1, double a2, double a3, double a4);
double H9_HSBFSV(int a0, int a1, double a2, double a3, double a4);
double H9_HSBV(int a0, int a1, double a2, double a3, double a4);
double H9_HTV(int a0, int a1);
int H9_HT(int a0, int a1, double a2);
#import

extern string Trend_Speed = "Conservative";
extern string Pull_in_Stop = "On";
extern int Pull_in_Count = 15;
extern string Pull_in_Stop_to = "a";
extern string Stops = "On";
extern string Trend = "On";
extern string Trend_Alerts = "On";
extern string Stop_Alerts = "Off";
double g_ibuf_136[];
double g_ibuf_140[];
double g_ibuf_144[];
double g_ibuf_148[];
double g_ibuf_152[];
double g_ibuf_156[];
double g_ibuf_160[];
int gi_164;
string gs_168;
double gd_176;

int init() {
SetIndexShift(0, 0);
SetIndexShift(1, 0);
SetIndexShift(2, 0);
SetIndexShift(3, 0);
SetIndexShift(4, 0);
SetIndexShift(5, 0);
SetIndexShift(6, 0);
SetIndexDrawBegin(0, 0);
SetIndexDrawBegin(1, 0);
SetIndexDrawBegin(2, 0);
SetIndexDrawBegin(3, 0);
SetIndexDrawBegin(4, 0);
SetIndexDrawBegin(5, 0);
SetIndexDrawBegin(6, 0);
SetIndexBuffer(0, g_ibuf_136);
SetIndexBuffer(1, g_ibuf_140);
SetIndexBuffer(2, g_ibuf_144);
SetIndexBuffer(3, g_ibuf_148);
SetIndexBuffer(4, g_ibuf_152);
SetIndexBuffer(5, g_ibuf_156);
SetIndexBuffer(6, g_ibuf_160);
SetIndexStyle(0, DRAW_ARROW);
SetIndexArrow(0, 108);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 108);
SetIndexStyle(2, DRAW_ARROW);
SetIndexArrow(2, 108);
SetIndexStyle(3, DRAW_ARROW);
SetIndexArrow(3, SYMBOL_STOPSIGN);
SetIndexStyle(4, DRAW_ARROW);
SetIndexArrow(4, SYMBOL_STOPSIGN);
SetIndexStyle(5, DRAW_LINE, STYLE_SOLID);
SetIndexStyle(6, DRAW_LINE, STYLE_SOLID);
SetIndexLabel(0, "Hawkeye Trend");
SetIndexLabel(1, "Hawkeye Trend");
SetIndexLabel(2, "Hawkeye Trend");
SetIndexLabel(3, "Hawkeye FarStop");
SetIndexLabel(4, "Hawkeye FarStop");
SetIndexLabel(5, "Hawkeye Barrier");
SetIndexLabel(6, "Hawkeye Barrier");
gi_164 = xCreateFunc2012();
switch (Period()) {
case PERIOD_M1:
gs_168 = "1 min";
break;
case PERIOD_M5:
gs_168 = "5 mins";
break;
case PERIOD_M15:
gs_168 = "15 mins";
break;
case PERIOD_M30:
gs_168 = "30 mins";
break;
case PERIOD_H1:
gs_168 = "1 hour";
break;
case PERIOD_H4:
gs_168 = "4 hours";
break;
case PERIOD_D1:
gs_168 = "Daily";
break;
case PERIOD_W1:
gs_168 = "Weekly";
break;
case PERIOD_MN1:
gs_168 = "Monthly";
}
return (0);
}

int deinit() {
xDestroyFunc2012(gi_164);
return (0);
}

int start() {
int li_0;
double ld_4;
double ld_12;
double ld_20;
double ld_28;
double ld_36;
double ld_44;
double ld_52;
double ld_60;
double ld_68;
int li_76;
double ld_88;
double ld_96;
int li_104;
if (AccountNumber() > 0) {
li_0 = AccountNumber();
if (li_0 > 99999999) li_0 -= 100000000 * (li_0 / 100000000);
ld_68 = 2;
li_76 = Bars - IndicatorCounted();
if (StringSubstr(Trend_Speed, 0, 1) == "c" || StringSubstr(Trend_Speed, 0, 1) == "C") ld_4 = 2.0;
if (StringSubstr(Trend_Speed, 0, 1) == "n" || StringSubstr(Trend_Speed, 0, 1) == "N") ld_4 = 1.625;
if (StringSubstr(Trend_Speed, 0, 1) == "a" || StringSubstr(Trend_Speed, 0, 1) == "A") ld_4 = 1.25;
if (StringSubstr(Trend_Speed, 0, 1) == "c" || StringSubstr(Trend_Speed, 0, 1) == "C") ld_12 = 2.5;
else ld_12 = 2.25;
for (int li_80 = Bars; li_80 > 0; li_80--) {
H9_AddPriceData(gi_164, Open[li_80], High[li_80], Low[li_80], Close[li_80], Volume[li_80], Time[li_80], Period(), Period(), 2, Point, Bars - li_80);
if (Stops == "On" || Stops == "ON" || Stops == "on" || Stops == "oN") {
ld_20 = H9_HSB(gi_164, li_0, ld_4, ld_12, ld_4);
ld_52 = H9_HSBFSV(gi_164, li_0, ld_4, ld_12, ld_4);
if (StringSubstr(Pull_in_Stop_to, 0, 1) == "a" || StringSubstr(Pull_in_Stop_to, 0, 1) == "A") ld_68 = 1.25;
if (StringSubstr(Pull_in_Stop_to, 0, 1) == "n" || StringSubstr(Pull_in_Stop_to, 0, 1) == "N") ld_68 = 1.625;
ld_60 = H9_HSBFSV(gi_164, li_0, ld_68, ld_12, 2.0);
if (ld_20 != gd_176) {
ld_28 = 0;
ld_36 = 0;
ld_44 = 0;
}
ld_28 += 1.0;
td_84 = H9_HSB(gi_164, li_0, ld_68, ld_12, ld_68);
if (Pull_in_Stop == "On" || Pull_in_Stop == "ON" || Pull_in_Stop == "on" || Pull_in_Stop == "oN" || ld_4 == 2.0 || ld_4 == 1.625) {
if (ld_20 == 1.0) {
if (ld_28 >= Pull_in_Count && td_84 == 1) ld_36 = 1;
if (ld_36 == 1.0) g_ibuf_148[li_80] = ld_60;
if (ld_36 == 0.0) g_ibuf_148[li_80] = ld_52;
}
if (ld_20 == -1.0) {
if (ld_28 >= Pull_in_Count && td_84 == -1) ld_44 = 1;
if (ld_44 == 1.0) g_ibuf_152[li_80] = ld_60;
if (ld_44 == 0.0) g_ibuf_152[li_80] = ld_52;
}
} else {
if (ld_20 == 1.0) g_ibuf_148[li_80] = ld_52;
if (ld_20 == -1.0) g_ibuf_152[li_80] = ld_52;
}
ld_88 = H9_HSBV(gi_164, li_0, ld_4, ld_12, ld_4);
if (ld_20 == 1.0) g_ibuf_156[li_80] = ld_88;
if (ld_20 == -1.0) g_ibuf_160[li_80] = ld_88;
}
if (Trend == "On" || Trend == "ON" || Trend == "on" || Trend == "oN") {
ld_96 = H9_HTV(gi_164, li_0);
li_104 = H9_HT(gi_164, li_0, ld_4);
if (li_104 == 1) {
g_ibuf_136[li_80] = ld_96;
g_ibuf_140[li_80] = EMPTY_VALUE;
g_ibuf_144[li_80] = EMPTY_VALUE;
} else {
if (li_104 == -1) {
g_ibuf_136[li_80] = EMPTY_VALUE;
g_ibuf_140[li_80] = ld_96;
g_ibuf_144[li_80] = EMPTY_VALUE;
} else {
if (li_104 == 0) {
g_ibuf_136[li_80] = EMPTY_VALUE;
g_ibuf_140[li_80] = EMPTY_VALUE;
g_ibuf_144[li_80] = ld_96;
}
}
}
}
gd_176 = ld_20;
}
if (Stop_Alerts == "On" || Stop_Alerts == "ON" || Stop_Alerts == "on" || Stop_Alerts == "oN") {
if (li_76 == 2) {
if (g_ibuf_160[1] != EMPTY_VALUE && g_ibuf_160[2] == EMPTY_VALUE) Alert("Hawkeye Barrier has turned Red: ", Symbol(), "-", gs_168);
if (g_ibuf_156[1] != EMPTY_VALUE && g_ibuf_156[2] == EMPTY_VALUE) Alert("Hawkeye Barrier has turned Green: ", Symbol(), "-", gs_168);
}
}
if (Trend_Alerts == "On" || Trend_Alerts == "ON" || Trend_Alerts == "on" || Trend_Alerts == "oN") {
if (li_76 == 2) {
if (g_ibuf_136[1] != EMPTY_VALUE && g_ibuf_136[2] == EMPTY_VALUE) Alert("Hawkeye Trend has turned Green: ", Symbol(), "-", gs_168);
if (g_ibuf_140[1] != EMPTY_VALUE && g_ibuf_140[2] == EMPTY_VALUE) Alert("Hawkeye Trend has turned Red: ", Symbol(), "-", gs_168);
}
}
if (li_76 == 2) gd_176 = ld_20;
}
return (0);
}
 
#20
hi KelvinHand

While I got mt4 codes for indicators,still cant move an inch becoz we got stuck due to a missing dll file called
Hawkeye2012MT.dll

Well,I hope you have been able to get the TS eld codes and look at them.
Since I am not a tradestation user,I cant move forward .

status = Train halts.
Regards
ford
 

Similar threads