RSI trading system - general idea, opened positions control - problem

 
Hi,

I am new here and I am not programmer (yet). I have an idea I want to share  with you all and finally check it in practice / test. 
I found interesting piece of program (autor Joni) which I  modified a little bit.
Originally ROBOT buys or sells when RSI riches levels 30 or 70.
 It buys a few times at 30 and finally closes all buy-op at   70. Same for sell op at 70 RSI level. 
This tactic unfortunately leads to big looses so I decided to change this.

Practice shows that usually the very last operations from continuing buying/selling are profitable. That is why lot is variable. Robot changes it , Lot starts from 0.01 and increase it *2 or according to simple function (or factor).  
Generally I also don't want to trade with lot >2 so I put the limit:

if (lotb>=2) lotb=0.2 ;
 if (lotss>=2) lotss=0.2;

*******************************************
   if(_typeTrade==1){lotss=0.01; openOrder(OP_BUY,(lotb),SL,TP); closeAllSell();lotb=lotb*2;}
   if(_typeTrade==-1){lotb=0.01;  openOrder(OP_SELL,lotss,SL,TP); closeAllBuy();lotss=lotss*2;}

**********************************************

(typeTrade = 1 if RSI <=30.... so on


It works perfectly...

To avoid keeping loose ops too long I would like to control them at every bar close or thick. Let's say if all opened ops loos is about to 50$  I would like to close all ops straight away:


Very often trading goes 'in wrong direction' from the beginning. In that case I don't want to increase lot and closeAllSell / closeAllBuy at assuming loss level  . Let's say : 
if SellProfit > -10$ - close all ops.

And finally :

I found a piece of code what can control opened positions :

 //*****************
 //  int j;
 //  int ordersTotal1=OrdersTotal();
//   for(j=ordersTotal1-1; j>=0; j --)
     
//      if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES))
        
//         if(OrderMagicNumber()==magic && OrderType()==OP_SELL)
//         {
//           SellProfit += OrderProfit();
//*****************************************************


The problem is : I don't know how to us it :) Where to paste it :)

I tried here :

  if(_typeTrade==-1){lotb=0.01; {XXXXXXXXXXXXXXX}; openOrder(OP_SELL,lotss,SL,TP); closeAllBuy();lotss=lotss*2;}


It checks opened positions but only if RSI is at 70 / 30. It doesn't satisfy  me...
   


I am sorry for my broken English. I hope that everyone who wanted understand my idea could understand...
Any help ? :)

Kind regards
Kris
Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 

Forum on trading, automated trading systems and testing trading strategies


Hello,

Please use the SRC button when you post code. Thank you.


This time, I edited it for you.


 
Alain Verleyen:

Thank you very much Dude :)

 

Kind Regards

Kris