Welcome to Forex-TSD!, one of the largest Forex forums worldwide, where you will be able to find the most complete and reliable Forex information imaginable.
From the list below, select the forum that you want to visit and register to post, as many times you want. It’s absolutely free. Click here for registering on Forex-TSD.
Exclusive Forum
The Exclusive Forum is the only paid section. Once you subscribe, you will get free access to real cutting-edge Trading Systems (automated and not), Indicators, Signals, Articles, etc., that will help and guide you, in ways that you could only imagine, with your Forex trading.
Elite Section
Get access to private discussions, specialized support, indicators and trading systems reported every week.
Advanced Elite Section
For professional traders, trading system developers and any other member who may need to use and/or convert, the most cutting-edge exclusive indicators and trading systems for MT4 and MT5.
I think I remember someone saying there was an indicator somewhere that would show your order executions on the chart. Can someone please help me find how to get that feature on this? I want to watch it execute on the chart.
bump
i don't want this idea to get buried in the thread...I still think this is a good upgrade to the code too
man if all these ideas were brought together....I can only dream...and study tutorials..oy
see, I told you I'm full of ideas! I love to think in terms of system development. I just can't back it up yet with programming. I really wish I had a team of developers behind me who shared similar priorities with me on making profitable EA's.
I learned how to chage the code to allow me to get results from a smaller than 10TP setting. Those codersguru programming lessons are starting to make some use to me The smaller the TP 'to a point' the more equity this keeps.
I'm writing the version 3 of the EMA Cross!
Any new ideas?
Any comments?
THANKS FOR ALL THE POEPLES SHARED ME THIS THREAD !
Might you be able to write a version that works the same but i can set a setting to tell it not to buy and not to sell. I dont want to buy more when sell is off, just not do anything
Trades are long enough it would help to have this as i could always trade with the interest
Might you be able to write a version that works the same but i can set a setting to tell it not to buy and not to sell. I dont want to buy more when sell is off, just not do anything
Trades are long enough it would help to have this as i could always trade with the interest
Hi there,
first, thanks for all your effort
Would it be possible to code a function to send an email once a day with "the days result" (profit/loss for the day) i.e. at 9 pm?
Originally Posted by codersguru
I'm writing the version 3 of the EMA Cross!
Any new ideas?
Any comments?
THANKS FOR ALL THE POEPLES SHARED ME THIS THREAD !
I have spent some time studying this EA. It relies on retracement heavily. To really make this work there needs to be a method of detecting when sufficient retracement is unlikely and not enter positions in the direction which will need to be retraced to TP. If you can do that you'll really have something here. I have also been working with a similar EA that only opens one position at a time in the direction of the signal. It has the same problem in that it doesn't detect the limits of channeling patterns and ends up in positions which become abandoned like this EA does. The modification is simple in theory, don't allow long positions when near strong channel resistance levels and don't allow short positions near strong channel support levels. Keep the program from entering these. Keep it looking to the inside of the channel not the outside to make it's profits. It's when it looks outside the channel that it creates abandoned positions which hurt it.
how to detect channels? I don't know what works for that yet... Channeling Detection
I have a question about which time frame channel lines to pay most attention to. What I really need to know is how to include this indicator in the executing logic of the ea I'm working with. I'm not that far with my learning how to program yet. I'd like to use these channel lines to limit the EA from getting into positions that would have to close outside the channel. I am working in a 5m chart but the channel in that TF is too small.
the 15m chart shows a channel size of 65 and slope of .53 while the 30m chart shows a channel size of 246 and slope of -1.62. That's quite divergent. The only way I know how to manage this sort of dilemma is to put the backtest thumbscrews down on it and be able to change the settings of the indicator as to which TF is uses and see which works the best.
I also found this breakout indicator..
PHP Code:
//+------------------------------------------------------------------+ //| 5dayBreakout.mq4 | //| Bill Sica | //| http://www.tetsuyama.com | //+------------------------------------------------------------------+ #property copyright "Bill Sica" #property link "http://www.tetsuyama.com"
#property indicator_chart_window //---- input parameters extern int DAYS=5; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+
int init() { //---- indicators
//---- indicators
//---- return(0); }
//+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { double daily_high1[20]; double daily_low1[20]; double yesterday_close; double phigh,plow; int i=1;
//---- TODO: add your code here ArrayResize(daily_high1,DAYS); ArrayResize(daily_low1,DAYS); ArrayInitialize(daily_high1,0); ArrayInitialize(daily_low1,0);
#property copyright "ANG3110@latchess.com"
//----------------------------------
#property indicator_chart_window
//----------------------------------
extern int Hours=24;
extern color col=SkyBlue;
//------------------
double lr,lr0,lrp;
double sx,sy,sxy,sx2,aa,bb;
int p,sName,fs;
int f,f0,f1;
double dh,dl,dh_1,dl_1,dh_2,dl_2;
int ai_1,ai_2,bi_1,bi_2;
double hai,lai,dhi,dli,dhm,dlm,ha0,hap,la0,lap;
double price_p1,price_p0,price_p2,price_01,price_00,price_02;
int p1,p0,p2,fp;
//*****************************************
int init() {
p=Hours*60/Period();
if (fs==0) {sName=CurTime(); fs=1;}
return(0);}
//*******************************
int deinit() {
ObjectDelete("1"+sName);
ObjectDelete("0"+sName);
ObjectDelete("2"+sName); }
//*******************************
int start() {
int i,n;
//------------------------------------------------------------------------------
if (f==1) {
p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName,OBJPROP_TIME1));
p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1));
p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1));
if (fp==0 && p!=p1) {p=p1; fp=1;}
if (fp==0 && p!=p0) {p=p0; fp=1;}
if (fp==0 && p!=p2) {p=p2; fp=1;}
}
//====================================================
sx=0; sy=0; sxy=0; sx2=0;
for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);}
aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1);
//----------------------------------------------------
for (i=0; i<=p; i++) {
lr=bb+aa*i;
dh=High[i]-lr; dl=Low[i]-lr;
//----------------------------------------------------
if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i;}
if (dh>=dh_1) {dh_1=dh; ai_1=i;}
if (dl<=dl_1) {dl_1=dl; bi_1=i;}}
//----------------------------------------------------
if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i;}
if (dh>=dh_2) {dh_2=dh; ai_2=i;}
if (dl<=dl_2) {dl_2=dl; bi_2=i;}}}
//-------------------------------------
lr0=bb; lrp=bb+aa*(i+p);
//===================================================
if (MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2)) f=1;
if (MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2)) f=2;
if (MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {if (MathAbs(dh_1-dh_2)<MathAbs(dl_1-dl_2)) f=1; if (MathAbs(dh_1-dh_2)>=MathAbs(dl_1-dl_2)) f=2;}
//=================================================
if (f==1) {
for (n=0; n<=20; n++) { f1=0;
for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);
if (i==0 || i==p/2) dhm=0.0;
if (High[i]-hai>dhm && i<p/2) {ai_1=i; f1=1;}
if (High[i]-hai>dhm && i>=p/2) {ai_2=i; f1=1;} }
if (f==0) break;}
//----------------------------
for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1);
dli=Low[i]-hai;
if (i==0) dlm=0.0; if (dli<dlm) dlm=dli;}
ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);
hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);
//----------------------------
price_p1=hap;
price_p0=hap+dlm/2;
price_p2=hap+dlm;
price_01=ha0;
price_00=ha0+dlm/2;
price_02=ha0+dlm;
}
//=================================================
if (f==2) {
for (n=0; n<=20; n++) { f1=0;
for (i=0; i<=p; i++) {lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1);
if (i==0 || i==p/2) dlm=0.0;
if (Low[i]-lai<dlm && i<p/2) {bi_1=i; f1=1;}
if (Low[i]-lai<dlm && i>=p/2) {bi_2=i; f1=1;}}
if (f==0) break;}
//----------------------------
for (i=0; i<=p; i++) {lai=Low[bi_1]*(i-bi_2)/(bi_1-bi_2)+Low[bi_2]*(i-bi_1)/(bi_2-bi_1);
dhi=High[i]-lai;
if (i==0) dhm=0.0; if (dhi>dhm) dhm=dhi;}
la0=Low[bi_1]*(0-bi_2)/(bi_1-bi_2)+Low[bi_2]*(0-bi_1)/(bi_2-bi_1);
lap=Low[bi_1]*(p-bi_2)/(bi_1-bi_2)+Low[bi_2]*(p-bi_1)/(bi_2-bi_1);
//----------------------------------------------------------------
price_p1=lap;
price_p0=lap+dhm/2;
price_p2=lap+dhm;
price_01=la0;
price_00=la0+dhm/2;
price_02=la0+dhm;
}
//===================================================================================
ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01);
ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00);
ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);
//-----------------------------------------------------------------
ObjectSet("1"+sName,OBJPROP_COLOR,col);
ObjectSet("0"+sName,OBJPROP_COLOR,col);
ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT);
ObjectSet("2"+sName,OBJPROP_COLOR,col);
//---------------------------------------------
ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);
ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);
ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);
ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);
ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);
ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);
//==================================================================
f=1; p1=p; p0=p; p2=p; fp=0;
//*************************************************************************************
return(0);}
//=====================================================================================
ok this one doesn't give me different slopes on each time frame. It depends on how far back I draw the lines as to what the slope is...
hum, that's three ways to do it now...
one that uses highest highs and lowest lows, one that slopes divergent ways and this one....I'm shy on the one what gives divergent slopes in each TF. If I'm making a filter from it I can't wrap my mind around the slope changing so volitily.