Jump to content

Recommended Posts

Posted

Hi

 

Looked at this many years ago. They did have a version for TS but I did not buy it.

 

There are some discussions on Forums on the web I recall.

 

In order to code it you need to know what those indicators are:

 

My guess is Kenter channel, Stepped Average, Exp Moving Average.....

 

If you can work this out - or get a copy of the Tradestation version then you have a chance of being able

to get it coded up as the coding is not the hard part....

 

See what you can find out.

Posted

Hi

 

Just did a search and found this ?? Maybe you can tell me if it works

 

 

//+------------------------------------------------------------------+

//| trendsignal.mq4

//| contact pankajbhaban@gmail.Com

//+------------------------------------------------------------------+

 

 

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 DodgerBlue

#property indicator_color2 Magenta

 

//---- input parameters

extern int RISK=3;

extern int CountBars=350;

extern int Alert_Delay_In_Seconds=0;

extern bool Enablemail = true;

extern string subjectUp="Buy signal";

extern string subjectDown="Sell signal";

extern string textUp="Long ";

extern string textDown="Short ";

int SSP=9;

int PrevAlertTime=0;

//---- buffers

double val1[];

double val2[];

double alertBar;

 

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

string short_name;

//---- indicator line

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,234);

SetIndexBuffer(0,val1);

SetIndexBuffer(1,val2);

//----

return(0);

}

//+------------------------------------------------------------------+

//| SilverTrend_Signal |

//+------------------------------------------------------------------+

int start()

{

if (CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars+SSP);

SetIndexDrawBegin(1,Bars-CountBars+SSP);

int i,shift,counted_bars=IndicatorCounted();

int i1,i2,K;

double Range,AvgRange,smin,smax,SsMax,SsMin,price;

bool uptrend,old;

//----

 

if(Bars<=SSP+1) return(0);

//---- initial zero

if(counted_bars<SSP+1)

{

for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;

for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;

}

//----

 

K=33-RISK;

for (shift = CountBars-SSP; shift>=0; shift--)

{

 

Range=0;

AvgRange=0;

for (i1=shift; i1<=shift+SSP; i1++)

{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1]);

}

Range=AvgRange/(SSP+1);

 

SsMax=High[shift]; SsMin=Low[shift];

for (i2=shift;i2<=shift+SSP-1;i2++)

{

price=High[i2];

if(SsMax<price) SsMax=price;

price=Low[i2];

if(SsMin>=price) SsMin=price;

}

 

smin = SsMin+(SsMax-SsMin)*K/100;

smax = SsMax-(SsMax-SsMin)*K/100;

val1[shift]=0;

val2[shift]=0;

if (Close[shift]<smin)

{

uptrend = false;

}

if (Close[shift]>smax)

{

uptrend = true;

}

if (uptrend!=old && uptrend==true)

{

val1[shift]=Low[shift]-Range*0.5;

 

if (Bars>alertBar && shift==0 && (CurTime() - PrevAlertTime > Period()*Alert_Delay_In_Seconds))

{

Alert("Trendsignal ",Period()," ",Symbol()," BUY");alertBar = Bars;

if(Enablemail == true) {SendMail(subjectDown+" "+ Symbol(),textDown+" "+ Close[1]+" "+ Symbol()); }

PrevAlertTime = CurTime();

}

}

if (uptrend!=old && uptrend==false)

{

 

val2[shift]=High[shift]+Range*0.5;

if (Bars>alertBar && shift==0 && (CurTime() - PrevAlertTime > Period()*Alert_Delay_In_Seconds))

{

Alert("Trendsignal ",Period()," ",Symbol()," SELL");alertBar = Bars;

if(Enablemail == true) {SendMail(subjectUp +" "+ Symbol(),textUp+" "+ Close[1]+" " + Symbol());}

PrevAlertTime = CurTime();

 

}

}

Comment(shift);

old=uptrend;

 

}

return(0);

}

//+------------------------------------------------------------------+

Posted
  DaveWuk said:
Hi

 

Just did a search and found this ?? Maybe you can tell me if it works

 

 

//+------------------------------------------------------------------+

//| trendsignal.mq4

//| contact pankajbhaban@gmail.Com

//+------------------------------------------------------------------+

 

 

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 DodgerBlue

#property indicator_color2 Magenta

 

//---- input parameters

extern int RISK=3;

extern int CountBars=350;

extern int Alert_Delay_In_Seconds=0;

extern bool Enablemail = true;

extern string subjectUp="Buy signal";

extern string subjectDown="Sell signal";

extern string textUp="Long ";

extern string textDown="Short ";

int SSP=9;

int PrevAlertTime=0;

//---- buffers

double val1[];

double val2[];

double alertBar;

 

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

string short_name;

//---- indicator line

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_ARROW);

SetIndexArrow(0,233);

SetIndexStyle(1,DRAW_ARROW);

SetIndexArrow(1,234);

SetIndexBuffer(0,val1);

SetIndexBuffer(1,val2);

//----

return(0);

}

//+------------------------------------------------------------------+

//| SilverTrend_Signal |

//+------------------------------------------------------------------+

int start()

{

if (CountBars>=Bars) CountBars=Bars;

SetIndexDrawBegin(0,Bars-CountBars+SSP);

SetIndexDrawBegin(1,Bars-CountBars+SSP);

int i,shift,counted_bars=IndicatorCounted();

int i1,i2,K;

double Range,AvgRange,smin,smax,SsMax,SsMin,price;

bool uptrend,old;

//----

 

if(Bars<=SSP+1) return(0);

//---- initial zero

if(counted_bars<SSP+1)

{

for(i=1;i<=SSP;i++) val1[CountBars-i]=0.0;

for(i=1;i<=SSP;i++) val2[CountBars-i]=0.0;

}

//----

 

K=33-RISK;

for (shift = CountBars-SSP; shift>=0; shift--)

{

 

Range=0;

AvgRange=0;

for (i1=shift; i1<=shift+SSP; i1++)

{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1]);

}

Range=AvgRange/(SSP+1);

 

SsMax=High[shift]; SsMin=Low[shift];

for (i2=shift;i2<=shift+SSP-1;i2++)

{

price=High[i2];

if(SsMax<price) SsMax=price;

price=Low[i2];

if(SsMin>=price) SsMin=price;

}

 

smin = SsMin+(SsMax-SsMin)*K/100;

smax = SsMax-(SsMax-SsMin)*K/100;

val1[shift]=0;

val2[shift]=0;

if (Close[shift]<smin)

{

uptrend = false;

}

if (Close[shift]>smax)

{

uptrend = true;

}

if (uptrend!=old && uptrend==true)

{

val1[shift]=Low[shift]-Range*0.5;

 

if (Bars>alertBar && shift==0 && (CurTime() - PrevAlertTime > Period()*Alert_Delay_In_Seconds))

{

Alert("Trendsignal ",Period()," ",Symbol()," BUY");alertBar = Bars;

if(Enablemail == true) {SendMail(subjectDown+" "+ Symbol(),textDown+" "+ Close[1]+" "+ Symbol()); }

PrevAlertTime = CurTime();

}

}

if (uptrend!=old && uptrend==false)

{

 

val2[shift]=High[shift]+Range*0.5;

if (Bars>alertBar && shift==0 && (CurTime() - PrevAlertTime > Period()*Alert_Delay_In_Seconds))

{

Alert("Trendsignal ",Period()," ",Symbol()," SELL");alertBar = Bars;

if(Enablemail == true) {SendMail(subjectUp +" "+ Symbol(),textUp+" "+ Close[1]+" " + Symbol());}

PrevAlertTime = CurTime();

 

}

}

Comment(shift);

old=uptrend;

 

}

return(0);

}

//+------------------------------------------------------------------+

 

 

Ive seen and tested this, its arrows on a chart where it thinks you can buy or sell, it's not what I'm looking for and doesn't work unfortunately. :)

  • 4 weeks later...
Posted
There is also another thing you overlooked ''You will be required to make a subscription with Ensign Software for $49.95 per month. If wanting to day trade markets other than Forex, a seperate data feed may be required.''

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...