Requests & Ideas, the beginning - page 149

 
oguz:

 Hi, @mntiwana

I've tried to rename below indicators but did not. :(

Can you update their names for build 950 please ? 

Thank you very much...

i think that should be this way.

 Advanced StepRSI + smoothing + fl's + alerts + arrows

 Macd averages tape + lines + alerts + arrows

 ocn nma smooth 3_4 histo

 adaptive ema variation histo + filter 2.01 mtf + alerts

 adaptive ema variation histo + filter 2.01

 Adaptive Laguerre Filter mtf + alerts 3_2 histo

 StepMA of rsi adaptive ema 2_3 

       

(i dont know if there is some version like 2.3.1 too....in case,just remove__1)

any way you came with bundle of renamed/miss named ...... you have to wait till every thing will be normal , then start down loading,if you have doubts that you will not be allowed then,lol.

 
mntiwana:

i think that should be this way.

 Advanced StepRSI + smoothing + fl's + alerts + arrows

 Macd averages tape + lines + alerts + arrows

 ocn nma smooth 3_4 histo

 adaptive ema variation histo + filter 2.01 mtf + alerts

 adaptive ema variation histo + filter 2.01

 Adaptive Laguerre Filter mtf + alerts 3_2 histo

 StepMA of rsi adaptive ema 2_3 

       

(i dont know if there is some version like 2.3.1 too....in case,just remove__1)

any way you came with bundle of renamed/miss named ...... you have to wait till every thing will be normal , then start down loading,if you have doubts that you will not be allowed then,lol.

