İş tamamlandı
Tamamlanma süresi: 3 saat
Geliştirici tarafından geri bildirim
Good Customer
Müşteri tarafından geri bildirim
Exellent work, super and fast thank you I recomande :)
Şartname
Hello,
My problem is the trigger on the AccountProfit function.
what I would like is that it is on AccountEquity + Target .
Example:
My account Equity is 458, my target is 1, when my AccountEquity will arrive at
459 "Boom" all orders are closed, and my AccountEquity goes to 460 then 461 ect ....
//+------------------------------------------------------------------+ //| Balbuzia_3_in_1.mq4 | //| Copyright 2018, GCN ltd. | //| http://www.it-labmd.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, GCN ltd." #property link "http://www.it-labmd.com" #property version "1.00" #property strict extern double lots1_1 = 0.01; extern double lots2_1 = 0.02; extern double lots3_1 = 0.04; input int TakeProfit1_1 = 10; input int StopLoss1_1 = 400; input int TakeProfit2_1 = 10; input int StopLoss2_1 = 400; input int TakeProfit3_1 = 10; input int StopLoss3_1 = 400; extern int magic_1=000013; extern double Level_1=1.3000; extern double MaxDeviation_1=9; // Max Deviation, points bool RunOnce_1=false; int last_order_check_1=false; datetime EaStartTime_1=TimeCurrent(); double takeprofit1_1=TakeProfit1_1; double stoploss1_1=StopLoss1_1; double takeprofit2_1=TakeProfit2_1; double stoploss2_1=StopLoss2_1; double takeprofit3_1=TakeProfit3_1; double stoploss3_1=StopLoss3_1; extern double lots1_2 = 0.01; extern double lots2_2 = 0.02; extern double lots3_2 = 0.04; input int TakeProfit1_2 = 10; input int StopLoss1_2 = 400; input int TakeProfit2_2 = 10; input int StopLoss2_2 = 400; input int TakeProfit3_2 = 10; input int StopLoss3_2 = 400; extern int magic_2=000014; extern int Distance_2= 10; double Level_2 = 0; extern double MaxDeviation_2=9; // Max Deviation, points bool RunOnce_2=false; int last_order_check_2=false; datetime EaStartTime_2=TimeCurrent(); double takeprofit1_2=TakeProfit1_2; double stoploss1_2=StopLoss1_2; double takeprofit2_2=TakeProfit2_2; double stoploss2_2=StopLoss2_2; double takeprofit3_2=TakeProfit3_2; double stoploss3_2=StopLoss3_2; int distance_2=Distance_2; extern double lots1_3 = 0.01; extern double lots2_3 = 0.02; extern double lots3_3 = 0.04; input int TakeProfit1_3 = 10; input int StopLoss1_3 = 400; input int TakeProfit2_3 = 10; input int StopLoss2_3 = 400; input int TakeProfit3_3 = 10; input int StopLoss3_3 = 400; extern int magic_3=000015; extern int Distance_3= 10; double Level_3 = 0; extern double MaxDeviation_3=9; // Max Deviation, points input int GlobalEATP=1; // Profit close in USD (should be positive value, 0=off) bool RunOnce_3=false; int last_order_check_3=false; datetime EaStartTime_3=TimeCurrent(); double takeprofit1_3=TakeProfit1_3; double stoploss1_3=StopLoss1_3; double takeprofit2_3=TakeProfit2_3; double stoploss2_3=StopLoss2_3; double takeprofit3_3=TakeProfit3_3; double stoploss3_3=StopLoss3_3; int distance_3=Distance_3; double profitCurrent=0; string label_name="profit"; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- create timer MathSrand(GetTickCount()); if(Digits==5 || Digits==3) { takeprofit1_1 =TakeProfit1_1*10; stoploss1_1 =StopLoss1_1*10; takeprofit2_1 =TakeProfit2_1*10; stoploss2_1 =StopLoss2_1*10; takeprofit3_1 =TakeProfit3_1*10; stoploss3_1 =StopLoss3_1*10; takeprofit1_2=TakeProfit1_2*10; stoploss1_2 =StopLoss1_2*10; takeprofit2_2 =TakeProfit2_2*10; stoploss2_2 =StopLoss2_2*10; takeprofit3_2 =TakeProfit3_2*10; stoploss3_2 =StopLoss3_2*10; distance_2=Distance_2*10; takeprofit1_3=TakeProfit1_3*10; stoploss1_3 =StopLoss1_3*10; takeprofit2_3 =TakeProfit2_3*10; stoploss2_3 =StopLoss2_3*10; takeprofit3_3 =TakeProfit3_3*10; stoploss3_3 =StopLoss3_3*10; distance_3=Distance_3*10; } Level_2=Level_1+Point()*distance_2; Level_3=Level_1-Point()*distance_3; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { OnTick_1(); OnTick_2(); OnTick_3(); statisticEA(); if(profitCurrent>=GlobalEATP && GlobalEATP>0) CloseAll(); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick_1() { if(IsLastOrderClose(magic_1,EaStartTime_1)) { OnInit(); Print("Ea Closed Manually "); EaStartTime_1=TimeCurrent(); } int ticet; int t=MathRand(); double MA_Fast1,MA_Low1; if(CountVsego(magic_1)==0) { MA_Fast1=iMA(NULL,0,5,0,MODE_SMA,PRICE_TYPICAL,0); MA_Low1=iMA(NULL,0,14,0,MODE_SMA,PRICE_CLOSE,1); if(Counts(magic_1,EaStartTime_1,RunOnce_1)==0 && MA_Fast1>MA_Low1 && (RunOnce_1 || (Ask>=Level_1 && Ask<=Level_1+(MaxDeviation_1*_Point) && Level_1!=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots1_1,Ask,3,Bid-stoploss1_1*Point,Ask+takeprofit1_1*Point,"1.1",magic_1,0,clrGreen); } if(Counts(magic_1,EaStartTime_1,RunOnce_1)==0 && MA_Fast1<MA_Low1 && (RunOnce_1 || (Bid<=Level_1 && Bid>=Level_1-(MaxDeviation_1*_Point) && Level_1!=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots1_1,Bid,3,Ask+stoploss1_1*Point,Bid-takeprofit1_1*Point,"1.1",magic_1,0,clrRed); } if(Counts(magic_1,EaStartTime_1,RunOnce_1)==1) { if(getLastOrderCloseType(magic_1)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_1,Ask,3,Bid-stoploss2_1*Point,Ask+takeprofit2_1*Point,"1.2",magic_1,0,clrGreen); if(getLastOrderCloseType(magic_1)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_1,Bid,3,Ask+stoploss2_1*Point,Bid-takeprofit2_1*Point,"1.2",magic_1,0,clrRed); } if(Counts(magic_1,EaStartTime_1,RunOnce_1)==2) { if(getLastOrderCloseType(magic_1)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_1,Ask,3,Bid-stoploss3_1*Point,Ask+takeprofit3_1*Point,"1.3",magic_1,0,clrGreen); if(getLastOrderCloseType(magic_1)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_1,Bid,3,Ask+stoploss3_1*Point,Bid-takeprofit3_1*Point,"1.3",magic_1,0,clrRed); } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick_2() { if(IsLastOrderClose(magic_2,EaStartTime_2)) { OnInit(); Print("Ea Closed Manually "); EaStartTime_2=TimeCurrent(); } int ticet; int t=MathRand(); double MA_Fast1,MA_Low1; if(CountVsego(magic_2)==0) { MA_Fast1=iMA(NULL,0,5,0,MODE_SMA,PRICE_TYPICAL,0); MA_Low1=iMA(NULL,0,14,0,MODE_SMA,PRICE_CLOSE,1); if(Counts(magic_2,EaStartTime_2,RunOnce_2)==0 && MA_Fast1>MA_Low1 && (RunOnce_2 || (Ask>=Level_2 && Ask<=Level_2+(MaxDeviation_2*_Point) && Level_2!=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots1_2,Ask,3,Bid-stoploss1_2*Point,Ask+takeprofit1_2*Point,"2.1",magic_2,0,clrGreen); } if(Counts(magic_2,EaStartTime_2,RunOnce_2)==0 && MA_Fast1<MA_Low1 && (RunOnce_2 || (Bid<=Level_2 && Bid>=Level_2-(MaxDeviation_2*_Point) && Level_2!=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots1_2,Bid,3,Ask+stoploss1_2*Point,Bid-takeprofit1_2*Point,"2.1",magic_2,0,clrRed); } if(Counts(magic_2,EaStartTime_2,RunOnce_2)==1) { if(getLastOrderCloseType(magic_2)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_2,Ask,3,Bid-stoploss2_2*Point,Ask+takeprofit2_2*Point,"2.2",magic_2,0,clrGreen); if(getLastOrderCloseType(magic_2)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_2,Bid,3,Ask+stoploss2_2*Point,Bid-takeprofit2_2*Point,"2.2",magic_2,0,clrRed); } if(Counts(magic_2,EaStartTime_2,RunOnce_2)==2) { if(getLastOrderCloseType(magic_2)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_2,Ask,3,Bid-stoploss3_2*Point,Ask+takeprofit3_2*Point,"2.3",magic_2,0,clrGreen); if(getLastOrderCloseType(magic_2)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_2,Bid,3,Ask+stoploss3_2*Point,Bid-takeprofit3_2*Point,"2.3",magic_2,0,clrRed); } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTick_3() { if(IsLastOrderClose(magic_3,EaStartTime_3)) { OnInit(); Print("Ea Closed Manually "); EaStartTime_3=TimeCurrent(); } int ticet; int t=MathRand(); double MA_Fast1,MA_Low1; if(CountVsego(magic_3)==0) { MA_Fast1=iMA( NULL,0,5, 0, MODE_SMA, PRICE_TYPICAL, 0); // áûñòðàÿ ÌÀ MA_Low1=iMA( NULL, 0, 14, 0, MODE_SMA, PRICE_CLOSE, 1); // ìåäëåííàÿ ÌÀ if(Counts(magic_3,EaStartTime_3,RunOnce_3)==0 && MA_Fast1>MA_Low1 && (RunOnce_3 || (Ask>=Level_3 && Ask<=Level_3+(MaxDeviation_3*_Point) && Level_3!=0))) { ticet=OrderSend(Symbol(),OP_BUY,lots1_3,Ask,3,Bid-stoploss1_3*Point,Ask+takeprofit1_3*Point,"3.1",magic_3,0,clrGreen); } if(Counts(magic_3,EaStartTime_3,RunOnce_3)==0 && MA_Fast1<MA_Low1 && (RunOnce_3 || (Bid<=Level_3 && Bid>=Level_3-(MaxDeviation_3*_Point) && Level_3!=0))) { ticet=OrderSend(Symbol(),OP_SELL,lots1_3,Bid,3,Ask+stoploss1_3*Point,Bid-takeprofit1_3*Point,"3.1",magic_3,0,clrRed); } if(Counts(magic_3,EaStartTime_3,RunOnce_3)==1) { if(getLastOrderCloseType(magic_3)==1) ticet=OrderSend(Symbol(),OP_BUY,lots2_3,Ask,3,Bid-stoploss2_3*Point,Ask+takeprofit2_3*Point,"3.2",magic_3,0,clrGreen); if(getLastOrderCloseType(magic_3)==0) ticet=OrderSend(Symbol(),OP_SELL,lots2_3,Bid,3,Ask+stoploss2_3*Point,Bid-takeprofit2_3*Point,"3.2",magic_3,0,clrRed); } if(Counts(magic_3,EaStartTime_3,RunOnce_3)==2) { if(getLastOrderCloseType(magic_3)==1) ticet=OrderSend(Symbol(),OP_BUY,lots3_3,Ask,3,Bid-stoploss3_3*Point,Ask+takeprofit3_3*Point,"3.3",magic_3,0,clrGreen); if(getLastOrderCloseType(magic_3)==0) ticet=OrderSend(Symbol(),OP_SELL,lots3_3,Bid,3,Ask+stoploss3_3*Point,Bid-takeprofit3_3*Point,"3.3",magic_3,0,clrRed); } } } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int getLastOrderCloseType(int magic) { datetime t=0; int tick=-1; int i,total=OrdersHistoryTotal(); for(i=0; i<total; i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic) { if(t<OrderCloseTime()) { t=OrderCloseTime(); tick=OrderTicket(); } } } } for(i=0; i<total; i++) { if(OrderSelect(tick,SELECT_BY_TICKET)) { return OrderType(); } } return tick; } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CountSELL(int magic) { 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 magic) { 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 magic,datetime &EaStartTime,bool &RunOnce) { int count=0,i; for(i=OrdersHistoryTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderOpenTime()>=EaStartTime) { if(OrderProfit()<0) { if(count==0) { OnInit(); EaStartTime=TimeCurrent(); RunOnce=true; return(count); } } else { count++; } } if(count>2) { OnInit(); EaStartTime=TimeCurrent(); RunOnce=true; return(count); } } } return(count); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int CountVsego(int magic) { int Vsego; Vsego=CountBUY(magic)+CountSELL(magic); return(Vsego); } //+------------------------------------------------------------------+ bool IsLastOrderClose(int magic,datetime &EaStartTime) { 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 && OrderOpenTime()>=EaStartTime) { ---------------------------------------------------------------+
Yanıtlandı
1
Derecelendirme
Projeler
1735
49%
Arabuluculuk
55
67%
/
16%
Süresi dolmuş
38
2%
Serbest
2
Derecelendirme
Projeler
412
36%
Arabuluculuk
35
26%
/
57%
Süresi dolmuş
63
15%
Serbest
3
Derecelendirme
Projeler
1008
47%
Arabuluculuk
33
36%
/
36%
Süresi dolmuş
99
10%
Çalışıyor
Yayınlandı: 6 kod
4
Derecelendirme
Projeler
201
49%
Arabuluculuk
18
11%
/
44%
Süresi dolmuş
1
0%
Serbest
5
Derecelendirme
Projeler
680
57%
Arabuluculuk
25
16%
/
60%
Süresi dolmuş
228
34%
Serbest
6
Derecelendirme
Projeler
744
56%
Arabuluculuk
48
31%
/
31%
Süresi dolmuş
120
16%
Serbest
Yayınlandı: 1 kod
Benzer siparişler
A trending candle followed by a smaller trending candle which is the second candle with no 5EMA The 3rd candle is a reversal candle in which it and it's immidiate previous candle must be at least 70% of each other's body or equal body, with no 5EMA touch the 3rd candle candle is followed immediately by the 4th candle which is the signal candle in which it and the 1st cabdle must be also at least 70% of
LynxMT5algo
30 - 100 USD
An mt5 add on indicator like gainalgo style to show entrance and exit areas for gold silver and Btc scalping. It will be used to make trading more easy for beginners
Simple Added Notice For Existing Indicator
50 - 200 USD
I have the Fisher Indicator shown below the chart. I need an alert added for when the Fisher Indicator hits the 50 point at the end of each period. GBPUSD and EURUSD 4H charts are provided and I can provide additional
Hello here, I need someone who can work on pinescript and also with Renko charts. My entries for my strategy would be based on stop orders Kindly let me know if you can work on this for me and i will send necessary file and quote in the chat
EA Recovery Layer
30+ USD
Freelance Task — EA Recovery Layer Hello. I have a ready-made MQL5 EA. The signals, SL/TP and lot calculation should essentially not be touched. I need a recovery system added. I am not a programmer — below is how the robot should behave. What stays Entry only from an EA signal. Stop-loss is not a new signal. Trailing is already built into my EA — recovery does not implement its own trailing. If trailing is disabled
# SNRZ BOT — SESSION PROGRESS LOG Last updated: 2026-09-16 (local late-evening session) ## SAN BOT (new — cloned from SNRZ) - `MQL5\Experts\AutomatedOrderBot_SAN.mq5` / `.ex5` — v1.0, compiled 0 errors/0 warnings - Signal source: custom indicator "SAN" (InpSANName, buy buf 0 / sell buf 1, target bar 1), same SNRZ-style read, MA fallback if missing - Magic number 234567 (separate from SNRZ 123456 so both bots can run
Should be as it but no alarms, also we need to add a deep search so he can see all the preves candles and a memory function so its not slowing down the indicator. for higher time frames daily 4h 1h around 365 days and for lower time frames we do up to 20k bars but both flexible so i can change it later. the memory is important so the indicator is not always recalculating everything when a new candle shows especially
Hi, I need an experienced NinjaTrader 8/NinjaScript developer to finish or rebuild an automated futures strategy, ideally by the end of this week. I already have the complete TradingView Pine Script reference strategy, an existing ~2,000-line NinjaScript implementation, Playback logs, and known historical benchmark trades. MOST IMPORTANT REQUIREMENT: TRADINGVIEW ↔ NINJATRADER PARITY. The Pine Script is the reference
I need a custom MQL5 indicator for MetaTrader 5. The indicator must automatically print entry, stop loss, and take profit zones on the chart using dots. A critical requirement is that these dots must be non-lagging and absolutely non-repainting. Additionally, the indicator needs to identify and display current supply and demand zones. Please provide the mq5 source code and the ex5 file upon completion
I need an experienced trading-data specialist who can help me obtain 3–4 years of historical market data compatible with NinjaTrader 8 . The data will be used for trading strategy development, backtesting, and analysis
Proje bilgisi
Bütçe
30+ USD
Son teslim tarihi
to 2 gün