Teodosi simple system... 1500 pips weekly

 

I found this system that can make 1500 pips or more in a week, about 200-300 pips or more a day!

The system is this:

GBP/JPY in 1h chart

Stoch(5,3,3)

RSI(7)

The idea is this ...

Use Stoch and RSI just to define where it is possible to have a breakout.

Then use the most profitable tool - candlesticks.

The author makes more than 1500 pips only from GBP/JPY for week. He only uses it for GBP/JPY.

Rules are this:

Sell: when RSI and Stoch are bought (>50) or they are overbought (75), and we have down candle which has closed at least at the middle or below of the last up candle.

Stoploss at 100 pips.

Buy: when RSI and Stoch are sold (<50) or they are oversold (25), and we have up candle which has closed at the middle or above of the last down candle.

Stoploss at 100 pips.

Exit: when the conditions of the opposite trade are met.

Ex: If you are in a sell trade, RSI and Stoch are oversold and there is an up candle that closed at least the middle of the last down candle. Then open buy trade.

very very very simple and very profitable system

Note: It CAN be used in other currencies, but the values would have to be adjusted for each of them, for example decreasing the stoploss as GBP/JPY is a very volatile currency.

So, that's it. It's really simple. As this isn't my system, I've backtested it for a while and everything seems good. Most of the trades close well at profit, however as in every system there are losses and you should be aware of that... this is NOT the Holy Grail, it's just a profitable system and there should be ways to increase it's performance.

I posted this system from another page in order to spread it to other traders and together better up the system.

In my backtesting experience I found that although it gives great profit, there are times where it gives a false signal and that's when it hits the stoploss. I don't know too much about indicators but there might be one or two that should help in decreasing the number of false alarms.

Another thing, I found that some false alarms were avoided if you waited until the RSI crossed the 60 or 40 (depending on the type of trade) instead of the original 50. And for the Stoch it was more effective to take into account overbought at 70 and oversold at 30. Also, there might be cases where you can take into account 2 bars comparing them to the previous one, but I'm not sure when you decide that, might be if the first bar was too short.

I think I read in the comments that it was enough that the Stoch and RSI touched the overbought/oversold line to close the trade, as long as it didn't fall below/above the 50 line. That was in the original post comments if you want to check better.

You don't use the forming bar (bar 0) as it can still change, use only finished bars... starting from bar 1.

This is a simple strategy and I was planning to program it into an EA, however my programming skills aren't that great. However I can contribute with ideas. While backtesting I was always thinking of it as a programmable strategy so here are my ideas so far:

1. First of all, the system's ideas:

+ To open sell order

- Close buy order

- Stoch>50 (my suggestion: Stoch>60, or better overbought...Stoch>70)

- RSI>50 (my suggestion: RSI>60...it's difficult to get it overbought, but it would be best)

- Bar 2 is up (open price<close price)

- Bar 1 is down (open price>close price)

- Close price of bar 1<= middle of bar 2 (lowest price+(highest price-lowest price)/2)... (if you take 2 down bars into account the bar number will change)

- If all conditions are met, open trade with +100 pips stoploss

+ To open buy order

- Close sell order

- Stoch<50 (my suggestion: Stoch<40, or better oversold...Stoch<30)

- RSI<50 (my suggestion: RSI<40...it's difficult to get it oversold, but it would be best)

- Bar 2 is down (open price>close price)

- Bar 1 is up (open price<close price)

- Close price of bar 1>= middle of bar 2 (lowest price+(highest price-lowest price)/2)... (if you take 2 down bars into account the bar number will change)

- If all conditions are met, open trade with -100 pips stoploss

2. My ideas:

- Use an intelligent Money Management that calculates the lots in an order depending on a percentage of the balance in the account (code for this at the end)

- Could use a trailing stop of 100 pips instead of the original 100 pips static stoploss (don't know if it's best for this particular strategy) (code for this at the end)

- Stoploss/trailing stop value as extern variable

- Put a tolerance extern variable for the middle of the previous bar (positive value here would make tolerance and negative value take away tolerance... obviously )

- Another tolerance extern variable for Stoch and RSI (maybe default for both tolerances should be of 0 and that would be no tolerance, but it's always good to have the control all the time)

- Maybe take into account the slopes of Stoch and RSI graphs to decide whether it's a false or true signal (if it makes any difference, if not don't bother) (slope=change in y{value of indicator}/change in x{number of bars the sample was taken from})

Of course, I don't have much experience so feel free to change any of the ideas I suggested. These are just ideas I came with during my tests. Any new idea is welcome.

If you find any other condition that might differ a true signal from a false one, please post it as it would be very useful. I can help in changing them into mathematical language too, as well as some simple coding. I don't have a lot of experience coding , but I know the syntax so I hope my previous ideas were of any help.

Coding Ideas:

Money Management:

extern double Percentage_in_Risk=0.05;

double lots=AccountBalance()*Percentage_in_Risk/1000;

(use "lots" variable in the OrderSend() section for lots)

Trailing Stop for Buy Order:

extern double TrailingStop=100;

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>TrailingStop*Point)

{

if((OrderStopLoss()<Bid-TrailingStop*Point) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-TrailingStop*Point,OrderTakeProfit(),0);

return(0);

}

}

}

