Job finished
Execution time 25 seconds
Feedback from customer
Nice job :)
Feedback from employee
Perfect
Specification
Hello,
Problem opening position
example:
When I have an order that opens either to bull or sell in the function
if(Counts () == 0
if it's a bull order and my stop loss is hit then it will go to the function
if (Counts () == 1 ect ...
what I want is when my function
if (Counts () == 2
is hit and a bull order is opened and my stop loss is hit then my function
if (Counts () == 3
will open a sell order.
and if my function
if (Counts () == 2
opens a sell order then my function
if (Counts () == 3
will open a bull command
//| test35.mq4 | //| xxx | //| http://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "xxx" #property link "http://www.mql5.com" #property version "1.00" #property strict extern double lots1 = 0.01; extern double lots2 = 0.03; extern double lots3 = 0.10; extern double lots4 = 0.01; extern double lots5 = 0.03; extern double lots6 = 0.10; extern double lots7 = 0.01; extern double lots8 = 0.03; extern double lots9 = 0.10; extern double lots10 = 0.01; extern double lots11 = 0.03; extern double lots12 = 0.10; input int TakeProfit1 = 10; input int StopLoss1 = 20; input int TakeProfit2 = 10; input int StopLoss2 = 20; input int TakeProfit3 = 10; input int StopLoss3 = 20; input int TakeProfit4 = 10; input int StopLoss4 = 20; input int TakeProfit5 = 10; input int StopLoss5 = 20; input int TakeProfit6 = 10; input int StopLoss6 = 20; input int TakeProfit7 = 10; input int StopLoss7 = 20; input int TakeProfit8 = 10; input int StopLoss8 = 20; input int TakeProfit9 = 10; input int StopLoss9 = 20; input int TakeProfit10 = 10; input int StopLoss10 = 20; input int TakeProfit11 = 10; input int StopLoss11 = 20; input int TakeProfit12 = 10; input int StopLoss12 = 20; input int period=14; // Averagin period for calculation input int period1=14; input int period2=14; input int period3=14; //input ENUM_APPLIED_PRICE appPrice=PRICE_HIGH; // Applied price input int OverBought=70; // Over bought level input int OverSold=30; // Over sold level input int OverBought1=75; // Over bought level input int OverSold1=25; // Over sold level input int OverBought2=80; // Over bought level input int OverSold2=20; // Over sold level input int OverBought3=85; // Over bought level input int OverSold3=15; // Over sold level extern int magic = 118516; //extern double Level = 1.3660; //extern double MaxDeviation = 9; // Max Deviation, points bool RunOnce=false; int last_order_check = false; datetime EaStartTime=TimeCurrent(); double takeprofit1=TakeProfit1; double stoploss1 =StopLoss1; double takeprofit2=TakeProfit2; double stoploss2 =StopLoss2; double takeprofit3=TakeProfit3; double stoploss3 =StopLoss3; double takeprofit4=TakeProfit4; double stoploss4 =StopLoss4; double takeprofit5=TakeProfit5; double stoploss5 =StopLoss5; double takeprofit6=TakeProfit6; double stoploss6 =StopLoss6; double takeprofit7=TakeProfit7; double stoploss7 =StopLoss7; double takeprofit8=TakeProfit8; double stoploss8 =StopLoss8; double takeprofit9=TakeProfit9; double stoploss9 =StopLoss9; double takeprofit10=TakeProfit10; double stoploss10 =StopLoss10; double takeprofit11=TakeProfit11; double stoploss11 =StopLoss11; double takeprofit12=TakeProfit12; double stoploss12 =StopLoss12; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { RunOnce=false; MathSrand(GetTickCount()); if(Digits==5 || Digits==3) { takeprofit1 =TakeProfit1*10; stoploss1 =StopLoss1*10; takeprofit2 =TakeProfit2*10; stoploss2 =StopLoss2*10; takeprofit3 =TakeProfit3*10; stoploss3 =StopLoss3*10; takeprofit4 =TakeProfit4*10; stoploss4 =StopLoss4*10; takeprofit5 =TakeProfit5*10; stoploss5 =StopLoss5*10; takeprofit6 =TakeProfit6*10; stoploss6 =StopLoss6*10; takeprofit7 =TakeProfit7*10; stoploss7 =StopLoss7*10; takeprofit8 =TakeProfit8*10; stoploss8 =StopLoss8*10; takeprofit9 =TakeProfit9*10; stoploss9 =StopLoss9*10; takeprofit10 =TakeProfit10*10; stoploss10 =StopLoss10*10; takeprofit11 =TakeProfit11*10; stoploss11 =StopLoss11*10; takeprofit12 =TakeProfit12*10; stoploss12 =StopLoss12*10; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnTimer() { OnTick(); } void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { if(IsLastOrderClose()) { OnInit(); Print("Ea Closed Manually "); EaStartTime=TimeCurrent(); } double rsi=iRSI(_Symbol,PERIOD_CURRENT,period,PRICE_HIGH,1); double rsi1=iRSI(_Symbol,PERIOD_CURRENT,period1,PRICE_HIGH,1); double rsi2=iRSI(_Symbol,PERIOD_CURRENT,period2,PRICE_HIGH,1); double rsi3=iRSI(_Symbol,PERIOD_CURRENT,period3,PRICE_HIGH,1); double MA_Fast1,MA_Low1,MA_Fast2,MA_Low2; MA_Fast1=iMA( NULL, PERIOD_M1, 1, 0, MODE_SMA, PRICE_TYPICAL, 0); // áûñòðàÿ ÌÀ MA_Low1=iMA( NULL, PERIOD_M1, 20, 7, MODE_SMA, PRICE_CLOSE, 0); // ìåäëåííàÿ ÌÀ MA_Fast2=iMA( NULL, PERIOD_M1, 1, 0, MODE_SMA, PRICE_TYPICAL, 1); // áûñòðàÿ ÌÀ MA_Low2=iMA( NULL, PERIOD_M1, 20, 7, MODE_SMA, PRICE_CLOSE, 1); // ìåäëåííàÿ ÌÀ int ticet; int t=MathRand(); if(CountVsego()==0) { if(t>16384) { if(Counts()==0&& (rsi<OverSold))//&&( Close[0] > High[1] ))// && (RunOnce || (Ask >=Level && Ask<=Level+(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots1,Ask,3,Bid-stoploss1*Point,Ask+takeprofit1*Point,"1",magic,0,clrGreen); if(ticet>0) { RunOnce=true;//OverSold } } } // Partie 1 else if(t<16384) { if(Counts()==0&&(rsi>OverBought ))//&&( Close[0] < Low[1] ))// && (RunOnce || (Bid <=Level && Bid >= Level-(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots1,Bid,3,Ask+stoploss1*Point,Bid-takeprofit1*Point,"1",magic,0,clrRed); if(ticet>0) { RunOnce=true; } } } // if(t>16384) // { if(Counts()==1&& (rsi1<OverSold1))// && MA_Fast2<MA_Low2 ))//&&( Close[0] > High[1] ))// && (RunOnce || (Ask >=Level && Ask<=Level+(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots2,Ask,3,Bid-stoploss2*Point,Ask+takeprofit2*Point,"2",magic,0,clrGreen); // if(ticet>0) // { // RunOnce=true; } // } // } // Partie 2 // else if(t<16384) // { if(Counts()==1&& (rsi1>OverBought1 ))// && MA_Fast2>MA_Low2 ))//&&( Close[0] < Low[1] ))// && (RunOnce || (Bid <=Level && Bid >= Level-(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots2,Bid,3,Ask+stoploss2*Point,Bid-takeprofit2*Point,"2",magic,0,clrRed); // if(ticet>0) // { // RunOnce=true; } // } // } // if(t>16384) // { if(Counts()==2&& (rsi2<OverSold2))// && MA_Fast4<MA_Low4 ))//&&( Close[0] > High[1] ))// && (RunOnce || (Ask >=Level && Ask<=Level+(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots3,Ask,3,Bid-stoploss3*Point,Ask+takeprofit3*Point,"3",magic,0,clrGreen); // if(ticet>0) // { // RunOnce=true; } // } // } //Partie 3 // else if(t<16384) // { if(Counts()==2&& (rsi2>OverBought2 ))// && MA_Fast4>MA_Low4 ))//&&( Close[0] < Low[1] ))// && (RunOnce || (Bid <=Level && Bid >= Level-(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots3,Bid,3,Ask+stoploss3*Point,Bid-takeprofit3*Point,"3",magic,0,clrRed); // if(ticet>0) //{ // RunOnce=true; } // } // } // if(t>16384) // { if(Counts()==3&&(rsi<OverSold))//&&( Close[0] > High[1] ))// && (RunOnce || (Ask >=Level && Ask<=Level+(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots4,Ask,3,Bid-stoploss4*Point,Ask+takeprofit4*Point,"4",magic,0,clrGreen); // if(ticet>0) // { // RunOnce=true; // } } // } // Partie 4 // else if(t<16384) // { if(Counts()==3&&(rsi>OverBought ))//&&( Close[0] < Low[1] ))// && (RunOnce || (Bid <=Level && Bid >= Level-(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots4,Bid,3,Ask+stoploss4*Point,Bid-takeprofit4*Point,"4",magic,0,clrRed); // if(ticet>0) // { // RunOnce=true; } // } // } // if(t>16384) // { if(Counts()==4&& (rsi1<OverSold1))// && MA_Fast2<MA_Low2 ))//&&( Close[0] > High[1] ))// && (RunOnce || (Ask >=Level && Ask<=Level+(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots5,Ask,3,Bid-stoploss5*Point,Ask+takeprofit5*Point,"5",magic,0,clrGreen); // if(ticet>0) // { // RunOnce=true; } // } // } // Partie 5 // else if(t<16384) // { if(Counts()==4&& (rsi1>OverBought1 ))// && MA_Fast2>MA_Low2 ))//&&( Close[0] < Low[1] ))// && (RunOnce || (Bid <=Level && Bid >= Level-(MaxDeviation*_Point) && Level !=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots5,Bid,3,Ask+stoploss5*Point,Bid-takeprofit5*Point,"5",magic,0,clrRed); // if(ticet>0) // { // RunOnce=true; // } // } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CountSELL() { int count=0; int i; for(i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELL) count++; } } return(count); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CountBUY() { int count=0; int i; for(i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUY) count++; } } return(count); } //+------------------------------------------------------------------+ int Counts() { int count=0,i; for(i=OrdersHistoryTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderCloseTime()>=EaStartTime) { if(OrderProfit()>0) { if(count==0) { OnInit(); EaStartTime=TimeCurrent(); } return count; }else { count++; } } if(count > 11 && OrderCloseTime()>=EaStartTime) count=0; } } return(count); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CountVsego() { int Vsego; Vsego=CountBUY()+CountSELL(); return(Vsego); } //+------------------------------------------------------------------+ bool IsLastOrderClose() { bool signal = false; for(int i=OrdersHistoryTotal()-1;i>=0;i--) { bool select = OrderSelect(i,SELECT_BY_POS,MODE_HISTORY); if(select && OrderSymbol()==_Symbol && OrderMagicNumber()==magic) { if(OrderType()==OP_BUY && OrderCloseTime()>=EaStartTime) { if(OrderClosePrice()>OrderStopLoss() && OrderClosePrice()<OrderTakeProfit()) { signal = true; } break; } else if(OrderType()==OP_SELL && OrderCloseTime()>=EaStartTime) { if(OrderClosePrice()<OrderStopLoss() && OrderClosePrice()>OrderTakeProfit()) { signal = true; } break; } break; } } return(signal); }
Responded
1
Rating
Projects
138
41%
Arbitration
30
7%
/
77%
Overdue
17
12%
Free
2
Rating
Projects
134
14%
Arbitration
41
22%
/
29%
Overdue
14
10%
Free
3
Rating
Projects
148
59%
Arbitration
16
38%
/
13%
Overdue
25
17%
Free
4
Rating
Projects
680
57%
Arbitration
25
16%
/
60%
Overdue
228
34%
Free
Similar orders
DEBUG Indicators and Expert Advisor
100+ USD
ATTENTION THIS TASK ONLY REMOTE ""ANYDESK"" I need to modify my indicator with the following thingsa initialize the array in buffers, then there will be no errors. Now this consumes a lot of RAM.... allow //#property strict convert to mql5 and automate it in EA
CREATING AN LSTM INDICATOR IN MT4
500 - 1000 USD
Seeking an expert in LSTM (Long Short-Term Memory) for MT4 to implement the most cutting-edge and advanced form of LSTM with full feature integration. The ideal candidate will possess extensive experience in leveraging LSTM technology within MT4, ensuring optimal performance and profitability. Join us in revolutionizing trading strategies with state-of-the-art LSTM algorithms tailored for MT4. Add a zig zag to the
Hello there, I have a functional EA that I need a modification done to. Previous developer is overloaded with work and has been dragging his feet. Basically what I need is a modification to the Auto Lot option. Currently you can set a lot size per x amount of account balance and it will auto trade readjusting the lots based on account balance. What I am looking for is a modification that allows me to specify the
Adding new features to existing MT5 EA
30 - 100 USD
I have an EA which trades with XAUUSD with a grid system, and I need to add a few features: 1.- The EA works with an indicator and open many trades as a grid system. I need the EA to open JUST 1 TRADE INMEDIATELY WHEN THE TREND SHOWS. 2.- I need the EA to keep that trade open until it reaches TP or the reverse signal shows. The EA has already the 'close if reverse signal' parameter. 3.- I need to create a parameter
I want a Sierra Chart Expert to automate already working codes Features on multiple tickers
100+ USD
Just to confirm, the Indicator will have the following: Ability to upload multiple levels for multiple tickers (stocks, ETFs, Futures) Ability to change the color of the lines Ability to concatenate levels if on the same price. Example: Level 1 & Level 2 Ability to tick or untick levels that the user does not want to plot Ability to show price values on the level (user should be able to select this in the settings)
Convert MT4 to ctrader
30+ USD
👋 Hey can you help me to convert mt4 to ctrader cbot? Options Required along with the conversion from given MQL4 source code to Ctrader Cbot just need one option on top of converting mt4 to cbot need an option to run cbot in selected direction with options as Buy/Sell/Buy-and-Sell
I have an already working codes but I want to automates those features to work on multiple tickers on Sierra Chart platform. And also I want users to be able to send texts on the chart. Can I get help with that
Hello developers here, I need a professional developer that can help me to develop an mt5 trading bot that works according to my strategy, I will be sharing my strategy in the inbox, Let me know if you can develop it, I will be waiting for your response
Develop A SMC (FVG) Concept EA + Indicator
300 - 800 USD
Strategy To Be Used 1. Order Blocks (4HR, Daily And Weekly) 2. FVG (For Entry) 3. Fibonacci Levels (TP) 4. HH/LL ( SL) Works in 1HR & 4HR (TF) Risk to reward minimum 2:1 (Default) Winrate 53.21% (Accuracy) tested on Live account of 1000$ May 14th to May 31st You can change the risk per trade percent Per day DD Limit *it should takes multiple entries at the same price point when the price touches weekly/ daily
Conversion from MT5 to MT4
30+ USD
MetaTrader MT4 to MT5 Conversion I'm on the lookout for a skilled developer proficient in MetaTrader who can assist me in converting my custom indicators and Expert Advisors (EAs) from MT4 to MT5. The primary goal of this project is to ensure that my tools are seamlessly compatible with both platforms. Key Requirements: - Proven experience in MetaTrader programming - A deep understanding of the differences between
Project information
Budget
30+ USD
VAT (20%):
6
USD
Total:
36
USD
For the developer
27
USD
Deadline
to 1 day(s)