Unfortunately, it did not accepted. The problem continues :(

Ok thank you ver much your support my friend...

 
oguz:

Unfortunately, it did not accepted. The problem continues :(

Ok thank you ver much your support my friend...

the same names working with me properly,i guess you don't have only one issue as mis named but there are some more issues too.
 
mntiwana:
the same names working with me properly,i guess you don't have only one issue as mis named but there are some more issues too.

Adaptive Laguerre Filter mtf + alerts 3_2 histo and StepMA of rsi adaptive ema 2_3 I have too and written exactly this way.

 

Hi,

I'm testing the code Get_Trail_Stop() in the latest version of MT4 but unfortunately it is not working.

This code is compatible with the latest version of MT4?


This stop is what I need to save the profit every x pips.

Thank you,

Rogério

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~General Variables:
int     iReverse_Logic=1;
int     iMaximum_Slip=2;
//~~~~~~~~~~~~~~~OrderSend Variables:
int     iType;
double  iPrice;
int     iMagic=777;
color   iColor;
int     iSlippage;
double  iLot=0.1;
//~~~~~~~~~~~~~~~MarketInfo Variables:
int     iSpreads;
double  iPoint2Pip;
double  iPip2Point;
double  iPip2Real;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void start(){
    Get_Market_Info();
    //~~~~~~~~~~~~~~~
    if(OrdersTotal()==0){
        Get_Direction();
        OrderSend(Symbol(),iType,iLot,iPrice,iSlippage,0,0,
        "Comment: Magic="+iMagic+"  Spreads="+iSpreads,
        iMagic,0,iColor);
    }
    //~~~~~~~~~~~~~~~
    if(OrdersTotal()> 0){
        Get_Trail_Stop();
    }
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Get_Direction(){
    iReverse_Logic= -(iReverse_Logic);
    if(iReverse_Logic== 1){ iType=0; iPrice=Ask; iColor=Blue;}
    if(iReverse_Logic==-1){ iType=1; iPrice=Bid; iColor=Red; }
    iSlippage=iMaximum_Slip*iPip2Point;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Get_Market_Info(){
    iSpreads=MarketInfo(Symbol(),MODE_SPREAD);
    //~~~~~~~~~~iPoint2Pip:
    iPoint2Pip=Point;
    if(Digits==3){iPoint2Pip=0.01;}//------------------ Japanese Yen Standard Pip
    if(Digits==5){iPoint2Pip=0.0001;}//---------------- Other Currency Standard Pip
    //~~~~~~~~~~iPip2Real:
    if(Digits==2 || Digits==3){iPip2Real=100;}//------- Japanese Yen Standard Pip in Integer
    if(Digits==4 || Digits==5){iPip2Real=10000;}//----- Other Currency Standard Pip in Integer
    //~~~~~~~~~~iPip2Point
    if(Digits==4){iPip2Point=1;}else{iPip2Point=10;}//- Turn Integer Standard Pip into Points
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Get_Trail_Stop(){
    int Direction;
    //~~~~~~~~~~~~~~~Arrays Index/Columns Corresponds
    int Pip_Gain_Modify_Trigger[5]=  {20, 40, 60, 80, 100};
    int Percentage_To_Lock_In[5]=    {40, 50, 60, 70, 80};
    int Order_Profit_In_Pips;
    int Lock_Value_In_Integer;
    int Stop_Distance_In_Integer;
    double New_StopLoss_Price;
    //~~~~~~~~~~~~~~~
    for(int i=OrdersTotal()-1; i>=0; i--){
        if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)
        && OrderSymbol()==Symbol()
        && OrderMagicNumber()==iMagic
        && OrderProfit()>0
        ){
            if(OrderType()==0){Direction=1;}else{Direction=-1;}
            for(int j=ArraySize(Pip_Gain_Modify_Trigger)-1; j>=0; j--){
                Order_Profit_In_Pips=MathAbs(OrderOpenPrice()-OrderClosePrice())*iPip2Real;
                if( Order_Profit_In_Pips == Pip_Gain_Modify_Trigger[j]){/* <------------------------This == Logic is Tick Dependent,
                Consider adding logic which can tell if OrderModify() have done the highest Pip_Gain_Trigger and tell it not to modify
                again until the next higher Level*/
                    Lock_Value_In_Integer=Order_Profit_In_Pips*(Percentage_To_Lock_In[j]*0.01);
                    Stop_Distance_In_Integer=MathAbs(Order_Profit_In_Pips-Lock_Value_In_Integer);
                    New_StopLoss_Price= (OrderClosePrice()-(iPoint2Pip*Stop_Distance_In_Integer)* Direction) ;
                    //Alert(New_StopLoss_Price);
                    if( OrderStopLoss()==0 || (New_StopLoss_Price-OrderStopLoss())*Direction >iPoint2Pip ){
                        OrderModify(OrderTicket(),OrderOpenPrice(),New_StopLoss_Price,OrderTakeProfit(),0,White);
                    }
                }
            }
        }
    }
    //~~~~~~~~~~~~~~~
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
borgesr:

Hi,

I'm testing the code Get_Trail_Stop() in the latest version of MT4 but unfortunately it is not working.

This code is compatible with the latest version of MT4?


This stop is what I need to save the profit every x pips.

Thank you,

Rogério

Code wise all is compatible with the new mt 4
 
mladen:
Code wise all is compatible with the new mt 4

Dear Mladen,

The sample lock profit is very interesting but unfortunately it did not work in the tests I did.


The others who have make the profit lock properly as in the code below but the Back test generates several errors 130.

void Locking()
{
// -----
int total;
if ((LockProft1 > Target1) || (LockProfit2 > Target2) || (LockProfit3 > Target3) || (LockProfit4 > Target4) || (LockProfit5 > Target5) || (LockProfit6 > Target6) || (LockProfit7 > Target7) || (LockProfit8 > Target8) || (LockProfit9 > Target9) || (LockProfit10 > Target10)) Comment("Wrong setting of Target or Stop Loss !");
   if ((Target1 > 0) && (subOrdersTotal() > 0) && Level_1 || Level_2 || Level_3 || Level_4 || Level_5 || Level_6 || Level_7 || Level_8 || Level_9 || Level_10) {
      total = OrdersTotal();
      RefreshRates();
      for (int pos = 0; pos < OrdersTotal(); pos++) {
         dummyResult=OrderSelect(pos, SELECT_BY_POS, MODE_TRADES);
         if((OrderStopLoss()==0) && (OrderTakeProfit()==0)) {
            if(OrderType()==OP_BUY) {dummyResult=OrderModify(OrderTicket(), Ask,Ask - Preset_SL * pt, Ask + Preset_TP * pt, 0, CLR_NONE);}
            if(OrderType()==OP_SELL){dummyResult=OrderModify(OrderTicket(), Bid, Bid + Preset_SL * pt, Bid - Preset_TP * pt, 0, CLR_NONE);}     
          }  
         if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
            if (OrderType() == OP_BUY) {
               if (Level_1) {
                  if (Bid - OrderOpenPrice() >= pt * Target1 && OrderStopLoss() < OrderOpenPrice() + pt * LockProft1) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProft1, OrderTakeProfit(), 0, Green);
                     if (Target2 > 0) Level_2 = TRUE;
                     return (0);
                  }
               }
               if (Level_2) {
                  if (Bid - OrderOpenPrice() >= pt * Target2 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit2) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit2, OrderTakeProfit(), 0, Green);
                     if (Target3 > 0) Level_3 = TRUE;
                     return (0);
                  }
               }
               if (Level_3) {
                  if (Bid - OrderOpenPrice() >= pt * Target3 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit3) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit3, OrderTakeProfit(), 0, Green);
                     if (Target4 > 0) Level_4 = TRUE;
                     return (0);
                  }
               }
               if (Level_4) {
                  if (Bid - OrderOpenPrice() >= pt * Target4 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit4) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit4, OrderTakeProfit(), 0, Green);
                     if (Target5 > 0) Level_5 = TRUE;
                     return (0);
                  }
               }               
               if (Level_5) {
                  if (Bid - OrderOpenPrice() >= pt * Target5 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit5) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit5, OrderTakeProfit(), 0, Green);
                     if (Target6 > 0) Level_6 = TRUE;
                     return (0);
                  }
               }               
               if (Level_6) {
                  if (Bid - OrderOpenPrice() >= pt * Target6 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit6) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit6, OrderTakeProfit(), 0, Green);
                     if (Target7 > 0) Level_7 = TRUE;
                     return (0);
                  }
               }                              
               if (Level_7) {
                  if (Bid - OrderOpenPrice() >= pt * Target7 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit7) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit7, OrderTakeProfit(), 0, Green);
                     if (Target8 > 0) Level_8 = TRUE;
                     return (0);
                  }
               }               
               if (Level_8) {
                  if (Bid - OrderOpenPrice() >= pt * Target8 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit8) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit8, OrderTakeProfit(), 0, Green);
                     if (Target9 > 0) Level_9 = TRUE;
                     return (0);
                  }
               }               
               if (Level_9) {
                  if (Bid - OrderOpenPrice() >= pt * Target9 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit9) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit9, OrderTakeProfit(), 0, Green);
                     if (Target10 > 0) Level_10 = TRUE;
                     return (0);
                  }
               }               
               if (Level_10) {
                  if (Bid - OrderOpenPrice() >= pt * Target10 && OrderStopLoss() < OrderOpenPrice() + pt * LockProfit10) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() + pt * LockProfit10, OrderTakeProfit(), 0, Green);
                     return (0);
                  }
               }
            }
            if (OrderType() == OP_SELL) {
               if (Level_1) {
                  if (OrderOpenPrice() - Ask >= pt * Target1 && OrderStopLoss() > OrderOpenPrice() - pt * LockProft1 || OrderStopLoss() == 0.0) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProft1, OrderTakeProfit(), 0, Red);
                     if (Target2 > 0) Level_2 = TRUE;
                     return (0);
                  }
               }
               if (Level_2) {
                  if (OrderOpenPrice() - Ask >= pt * Target2 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit2) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit2, OrderTakeProfit(), 0, Red);
                     if (Target3 > 0) Level_3 = TRUE;
                     return (0);
                  }
               }
               if (Level_3) {
                  if (OrderOpenPrice() - Ask >= pt * Target3 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit3) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit3, OrderTakeProfit(), 0, Red);
                     if (Target4 > 0) Level_4 = TRUE;
                     return (0);
                  }
               }
               if (Level_4) {
                  if (OrderOpenPrice() - Ask >= pt * Target4 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit4) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit4, OrderTakeProfit(), 0, Red);
                     if (Target5 > 0) Level_5 = TRUE;
                     return (0);
                  }
               } 
               if (Level_5) {
                  if (OrderOpenPrice() - Ask >= pt * Target5 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit5) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit5, OrderTakeProfit(), 0, Red);
                     if (Target6 > 0) Level_6 = TRUE;
                     return (0);
                  }
               }
               if (Level_6) {
                  if (OrderOpenPrice() - Ask >= pt * Target6 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit6) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit6, OrderTakeProfit(), 0, Red);
                     if (Target7 > 0) Level_7 = TRUE;
                     return (0);
                  }
               }
               if (Level_7) {
                  if (OrderOpenPrice() - Ask >= pt * Target7 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit7) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit7, OrderTakeProfit(), 0, Red);
                     if (Target8 > 0) Level_8 = TRUE;
                     return (0);
                  }
               }
               if (Level_8) {
                  if (OrderOpenPrice() - Ask >= pt * Target8 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit8) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit8, OrderTakeProfit(), 0, Red);
                     if (Target9 > 0) Level_9 = TRUE;
                     return (0);
                  }
               }
               if (Level_9) {
                  if (OrderOpenPrice() - Ask >= pt * Target9 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit9) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit9, OrderTakeProfit(), 0, Red);
                     if (Target10 > 0) Level_10 = TRUE;
                     return (0);
                  }
               }              
               if (Level_10) {
                  if (OrderOpenPrice() - Ask >= pt * Target5 && OrderStopLoss() > OrderOpenPrice() - pt * LockProfit10) {
                     dummyResult=OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice() - pt * LockProfit10, OrderTakeProfit(), 0, Red);
                     return (0);
                  }
               }
            }
         }
      }
   }