Trailing Stop for Sell Order:

extern double TrailingStop=100;

if(TrailingStop>0)

{

if(OrderOpenPrice()-Ask>TrailingStop*Point)

{

if((OrderStopLoss()>Ask+TrailingStop*Point) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+TrailingStop*Point,OrderTakeProfit(),0);

return(0);

}

}

}

To check for new bar

bool new_bar;

static datetime newtime=0;

new_bar=false;

if(newtime!=Time[0])

{

newtime=Time[0];

new_bar=true;

}

Feel free to use those code samples and modify them as you will, they're only in case you don't know how to make it. I'm sure you won't have those problems, but I still want to provide as much help as I can. If you need anything just ask, you can post it or write me an e-mail

Any help would be appreciated, feel free to adopt this system either manually or automatically when the EA is finished. It will be free of course and once again thank Teodosi for publishing this simple but profitable system.

David,

davido262@gmail.com

Original Post: Forex trading strategy #17 (Teodosi simple system) | Forex strategies revealed

there is some interesting information in the comments

Attention: this system was NOT created by me, all credits to Teodosi

 

Hi, Davido!

looks and sounds good;

- what about Bollinger Bands? (on the chart - standard settings? and what their role?)

thank you

 
fxbs:
Hi, Davido!

looks and sounds good;

- what about Bollinger Bands? (on the chart - standard settings? and what their role?)

thank you

Hi, good to see interest in the thread. Well about the Bollinger Bands, I unfortunately haven't used them so I have no experience with them. Please if you or anyone else has used them post a quick description. I only have a very basic idea, but I've read some strategies that use Bollinger Bands and they seem to be useful.

Thanks for your interest, I hope more people join our goal.

 

the entry logic is good, I am not sure about the exit

 
MiniMe:
the entry logic is good, I am not sure about the exit

First of all, I appreciate your interest on the thread. I'm not a big fan of the Martingale because losses could be really big, but I don't know what you refer with a 3 level Martingale and scale in. Right now I'm open to new suggestions and all your opinions are welcome and appreciated.

 

One quick note: I don't believe your new bar function will work. Every tick start() is called. This means if you declare a variable, it will be re-initialized every time. In this case, every single tick will be considered a new bar. The only way around this that I've found is to use a file or object storing the time of the previous bar's open, and comparing it to the current one, and deleting/creating again on a new one.

I was looking at the way this performs, and created a little test, and it seems that strong trends will bash this thing. It works OK when ranging, but in a trending market it will consistently trade against the flow, creating loss after loss.

Maybe there's a way around that? Personally I'd want it to stay in consistently and simply trade back and forth, but that may not be the best idea either.

 
AirforceMook:
One quick note: I don't believe your new bar function will work. Every tick start() is called. This means if you declare a variable, it will be re-initialized every time. In this case, every single tick will be considered a new bar. The only way around this that I've found is to use a file or object storing the time of the previous bar's open, and comparing it to the current one, and deleting/creating again on a new one.

I was looking at the way this performs, and created a little test, and it seems that strong trends will bash this thing. It works OK when ranging, but in a trending market it will consistently trade against the flow, creating loss after loss.

Maybe there's a way around that? Personally I'd want it to stay in consistently and simply trade back and forth, but that may not be the best idea either.

Thanks for your feedback. You seem to have an important point that should be taken into consideration. I really haven't tested it for a lot of time, but the author claims to be consistently making profit of this system (with normal losses too of course).

For the time I'm busy writing some code for another EA so whenever I finish I will check the issue about strong trends. If you could please tell me some examples during the past timeframe would help a lot to see what all the losses have in common.

These are the kind of issues that need to be spotted in time and help find a way around.

Thank you AirforceMook.

Tip: the new bar function does work. I've used it before and it works because it does store the last bar's information. The "static" before the newtime variable makes that the new values are saved even though a new tick activated the start(). I hope this helps you to reduce the amount of code you write.

 

In simple words:

exit at reverse entry conditions will kill the profit

trailing will close profitable trades too soon.

if you are confident about your entry better take another trade when you have a -ve float, on the condition not to go against the main trend

I ain't interested in the method , I was just trying to help

davido:
First of all, I appreciate your interest on the thread. I'm not a big fan of the Martingale because losses could be really big, but I don't know what you refer with a 3 level Martingale and scale in. Right now I'm open to new suggestions and all your opinions are welcome and appreciated.
 

Thank you, your help is appreciated. That gives me a better idea of how to use the method and I will try to find another way to close the trades.

 

I never noticed the static! I haven't tried this. Excellent suggestion, this may be a key to a major headache of mine!

 
AirforceMook:
I never noticed the static! I haven't tried this. Excellent suggestion, this may be a key to a major headache of mine!

Glad that helped

Reason: