To download Forex robots and other files first you must Log in to your MT4talk forum account!
To download Forex robots and other files first you must Log in to your MT4talk forum account!
PSAR - (Tested with over $3,100,000 profit)
//+------------------------------------------------------------------+
//| EA-PSAR_v1-0.mq4 |
//| Luca Spinello |
//|
//+------------------------------------------------------------------+
#property copyright "Luca Spinello - mql4tradingautomation.com"
#property version "1.00"
#property strict
#property description "This Expert Advisor opens orders when the PSAR changes from above to below the price or vice versa"
#property description " "
#property description "DISCLAIMER: This code comes with no guarantee, you can use it at your own risk"
#property description "We recommend to test it first on a Demo Account"
/*
ENTRY BUY: PSAR changes from above the previous bar to below the current bar
ENTRY SELL: PSAR changes from below the previous bar to above the current bar
EXIT: Take profit or trailing stop using PSAR
*/
extern double LotSize=0.1; //Position size
extern double StopLoss=20; //Stop loss in pips
extern double TakeProfit=500; //Take profit in pips
extern int Slippage=2; //Slippage in pips
extern bool TradeEnabled=true; //Enable trade
extern double PSARStep=0.2; //PSAR Step
extern double PSARMaxStep=0.02; //PSAR Max Step
extern int MagicNumber=11223344; //Magic Number to assign to the orders
//Functional variables
double ePoint; //Point normalized
bool CanOrder; //Check for risk management
bool CanOpenBuy; //Flag if there are buy orders open
bool CanOpenSell; //Flag if there are sell orders open
int OrderOpRetry=10; //Number of attempts to perform a trade operation
int SleepSecs=3; //Seconds to sleep if can't order
int MinBars=60; //Minimum bars in the graph to enable trading
//Functional variables to determine prices
double MinSL;
double MaxSL;
double TP;
double SL;
double Spread;
int Slip;
//Variable initialization function
void Initialize(){
RefreshRates();
ePoint=Point;
Slip=Slippage;
if (MathMod(Digits,2)==1){
ePoint*=10;
Slip*=10;
}
TP=TakeProfit*ePoint;
SL=StopLoss*ePoint;
CanOrder=TradeEnabled;
CanOpenBuy=true;
CanOpenSell=true;
}
//Check if orders can be submitted
void CheckCanOrder(){
if( Bars Print("INFO - Not enough Bars to trade");
CanOrder=false;
}
OrdersOpen();
return;
}
//Check if there are open orders and what type
void OrdersOpen(){
for( int i = 0 ; i < OrdersTotal() ; i++ ) {
if( OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) == false ) {
Print("ERROR - Unable to select the order - ",GetLastError());
break;
}
if( OrderSymbol()==Symbol() && OrderType() == OP_BUY) CanOpenBuy=false;
if( OrderSymbol()==Symbol() && OrderType() == OP_SELL) CanOpenSell=false;
}
return;
}
//Close all the orders of a specific type and current symbol
void CloseAll(int Command){
double ClosePrice=0;
for( int i = 0 ; i < OrdersTotal() ; i++ ) {
if( OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) == false ) {
Print("ERROR - Unable to select the order - ",GetLastError());
break;
}
if( OrderSymbol()==Symbol() && OrderType()==Command) {
if(Command==OP_BUY) ClosePrice=Bid;
if(Command==OP_SELL) ClosePrice=Ask;
double Lots=OrderLots();
int Ticket=OrderTicket();
for(int j=1; j<OrderOpRetry; j++){
bool res=OrderClose(Ticket,Lots,ClosePrice,Slip,Red);
if(res){
Print("TRADE - CLOSE - Order ",Ticket," closed at price ",ClosePrice);
break;
}
else Print("ERROR - CLOSE - error closing order ",Ticket," return error: ",GetLastError());
}
}
}
return;
}
//Open new order of a given type
void OpenNew(int Command){
RefreshRates();
double OpenPrice=0;
double SLPrice;
double TPPrice;
if(Command==OP_BUY){
OpenPrice=Ask;
SLPrice=OpenPrice-SL;
TPPrice=OpenPrice+TP;
}
if(Command==OP_SELL){
OpenPrice=Bid;
SLPrice=OpenPrice+SL;
TPPrice=OpenPrice-TP;
}
for(int i=1; i<OrderOpRetry; i++){
int res=OrderSend(Symbol(),Command,LotSize,OpenPrice,Slip,NormalizeDouble(SLPrice,Digits),NormalizeDouble(TPPrice,Digits),"",MagicNumber,0,Green);
if(res){
Print("TRADE - NEW - Order ",res," submitted: Command ",Command," Volume ",LotSize," Open ",OpenPrice," Slippage ",Slip," Stop ",SLPrice," Take ",TPPrice);
break;
}
else Print("ERROR - NEW - error sending order, return error: ",GetLastError());
}
return;
}
//Technical analysis of the indicators
bool CrossToOpenBuy=false;
bool CrossToOpenSell=false;
void CheckPSARCross(){
CrossToOpenBuy=false;
CrossToOpenSell=false;
double PSARCurr=iSAR(Symbol(),0,PSARStep,PSARMaxStep,0);
double PSARPrev=iSAR(Symbol(),0,PSARStep,PSARMaxStep,1);
if(PSARCurr<Close[0] && PSARPrev>Close[1]){
CrossToOpenBuy=true;
}
if(PSARCurr>Close[0] && PSARPrev<Close[1]){
CrossToOpenSell=true;
}
}
//Trailing Stop with PSAR
void UpdatePositions(){
//Scan the open orders backwards
for(int i=OrdersTotal()-1; i>=0; i--){
//Select the order, if not selected print the error and continue with the next index
if( OrderSelect( i, SELECT_BY_POS, MODE_TRADES ) == false ) {
Print("ERROR - Unable to select the order - ",GetLastError());
continue;
}
//Check if the order can be modified matching the criteria, if criteria not matched skip to the next
if(OrderSymbol()!=Symbol()) continue;
if(OrderMagicNumber()!=MagicNumber) continue;
//Prepare the prices
double TakeProfitPrice=OrderTakeProfit();
double StopLossPrice=OrderStopLoss();
double OpenPrice=OrderOpenPrice();
double NewStopLossPrice=StopLossPrice;
double NewTakeProfitPrice=TakeProfitPrice;
//PSAR Value of the current symbol, current time frame , PSARStep, PSARMaxStep, previous candle
double PSARPrice=iSAR(Symbol(),0,PSARStep,PSARMaxStep,1);
//Get updated prices and calculate the new Stop Loss and Take Profit levels, these depends on the type of order
RefreshRates();
if(OrderType()==OP_BUY){
if(PSARPrice>StopLossPrice && PSARPrice<Close[1] && PSARPrice<TakeProfitPrice){
NewStopLossPrice=NormalizeDouble(PSARPrice,Digits);
}
}
if(OrderType()==OP_SELL){
if(PSARPriceClose[1] && PSARPrice>TakeProfitPrice){
NewStopLossPrice=NormalizeDouble(PSARPrice,Digits);
}
}
//If the new Stop Loss and Take Profit Levels are different from the previous then I try to update the order
if(NewStopLossPrice!=StopLossPrice){
Print("Modifying order ",OrderTicket()," Open Price ",OpenPrice," New Stop Loss ",NewStopLossPrice," New Take Profit ",NewTakeProfitPrice);
if(OrderModify(OrderTicket(),OpenPrice,NewStopLossPrice,NewTakeProfitPrice,0,Yellow)){
Print("Order modified");
}
else{
Print("Order failed to update with error - ",GetLastError());
}
}
}
}
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
//Calling initialization, checks and technical analysis
Initialize();
CheckCanOrder();
UpdatePositions();
CheckPSARCross();
//Check of Entry/Exit signal with operations to perform
if(CrossToOpenBuy){
CloseAll(OP_SELL);
if(CanOpenBuy && CanOrder) OpenNew(OP_BUY);
}
if(CrossToOpenSell){
CloseAll(OP_BUY);
if(CanOpenSell && CanOrder) OpenNew(OP_SELL);
}
}
//+------------------------------------------------------------------+
Download the files:
Tested Forex robots with a $100 deposit.
Deposit: $100 - Total profit: $1,083,630
https://mt4talk.com/viewtopic.php?pid=60122#p60122
Deposit: $100 - Total profit: $3,521,896
https://mt4talk.com/viewtopic.php?pid=60192#p60192
Deposit: $100 - Total profit: $3,864,820
https://mt4talk.com/viewtopic.php?pid=60213#p60213
Deposit: $100 - Total profit: $1,547,193
https://mt4talk.com/viewtopic.php?pid=60246#p60246
Deposit: $100 - Total profit: $2,131,455
https://mt4talk.com/viewtopic.php?pid=59941#p59941
Deposit: $100 - Total profit: $132,373
https://mt4talk.com/viewtopic.php?pid=59865#p59865
Deposit: $100 - Total profit: $3,134,978
https://mt4talk.com/viewtopic.php?pid=59862#p59862
Deposit: $100 - Total profit: $2,145,904
https://mt4talk.com/viewtopic.php?pid=59795#p59795
These robots are tested on FXOpen live account.
Hi, thanks for sharing.
I updated this EA and I added an automatic lot size manager, which automatically grows the trading lot size as the trading balance is growing. Each time the robot makes a profit its starts trading with a bigger lot size. The profit talks for itself!
I made a lot of changes and tested this Forex robot on a real STP account!
Please look at what I got.
We tested on: FXOpen Broker!
If you are using this Forex robot on any other forex broker, then you may have to find your own settings, because provided settings not working with all brokers.
We tested on super-fast Forex VPS! It's highly recommended for 24/5 automated trading!
Deposit: $500
Leverage: 1:500
The test time: 3 months.
Total trades: 49
Average trades per month: 16
Total profit: $3,180,360
I tested on the real account!
Note: We made this test for you, to give you a starting point. You should always make your own test.
Have a good trend and the biggest profit!
For detailed test information, please download the files below!
This test showed that this EA has potential. But all traders himself must optimize the EA on his account with many backtests and forward tests.
If you have any questions about this test you can contact me via email on my MT4talk profile page, at https://mt4talk.com/misc.php?email=25379
NOTE: Only MT4talk PRO members can contact me via email.
Download the files:
gu m30 d500 p3.1M ea-par v1.0 mod1.htm 37.61 kb, 86 downloads since 2020-07-07
gu m30 d500 p3.1M ea-par v1.0 mod1.set 1.35 kb, 76 downloads since 2020-07-07
- We are testing robots on FBS Forex broker!
- We are testing robots on FXopen accounts!
- We are testing robots on LQDFX accounts!
Tested Forex robots with a lot of trades.
Average trades per month: 1068
https://mt4talk.com/viewtopic.php?pid=59450#p59450
Average trades per month: 536
https://mt4talk.com/viewtopic.php?pid=59459#p59459
Average trades per month: 325
https://mt4talk.com/viewtopic.php?pid=59468#p59468
Average trades per month: 260
https://mt4talk.com/viewtopic.php?pid=59469#p59469
Average trades per month: 426
https://mt4talk.com/viewtopic.php?pid=59470#p59470
Average trades per month: 198
https://mt4talk.com/viewtopic.php?pid=59525#p59525
Average trades per month: 253
https://mt4talk.com/viewtopic.php?pid=59580#p59580
Average trades per month: 251
https://mt4talk.com/viewtopic.php?pid=59602#p59602
Average trades per month: 603
https://mt4talk.com/viewtopic.php?pid=60192#p60192
Average trades per month: 479
https://mt4talk.com/viewtopic.php?pid=60208#p60208
These robots are tested on FXOpen live account.
- Total number of registered users: 61,991
- Registered users today: 17
- Newest registered user: gxobzbqawfhxmbskul
- Total number of topics: 11,611
- Total number of posts: 38,058
Online users: 2,868 guests, 168 Members:
aana@2020, Abdul Salam AS, abhijitgade, Abram, abramfx, adel233696, admin, Afnan Al-mustafa, Ail Net, Amadon, andre almeida, Anthony Kha, anyaran11, armingrivas, arturocubas, Batman1988, berdj1, Birendranath Bormon, bjkcolom, Braham Niffi, Bujang Jungan, camusic, CASHSTORM, Castetbsds, charys83, Chelnet, chukychiky, Clovis1278, Cor Ligthert, Dararith Chan, Darlington, De Silvers Rayleigh, Deajisafe, Delefx, dtoredo, Duyhai, EA Tester Team Manager, econsulttt, erik25, FAR07, fdosanch, femo, Fenbert, fflorezangel, frankyfan, fxvahid.ak, GabbyFX, Gabbytinz, George Bayss, gerencia, Gladzzzzzz, GTGOGO, gxobzbqawfhxmbskul, haowenjie, Henry Liang, henryw, Houman Ahouman, ibenkbatavia, Inbox, inspiration2u, Ishwak Roy, islamraslan, Ivor, Jamshaid Ahmad Hashmi, Jattila688, Javier Garcia, JayFx265, Jhon Torres, Jimero2, jimmyrecorba, JKMPZ, jojo31, Josep Uwale, kanghsu709, Kentrokken, Kenzo Takarabe, kg15, KingObi, kjh7273, kostasxavier, Kreator Destruction, Leah Evans, lee, Lions Artha, lipexx, Livenm, maaxjps, maharaja, mahlomola, mania, Manu Redwater, MarianNick123, mark1504, mdrongy, Mehul123, mgouda2724, mirodias, mohamed_said82, Mohasmali, Muhammad Nazhim, n4n, nakatama1, Niic, Njaka, Nopporn NopToon Umampai, oindomavel, pakky1219, paolocroci69, Papagami, papi, Pavan Gudka, Peterhoang, Phanuphat Cholatda, Phuoctinuy, pr-systems, Radz5000, rainer3770, Raja Fathir Muazzam, ramioooz, Ratchapan Mungchupan, republikano, reynier.punisher.barnard, Robert Albino, Roman4x10, Ronny, rsj001x, Saido San, Saleem29, Sam Tag, sarkar, schrec633, selo, senzime, seunmeso, Shahrul Nizam M. Sapuan, Sidharth, Sima Mosima, simonsaz, Sniper696969, Soulgear, strawberry4fx, Suranga Abeywardene, Sydney2000, syimir, tadex, Tayofans, ThreeLions, Tolkien_12, Tom Ford, TWA2020, VedMal, wanamohana, WEALTHCREATION, widadi, Will777iam, wolfeman, xladin1, Yakiah Ernest Kalizibe, zagatechfx, zagloule, zain1991, zhaoron, Ziggo, Zoltan0013, zorbafx69, Zuenta, Κώστας Κυργιόπουλος, 홍성민
MT4talk is a User Generated Content website. All content uploaded to MT4talk by our users (MT4talk forum members) is User Generated Content. Please note that MT4talk doesn't sell Forex robots and does not provide support for the uploaded Forex robots. MT4talk only sells PRO membership. PRO membership is unlimited download access in every forum topic and forum posts.
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.
Disclaimer - No representation is being made that any Forex account will or is likely to achieve profits or losses similar to those shown on backtests in this forum. In fact, there are frequently sharp differences between hypothetical performance results and the actual results subsequently achieved by any particular trading program. Hypothetical trading does not involve financial risk, and no hypothetical trading record can completely account for the impact of financial risk in actual trading. All information on this forum is for educational purposes only and is not intended to provide financial advice. Any statements posted by forum members or the MT4talk EA Tester Team about profits or income expressed or implied, do not represent a guarantee. Your actual trading may result in losses as no trading system is guaranteed. You accept full responsibilities for your actions, trades, profit or loss, and agree to hold the MT4talk team and forum members of this information harmless in any and all ways.
Affiliates Disclaimer - The site may contain links to affiliate websites, and we receive an affiliate commission for any sign up that trade by you on the affiliate website using such links. Our affiliate partners includes the following: FXOpen, FBS, LQDFX, MyForexVPS.
Copyright MT4talk.com Forum Rules - Privacy Policy.