RefreshRates();
// -------

} // Finish Locking
 
mladen:

KumoBreake

What exact indicator are you referring to?

i dont know the exact name but sure it was either fractal dimension or hurst exponent with variancy thingy on it . again in the post u were complaining about FGDI on mql4 and it looks liked in the picture there was some kind of comparing between ur version and FGDI  , i guess .
 
Hi again mladen ! :) 
A few weeks ago i asked you to add averages to this true range bands , and you said that is a using sma if im not mistaken and that i could use a keltner channel indicator to get the same results , but now i have created around 300 expert advisors based on indicators , and the true range bands is the one that are standing out from the rest , as a single indicator to relay on . 

I have tested almost every single combination of keltner channel so far to get the same result as the range bands , but it seems that the range bands does something different.

My True bands ea shows good potential in making profit both on backtest as for live test , but it has it flaws sometimes as a indicator has to have , but hopefully i can minimize them with averages added to it .

Hope you have a great weekend ! 

And sorry if anything goes wrong with posting this post , its my first post since the update of the website , and i have no clue whats what anymore ! ;) 
Files:
 
timmyhanke:
Hi again mladen ! :) 
A few weeks ago i asked you to add averages to this true range bands , and you said that is a using sma if im not mistaken and that i could use a keltner channel indicator to get the same results , but now i have created around 300 expert advisors based on indicators , and the true range bands is the one that are standing out from the rest , as a single indicator to relay on . 

I have tested almost every single combination of keltner channel so far to get the same result as the range bands , but it seems that the range bands does something different.

My True bands ea shows good potential in making profit both on backtest as for live test , but it has it flaws sometimes as a indicator has to have , but hopefully i can minimize them with averages added to it .

Hope you have a great weekend ! 

And sorry if anything goes wrong with posting this post , its my first post since the update of the website , and i have no clue whats what anymore ! ;) 

timmyhanke

Don't misunderstand my question, but if it works OK, why changing it? I mean, you tested it, it suits you and you can use it in trading. Is that correct?

Reason: