You didn't post a topic yet. Let us show you how to make your first topic and upload your favorite forex robot. Guide me

Skip to forum content

Login with Facebook

Login with Username and Password!

     Username:       Password:  Login

Register  |  Forgot Password?

 

The latest topics with attached files (Forex robots, Forex Indicators, etc..)

Forums in this category with details of Replies, Views, last post

EA martingle bot

by Muhammad Allif Bin Ahmad

SZ_Scalper free

by Holger Bläsner

new member is here

by ShakEel Ashiq


Search options asaa as a as as a s (Page 1 of 20)

Breakout → ► MT4talk.com → Search results

Pages 1 2 3 20 Next

Perform new search

Posts found: 1 to 10 of 200

EA opens trades by breakout of Bollinger Bands and closes open trades by reentries.

//+------------------------------------------------------------------+
//                        DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//
//                   Copyright ©2017, https://mt4talk.com
//                     MT4talk Expert Advisor Generator
//                        https://mt4talk.com/eagenerator/
//
// THIS EXPERT ADVISOR (EA) HAS BEEN GENERATED USING MT4talk EA GENERATOR. 
// 
// Disclaimer: This EA is provided to you "AS-IS", and MT4talk disclaims any warranty
// or liability obligations to you of any kind. 
//
// FREE EA LICENSE
// This EA is provided to you for free of charge! You can share this EA on any website or any forums. 
//
// CFTC RULE 4.41
// HYPOTHETICAL OR SIMULATED PERFORMANCE RESULTS HAVE CERTAIN LIMITATIONS. UNLIKE AN ACTUAL PERFORMANCE RECORD, SIMULATED 
// RESULTS DO NOT REPRESENT ACTUAL TRADING. ALSO, SINCE THE TRADES HAVE NOT BEEN EXECUTED, THE RESULTS MAY HAVE UNDER-OR-
// OVER COMPENSATED FOR THE IMPACT, IF ANY, OF CERTAIN MARKET FACTORS, SUCH AS LACK OF LIQUIDITY. SIMULATED TRADING PROGRAMS, 
// IN GENERAL, ARE ALSO SUBJECT TO THE FACT THAT THEY ARE DESIGNED WITH THE BENEFIT OF HINDSIGHT. NO REPRESENTATION IS BEING 
// MADE THAT ANY ACCOUNT WILL OR IS LIKELY TO ACHIEVE PROFIT OR LOSSES SIMILAR TO THOSE SHOWN.
//
// U.S. Government Required Disclaimer.
// Commodity Futures Trading Commission Futures and Options trading has large potential rewards, but also large potential risk. 
// You must be aware the risks and be willing to accept them in order to invest in the futures and options markets. 
// Don't trade with money you can't afford to lose. This is neither a solicitation nor an offer to Buy/Sell futures or options.
// No representation is being made that any account will or is likely to achieve profits or losses similar 
// to those discussed on this website. The past performance of any trading system or methodology is not necessarily 
// indicative of future results.
//
// USE THIS EA AT YOUR OWN RISK. 
//
//                      DO NOT DELETE THIS HEADER
//             DELETING THIS HEADER IS COPYRIGHT INFRIGMENT 
//+------------------------------------------------------------------+

#property copyright "Copyright 2017"
#property link      "https://mt4talk.com"
#property version   "1.00"
#property strict
extern double Risk=2;
extern double Break_Even=0;
extern int Magic_Number=12345;
extern int Max_Nr_Of_Trades=4;
extern int Max_Nr_Of_Sell_Trades=4;
extern int Max_Nr_Of_Buy_Trades=4;
extern bool Hidden=false;
extern double Stop_Loss=0;
extern double Take_Profit=0;
extern double Trailing_Stop=0; 
extern bool    Close_opposit_signal=false;     
extern bool DayFilter=false; 
extern bool TimeFilter=false;
 
double Martingale_Value=0;

double Lotsize;

bool FixSL=1;
int Money_Management=2;

int cntmartin=0;
double ts=0;
double be=0;
double sl,tp;
int mp;
datetime lasttrade;


 

 

int OnInit() 
 
{ 
    mp=1;
    if (Digits==5 || Digits==3) mp=10; 
    lasttrade=TimeCurrent();
    cntmartin=0;
    
    if (Money_Management==1)   
    {
       Stop_Loss=Stop_Loss/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Take_Profit=Take_Profit/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Break_Even=Break_Even/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
       Trailing_Stop=Trailing_Stop/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/Lotsize;
    }

    //---
    return(INIT_SUCCEEDED);

} 

 
void OnDeinit(const int reason)
 
{} 

 
void OnTick()
{
    bool TradeAllow=false;
    bool buy_signal=false;
    bool sell_signal=false;
    double sl;
    double tp;
    double lotsize;
    
 
    buy_signal=GetSignal(OP_BUY);
    sell_signal=GetSignal(OP_SELL);
 
    //---       
    if((CloseSignal(OP_BUY)) ||
        (sell_signal && Close_opposit_signal))
    {
      CloseOrders(OP_BUY);
    }
    if((CloseSignal(OP_SELL)) ||
        (buy_signal && Close_opposit_signal))
    {
      CloseOrders(OP_SELL);
    }
 
    if((Max_Nr_Of_Trades>0 && GetNrOfTrades(6)<Max_Nr_Of_Trades)||
        Max_Nr_Of_Trades==0)
    {
        if((Max_Nr_Of_Buy_Trades>0 && GetNrOfTrades(OP_BUY)<Max_Nr_Of_Trades)||
            Max_Nr_Of_Trades==0)
        {
            if(buy_signal)
            {
                if (Money_Management==2)
                {
                    double entry;
        
                    entry=MarketInfo(Symbol(),MODE_ASK);
                    if(FixSL)
                    {    
                        sl=NormalizeDouble(entry-Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                        Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
                        tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
                    }
                    else
                    {
                        sl=NormalizeDouble(entry-CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                        tp=NormalizeDouble(entry+CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
                    }
                    
                }
                   
                   
                if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
                {
                    Lotsize=lotsize;
                    cntmartin++;
                }
                else
                {
                    cntmartin=0;
                }
                  
                if (Martingale_Type==1)//Increment
                {
                    Lotsize+=Martingale_Value;
                }
                        
                if (Martingale_Type==2)//Multipli
                {
                     Lotsize*=Martingale_Value;
                }
                OpenOrder(OP_BUY);
            }
        }
        if((Max_Nr_Of_Sell_Trades>0 && GetNrOfTrades(OP_SELL)<Max_Nr_Of_Sell_Trades)||
            Max_Nr_Of_Sell_Trades==0)
        {
            if(sell_signal)
            {
                if (Money_Management==2)
                {
                    double entry;
                    entry=MarketInfo(Symbol(),MODE_BID);
                    if(FixSL)
                    {
                        sl=NormalizeDouble(entry+Stop_Loss*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));
                        Lotsize=NormalizeDouble(CalcLotsize(Symbol(),entry,sl,Risk),2);
                        tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
                    }
                    else
                    {
                        sl=NormalizeDouble(entry+CalcDistance(Stop_Loss,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS));     
                        tp=NormalizeDouble(entry-CalcDistance(Take_Profit,Lotsize)*mp*Point(),(int)MarketInfo(Symbol(),MODE_DIGITS)); 
                    }
                }
                
                
                if (GetLastProfit(lotsize)<0 && Martingale_Type>0)
                {
                    Lotsize=lotsize;
                    cntmartin++;
                }
                else
                {
                    cntmartin=0;
                }
                  
                if (Martingale_Type==1)//Increment
                {
                    Lotsize+=Martingale_Value;
                }
                        
                if (Martingale_Type==2)//Multipli
                {
                     Lotsize*=Martingale_Value;
                }
                OpenOrder(OP_SELL);
            }
        }
    }
}
       
 
 
bool GetSignal(int type)
{
    bool b=false;
     
 
    if(type==OP_BUY)
    {
 
 
            if((iClose(Symbol(),0,0)>iBands(Symbol(),0,10,0,0,0,1,0)) &&(iMACD(Symbol(),0,0,0,9,0,0,0)>iMACD(Symbol(),0,0,0,9,0,1,0)) )
            {
                b=true;
            }
            
        } 
 
    if(type==OP_SELL)
    {
            if(iClose(Symbol(),0,0)<iBands(Symbol(),0,10,0,0,0,2,0))
            {
               b=true;
            }
        } 
 
    return(b);
} 
 
bool CloseSignal(int type)
{
    bool b=false;
     
 
    if(type==OP_BUY)
    {
            if(iClose(Symbol(),0,0)<iBands(Symbol(),0,10,0,0,0,1,0))
            {
               b=true;
            }
        } 
 
    if(type==OP_SELL)
    {
            if(iClose(Symbol(),0,0)>iBands(Symbol(),0,10,0,0,0,2,0))
            {
               b=true;
            }
        } 
 
    return(b);
}
 
void OpenOrder(int type)
{
   int ticket=-1;
   int err=0;
  
    if(type==OP_BUY)
    {
        ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_ASK), 10, 0, 0,"", Magic_Number);       
        if(ticket<0)
        {
            err=GetLastError();
            //Print ('Error!. Cannot Open BUY, failed with error : ',err);
        }
        else
        {
            if(Money_Management<2)
            {
                sl=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)-Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
                tp=NormalizeDouble(MarketInfo(Symbol(), MODE_ASK)+Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
            }
            OrderModify(ticket, MarketInfo(Symbol(), MODE_ASK), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
        }
    }

    if(type==OP_SELL)
    {
        ticket = OrderSend(Symbol(), OP_BUY, Lotsize, MarketInfo(Symbol(), MODE_BID), 10, 0, 0,"", Magic_Number);       
        if(ticket<0)
        {
            err=GetLastError();
            //Print ('Error!. Cannot Open BUY, failed with error : ',err);
        }
        else
        {
            if(Money_Management<2)
            {
                sl=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)+Stop_Loss*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
                tp=NormalizeDouble(MarketInfo(Symbol(), MODE_BID)-Take_Profit*mp*MarketInfo(Symbol(),MODE_POINT), MarketInfo(Symbol(),MODE_DIGITS));
            }
            OrderModify(ticket, MarketInfo(Symbol(), MODE_BID), sl, tp,0);//open price=MarketInfo(Symbol(), MODE_ASK)
        }
    }
}
 
void CloseOrders(int type)
{
   int total  = OrdersTotal();
   for (int i = total-1 ; i >=0 ; i--)
   {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) && 
        OrderMagicNumber() == Magic_Number && 
        OrderSymbol() == Symbol() && 
        type==OrderType()) 
        {
            switch(OrderType())
            {
                case OP_BUY:
                {
                    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),10);
                    break;  
                }
                                  
                case OP_SELL:
                {
                    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),10);
                    break;
                }
            }             
        }
    }
}
 
bool IsNewBar()
{
    if (lasttrade<iTime(Symbol(),0,0))
    {
        lasttrade=iTime(Symbol(),0,0);
        return (true);
    }
    return (false);
}
int GetNrOfTrades(int type)
{
   int t=0;
   
   int total = OrdersTotal();
   int count;
   if(type==OP_BUY || type==OP_SELL)
   {
       for(count = total - 1; count >= 0; count--)
       {
          if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderType()==type)
          {
             t++;
          }
       }
       return (t);
   }
   else if(type==6)
   {
       for(count = total - 1; count >= 0; count--)
       {
          if(!OrderSelect(count, SELECT_BY_POS, MODE_TRADES)) continue;
          if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
          {
             t++;
          }
       }
       return (t);
   }
   return(t);
}
    
 
double CalcLotsize(string symbol,double entry, double sl,double risk)
{
   
   double qty,riskm,dist; 
   dist=MathAbs(entry-sl)/MarketInfo(symbol,MODE_POINT);
   riskm=AccountBalance()*risk/100;
   
   qty=riskm/(dist*MarketInfo(symbol,MODE_TICKVALUE));  
   return( NormalizeDouble(qty,2) );
}
    
 
void Trailing(double Trailing_Stop)
{
  int err;
   double sl = 0;
   bool result;
   
   //
   sl = OrderStopLoss();
   if(OrderType() == OP_BUY)
   {
      if((MarketInfo(Symbol(),MODE_BID) > (OrderOpenPrice() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))) )
      {                        
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_BID) >= OrderStopLoss() + Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_BID) - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl > OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {               
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(OrderStopLoss(), MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }//if(OrderType() == OP_BUY)
   //
   if(OrderType() == OP_SELL)
   {
      
      if((MarketInfo(Symbol(),MODE_ASK) < (OrderOpenPrice() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT))))
      {
         
         if(OrderStopLoss() == 0) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         if(OrderStopLoss() != 0 && MarketInfo(Symbol(),MODE_ASK) <= OrderStopLoss() - Trailing_Stop*mp*MarketInfo(Symbol(),MODE_POINT)) sl = MarketInfo(Symbol(),MODE_ASK) + (Trailing_Stop*mp)*MarketInfo(Symbol(),MODE_POINT);
         while(IsTradeContextBusy()) Sleep(100);
         if(sl < OrderStopLoss())
         {
            ResetLastError();
            result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
            //
            if (result)
            {
               Print("Trailing Stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
            }
            else
            {
               err = GetLastError();
               Print("Error!. Trailing Stop #", OrderTicket(), " order modify failed with error(",err,")");
            }
         }
      }
   }
}
    
 
void ManageTrades()
{
   int t=OrdersTotal();
   for(int i=t-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS))
      {
         if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number)
         {
            if (!Hidden)
            {
                if (Money_Management==2)
                {
                    ts=CalcDistance(Trailing_Stop,OrderLots());//OrderLots
                    be=CalcDistance(Break_Even,OrderLots()); 
                }
                else
                {
                    ts=Trailing_Stop;
                    be=Break_Even;
                }
                
                if (Break_Even>0)
                {
                    BreakEven(be);
                }
                if (Trailing_Stop>0)
                {
                    Trailing(ts);
                }
            }
           
         
         }
      }
   }//for end
}
    
 
    
void BreakEven(double Break_Even)
{
   bool result;
   double sl;
   int err;
   //
   ResetLastError();
   if(OrderType() == OP_BUY)
   {
       if(OrderStopLoss() >= OrderOpenPrice()) return;
       
       if (MarketInfo(Symbol(),MODE_BID) >= OrderOpenPrice() + Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
       {
         sl= OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {
            Print("Break Even stop updated: #", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Bid = ", DoubleToStr(MarketInfo(Symbol(),MODE_BID), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
       }
   }
   //
   if (OrderType() == OP_SELL) 
   {
       if (OrderStopLoss() <= OrderOpenPrice() && OrderStopLoss() != 0) return;
       
       if (MarketInfo(Symbol(),MODE_ASK) <= OrderOpenPrice() - Break_Even*mp*MarketInfo(Symbol(),MODE_POINT))
       {
         sl = OrderOpenPrice() ;
         while(IsTradeContextBusy()) Sleep(100);
         result = OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble(sl, MarketInfo(Symbol(),MODE_DIGITS)), OrderTakeProfit(), 0, CLR_NONE);
         if (result)
         {           
            Print("Break Even stop updated: # ", OrderTicket(), "; SL = ", DoubleToStr(sl, MarketInfo(Symbol(),MODE_DIGITS)), "; Ask = ", DoubleToStr(MarketInfo(Symbol(),MODE_ASK), MarketInfo(Symbol(),MODE_DIGITS)));
         }
         else
         {
            err = GetLastError();
            Print("Error!. Break Even #", OrderTicket(), " order modify failed with error(",err,")");
         }
       }
   }
}
    
 
double CalcDistance(double risk, double lotsize)
{
   risk=AccountBalance()*risk/100;
   return (risk/MarketInfo(Symbol(),MODE_TICKVALUE)/mp/lotsize);
}

 
double GetLastProfit(double& lotsize)
{
   int t=OrdersTotal();
   double p=0;
   datetime mt=0;
   
   for (int i=t-1;i>=0;i--)
   {
      if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
      {
         if (OrderSymbol()==Symbol() && OrderMagicNumber()==Magic_Number && OrderCloseTime()>mt)
         {
            mt=OrderCloseTime();
            p=OrderProfit();
            lotsize=OrderLots();
         }
      }
   }
   
   return (p);
}

2

(0 replies, posted in Upload & Download FREE Forex E-books.)

The Daily20p (D20p) system is a once a day system trading the GBP a bit before the opening of the London market. It is a breakout system based on the daily pivot
point. There are some days that are “No Trade” days, as the Entry Levels do not get hit.

Two great indicators for breakouts, with based on another methods. Breakout boxes and zones.

free trading system, in which an indicator indicating the Elliot waves and levels of
Fibonacci (plotted in green if the signal is BUY, red if SELL). The candles have different colors
(in red or green) - If the candles are confirmed in the TDI, enter the market when it occurs
(3rd condition) that the Fibonacci indicator signals a price breakout. In the window
below, the "TDI" indicator, where it moves above the yellow line, generally indicates one
bullish condition, otherwise bearish.

Daily_breakout is an expert based on the well known Oasis indicator, which is enriched by a template in
which an alarm is loaded that warns of changes in trends and other useful indications on the screen.
Set a percentage of risk appropriate to your MM (Risk property).

-
--
The strategy of Assar Elite Pro Forex Scalper V10/V11/V9/V8 is scalping on tic-basis, where the EA opens BUYSTOP or SELLSTOP orders when price breakouts occurs based on the indicator. The indicator is either two “Moving Averages”, “Bollinger Band” or “Envelopes” for the last 3 minutes. Any of the indicators can be used as decided from the external settings. These settings you will find in the mql4 file you received when you first purchased ASSARV10 or downloaded ASSARV11.



Download ASSAR V8, ASSAR V9 and ASSAR V11 here:

Copy and paste this link into your browser address bar

https://goo.gl/Avkbfu









This forum is for trading with live accounts and discussing only ASSAR.



https://mt4talk.com/img/m/9195/5a8a3954671540.79865268.png





“UseIndicatorSwitch”

For all indicators, “a channel” is calculated. And how wide this channel will be is decided by "VolatilityLimit" in points, which by default is calculated and adjusted dynamically, but also can be set to a fix value. If dynamic, it calculates this value as a multiplication of the average spread during the last 30 tics, and the value of the "VolatilityMultiplier".

How much the breakout should be in percentage of the band-width is set by "VolatilityPercentageLimit" in percentage of the channel width.



Volatility Settings: (You can find these settings inside of your mql4 file)

This is actually a part of the trading settings, but covers more specific settings for how the scalping should be done.

VolatilityMultiplier / 10 * RealAverageSpread, where “VolatilityMultiplier” is set as below, and “RealAverageSpread” is the average value of the spread during the last 30 tics + any broker commission. So for instance, if the spread is 16 (1.6 pip) and commission is 0, then “VolatilityLimit” will be 200 points (or 20 pips), since 125 / 10 * 16 = 200.



VolatilityMultiplier: A multiplication factor to be used if the above “UseDynamicVolatilityLimit” is set to TRUE. Default 125. Before you change this, please make sure that you make some calculations according to the formula above based on different spreads so that you fully understand how this value changes.



VolatilityLimit: This sets the sensitivity for when trading will start, based on the size of the volatility (how much the prices has moved). It’s the distance in points between the highest price (known as iHigh) and lowest price (known as iLow) during the current bar. If the price moves more than this, an order will be opened in the opposite direction. If you set this level to too high, there will be fewer trades, but it could also increase the winning rate. If it’s too low, it will start to trade more often, but the winning rate could decrease. Note: This is one of the most important parameters to change if you want to adjust the robot for any other currency pair than EURUSD and don’t want to use “UseDynamicVolatility-Limit”. It can be as low as 50 (or even lower) or as high as 500 (or even higher). A value around 180 (18 pips) seem to be a good average.



UseVolatilityPercentage: Normally the Volatiliity (the difference between iHigh and iLow during the current bar) must be more than the VolatilityLimit in order to trigger a trade, disregarding of how much the VolatilityLimit is. If this is set to be TRUE, then this difference must exceed with a minimum percentage known as “VolatilityPercentageLimit” (see below). For instance, if “VolatilityPercentageLimit” is set to 60, then the Volatility must exceed the “VolatilityLimit” with at least 60%. So if VolatilityLimit is 180 then the Volatility (the difference between iHigh and iLow) must be 180 * 1.6 = 288 points.



VolatilityPercentageLimit: A factor used if the above “UseVolatility-Percetage” is set to TRUE, and measured as percentage. For instance, 60 means 60%. Otherwise not used. Set this to a whole value representing how many percentage more you want this to be (see explanation above under “UseVolatilityPercentage”). The higher the value, the fewer trades but most likely also stronger signals.



Only one order is opened at a time, and an opened BUYSTOP / BUYSELL order is treated differently from an opened BUY / SELL orders as follows:

An open BUY-order is modified with a new StopLoss (SL) and TakeProfit (TP) if its current “TakeProfit” is less than the “current Ask price” + “Commission” + “TakeProfit” + “AddPriceGap” AND “current Ask price” + “Commission” + “TakeProfit” + “AddPriceGap” – “existing TakeProfit” is larger than the “TrailingStart”.

An open SELL-order is in a similar way modified with a new SL and TP if its “current TakeProfit” is greater than “current Bid-price” - “Commission”

“TakeProfit” – “AddPriceGap” AND “current TakeProfit” – “current Bid-price” – “Commission” + “TakeProfit” – “AddPriceGap” is larger than the “TrailingStart”.

The SL for the modified BUY-order is changed to “current Bid-price” – “StopLoss” – “AddPriceGap”, and the TP to the “current Ask-price” + “Commission” + “TakeProfit” + “AddPriceGap”.

And for the modified SELL-order, the SL is changed to “current Ask-price”

“StopLoss” + “AddPriceGap”, and TP to “current Bid-price” – “Commission” – “TakeProfit” – “AddPriceGap”.

Open BUYSTOP and SELLSTOP orders are either modified or deleted. They are modified with new SL and TP as follows.

An open BUYSTOP order is modified if the “current Ask-price” + “StopLevel” + “AddPriceGap” is less than the “OrderOpenPrice” AND the “OrderOpenPrice” – “current Ask-price” + “StopLevel” + “AddPriceGap” is greater than “TrailingStart”.

An open SELLSTOP is modified with new SL and TP if “current Bid-price” – “StopLevel” – “AddPriceGap” is greater than “OrderOpenPrice“ AND “current Bid-price” – “StopLevel” - “AddPriceGap” – “OrderOpenPrice“ is greater than “TrailingStart”.




If the conditions are not met for the BUYSTOP or SELLSTOP order, then they are deleted.




https://mt4talk.com/img/m/9195/5a8a36860abb13.20296878.png





https://mt4talk.com/img/m/9195/5a8a3a30435921.92600547.png




The Official ASSAR Website:


Cheers!

[h4]No grid, no martingale, no arbitrage. This is a long-term strategy of breakout and scalping based on daily/weekly/monthly analysis that uses stable techniques: two manuals and three expert advisor tested since 2004 with 99.9% tickdata and are profitable for 14 years to date. The techniques have a dynamic stop-loss/take profit for around 15/120 pips. In the long back-test the techniques have high and low moments as it is normal in the forex market, but always with excellent results.[/h4]

8

(3 replies, posted in ► Upload & Download FREE Forex Robots)

Your favorite EA it isn't a profitable EA. I already test it. But this other is a profitable EA tested with a Tickstory database.

M1 Breakout EA to EURUSD
https://mt4talk.com/viewtopic.php?id=21541

9

(0 replies, posted in ► Upload & Download FREE Forex Robots)

This EA do not tested by me. I post it here for you test it and post the results below. If somebody here has a mq4 file, please, share with us.

This EA is very good. Results profitables on Tickstory backtests.
Run only in EURUSD. If someone here have a mq4 of this EA, please post here.

Posts found: 1 to 10 of 200

Pages 1 2 3 20 Next

Breakout → ► MT4talk.com → Search results


NOTE: Hacked or other illegal versions of copyrighted forex robots are highly prohibited on MT4talk.com. If you upload any illegal version of any copyrighted forex robot, your forum account will be banned. No exceptions.

Forum statistics

  • Total number of registered users: 19,654
  • Newest registered user: Mick Lie
  • Total number of topics: 10,983
  • Total number of posts: 36,365

Online users: 2,166 guests, 134 Members:

abhilashkumar91094, admin, Alê, alejoelchimpan, alesnetusil, Andreas Holz, andydrae67, atanu.sarkar3, axel7969, Ayman1967, ball2goal, ballab, Bandeauman Gjc RG, bigpapat, bjkcolom, bolamajek, bwadd100, ChatChai Chatza Kanjanamala, colvincollinskarua, d13041990, dadamog, davbene74, dmdena, domino01, Donnie Drajat, eder_japan, Enrique Lafuente, fibz, filo, findel147, FxTester, fxvnpro, Geovane Moreira, GGrays1999, gjmrichardson, Glin, godmansikayena7, gordontan, GRTrader, Hans, Hasan Akca, Helton Luiz Calado, hendrikwong, henroo, henryakubuiro, Horry Yue, hussain.tradeexpress, ifykline, jason7933, jaysonajax, Jeevu Githiga, jinji, jiradpantananon, jlhtrader, Jorge Martinez, Jose Carlos de Oliveira, jozmik, jplute, Junior Vix, kamalkumar_j, kashif_raza, kasun, kleberleal, Kojo Bame, KSronquillo, Lau Fran Albuquerque, Lepekola Lepekola, Lucas Alonso, lyoung4472, machs_nochmal, madanluhar, Marais, martosin, Md Billal Hossain, mefaceoff, Mick Lie, mjmtrading2010, Mohamed Rafi, mohsinkalyani, Moses R Mome, msapp888, Myanmar River, nadiawicket, nakatama1, navybluehouse666, Nesto Tee Reyes, Nik Hafiz, norman7890, nvcuongmpi, onigemmat, osama.wasili, outlier, Ozzmann, pablopretkus, pac.ros, paisanubon, palexis479, pep1973, Phillip Chaka Limema, praisetaiwo, Pravin Todkar, prince1344, pschultz, ptctodo, R-Juggernaut Solomon, rad1958, rameshk2712, ramin, reza.robax.2017, Rimm Ap, rip2444, Rogger Ladislau, romelferdous, rondad, ruanjguedes, sallynsovo, saudibizman, schangchum, Seni Mua, sidd2017, smonphone17, spojka, strangersenemy@gmail.com, sunny7day, Swich Pro, thefaraon, why, xirixiao, ziliba, Ziyaul Haq, ต้นทานตะวัน กลางท้องฟ้า, สนธิชัย บอย สุวรรณปักษิน, สุขใส วีระตระกูล, 蔡云彰

 


Copyright MT4talk.com Forum Rules - Privacy Policy.