Página 1 de 1

Novato pidiendo ayuda MT5

Publicado: 07 Feb 2015 13:40
por Cristoff
Hola a todos.

Necesito ayuda con el trailing stop, en este caso estoy usando mql5 y la función PositionModify.
La cuestión es que este código funciona, cuando la diferencia entre el BID y el precio de apertura es igual en puntos al StopLoss pues subo el Stop donde esta el BID.

He establecido un magic number con esta función "trade.SetExpertMagicNumber(magicNumber);"

La cuestión es que cuando el trailing se activa y la posición se cierra con el nuevo Stop, pues luego ya no me abre mas posiciones.

Con trailing Stop
Imagen

Sin trailing Stop
Imagen


Solo existe una posición abierta de cada vez, y solo está funcionando un EA con un solo simbolo

Código: Seleccionar todo

   if(vendido==true){
        if(PositionSelect(_Symbol)){
            if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY){
        
            pr=NormalizeDouble((SymbolInfoDouble(_Symbol,SYMBOL_BID)-PositionGetDouble(POSITION_PRICE_OPEN)),_Digits)/_Point;
            profit=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID)-PositionGetDouble(POSITION_PRICE_OPEN),_Digits)/_Point;
            new_TP=PositionGetDouble(POSITION_TP);
            //new_TP=NormalizeDouble(PositionGetDouble(POSITION_PRICE_OPEN)+(TP*_Point),_Digits);
            new_sl=NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
            
          
           if(profit==StopLoss){ //int StopLoss=400 int TP=800
               
           
               if(trade.PositionModify(_Symbol,new_sl,new_TP))
                  Print("Todo bien: ",trade.ResultRetcode()," , ",trade.ResultRetcodeDescription());
               else
                  Print("Todo mal: ",trade.ResultRetcode()," , ",trade.ResultRetcodeDescription());
            } 
            
            if(pr>=TP){   
                  trade.PositionClose(_Symbol);
                  vendido=false; //to check the EA doesn't open 2 positions at same time
               }
               if(pr<=-StopLoss){ //StopLoss int 400
                  trade.PositionClose(_Symbol);
                  vendido=false;
               }
                
              }


Un saludo y gracias.

Re: Novato pidiendo ayuda MT5

Publicado: 07 Feb 2015 22:10
por Gamelu
En la pestaña ... Diario creo... En el tester se registran los errores... Probablemente sea por k tienes k resetear el stop...
If ( orderstotal == 0 ) stoploss=400;


No he podido leer el codigo por que estoy con el movil.

Re: Novato pidiendo ayuda MT5

Publicado: 07 Feb 2015 22:56
por Cristoff
Gracias por contestar, voy a intentar probar lo que me dijiste a ver si me sale.

Este es el diario

Imagen

Re: Novato pidiendo ayuda MT5

Publicado: 09 Feb 2015 00:41
por Cristoff
Gamelu escribió:En la pestaña ... Diario creo... En el tester se registran los errores... Probablemente sea por k tienes k resetear el stop...
If ( orderstotal == 0 ) stoploss=400;


No he podido leer el codigo por que estoy con el movil.


Que va no me funciona, igual es que lo estoy haciendo mal, creo que en este caso es PositionsTotal pero yo estoy buscando en ejemplos y no me doy cuenta que en mql4 también hagan lo de resetear el StopLoss.

Gracias por contestar