Spezifikation

#define ExtBotName "AK-47 Scalper EA" //Bot Name
#define  Version "1.00"

//--- input parameters
extern string  EASettings        = "---------------------------------------------"; //-------- <EA Settings> --------
input int      InpMagicNumber    = 124656;   //Magic Number

extern string  TradingSettings   = "---------------------------------------------"; //-------- <Trading Settings> --------
input double   Inpuser_lot       = 0.01;     //Lots
input double   InpSL_Pips        = 3.5;      //Stoploss (in Pips)
input double   InpMax_spread     = 0.5;      //Maximum allowed spread (in Pips) (0 = floating)

extern string  MoneySettings     = "---------------------------------------------"; //-------- <Money Settings> --------
input bool     isVolume_Percent  = true;     //Allow Volume Percent
input double   InpRisk           = 3;        //Risk Percentage of Balance (%)

input string   TimeSettings      = "---------------------------------------------"; //-------- <Trading Time Settings> --------
input bool     InpTimeFilter     = true;      //Trading Time Filter
input int      InpStartHour      = 2;         //Start Hour
input int      InpStartMinute    = 30;        //Start Minute
input int      InpEndHour        = 21;        //End Hour
input int      InpEndMinute      = 0;         //End Minute

2. local variables initialization
//--- Variables
int      Pips2Points;               // slippage  3 pips    3=points    30=points
double   Pips2Double;               // Stoploss 15 pips    0.015      0.0150
int      InpMax_slippage   = 3;     // Maximum slippage allow_Pips.
bool     isOrder           = false; // just open 1 order
int      slippage;
string   strComment        = "";

3. Main Code

a/ Expert initialization function

int OnInit()
  {
//---   
   //3 or 5 digits detection
   //Pip and point
   if (Digits % 2 == 1)
   {
      Pips2Double  = _Point*10; 
      Pips2Points  = 10;
      slippage = 10* InpMax_slippage;
   } 
   else
   {    
      Pips2Double  = _Point;
      Pips2Points  =  1;
      slippage = InpMax_slippage;
   }
   
//---
   return(INIT_SUCCEEDED);
  }

b/ Expert tick function

void OnTick()
  {
//---
     if(IsTradeAllowed() == false)
     {
      Comment("AK-47 EA\nTrade not allowed.");
      return;
     }
     
       MqlDateTime structTime;
       TimeCurrent(structTime);
       structTime.sec = 0;
       
       //Set starting time
       structTime.hour = InpStartHour;
       structTime.min = InpStartMinute;       
       datetime timeStart = StructToTime(structTime);
       
       //Set Ending time
       structTime.hour = InpEndHour;
       structTime.min = InpEndMinute;
       datetime timeEnd = StructToTime(structTime);
       
       double acSpread = MarketInfo(Symbol(), MODE_SPREAD);
       StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL);
      
      strComment = "\n" + ExtBotName + " - v." + (string)Version;
      strComment += "\nGMT time = " + TimeToString(TimeGMT(),TIME_DATE|TIME_SECONDS);
      strComment += "\nTrading time = [" + (string)InpStartHour + "h" + (string)InpStartMinute + " --> " +  (string)InpEndHour + "h" + (string)InpEndMinute + "]";
      
      strComment += "\nCurrent Spread = " + (string)acSpread + " Points";
      strComment += "\nCurrent stoplevel = " + (string)StopLevel + " Points";
      
      Comment(strComment);
   
      //Update Values
      UpdateOrders();
      
      TrailingStop();
      
      //Check Trading time
      if(InpTimeFilter)
      {
         if(TimeCurrent() >= timeStart && TimeCurrent() < timeEnd)
         {
            if(!isOrder) OpenOrder();
         }
      }
      else
      {
         if(!isOrder) OpenOrder();
      }
  }

3.1 Calculate signal in order to send orders

void OpenOrder(){
   
   //int OrdType = OP_SELL;//-1;

   double TP = 0;
   double SL = 0;
   string comment = ExtBotName;

   //Calculate Lots
   double lot1 = CalculateVolume();
   
   //if(OrdType == OP_SELL){
      double OpenPrice = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);
      SL = NormalizeDouble(Ask + StopLevel * _Point + InpSL_Pips/2 * Pips2Double, Digits);
         
      if(CheckSpreadAllow())                                    //Check Spread
      {
         if(!OrderSend(_Symbol, OP_SELLSTOP, lot1, OpenPrice, slippage, SL, TP, comment, InpMagicNumber, 0, clrRed))
         Print(__FUNCTION__,"--> OrderSend error ",GetLastError());
      }
   //}
}

3.2 Calculate Volume

double CalculateVolume()
  {
   double LotSize = 0;

   if(isVolume_Percent == false)
     {
      LotSize = Inpuser_lot;
     }
   else
     {

      LotSize = (InpRisk) * AccountFreeMargin();
      LotSize = LotSize /100000;
      double n = MathFloor(LotSize/Inpuser_lot);
      //Comment((string)n);
      LotSize = n * Inpuser_lot;

      if(LotSize < Inpuser_lot)
         LotSize = Inpuser_lot;

      if(LotSize > MarketInfo(Symbol(),MODE_MAXLOT))
         LotSize = MarketInfo(Symbol(),MODE_MAXLOT);

      if(LotSize < MarketInfo(Symbol(),MODE_MINLOT))
         LotSize = MarketInfo(Symbol(),MODE_MINLOT);
     }

   return(LotSize);
  }

3.3 EA has function "trailing Stop", SL will change every time price change (down)

void TrailingStop()
  {
   for(int i = OrdersTotal() - 1; i >= 0; i--)
     {
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
         if((OrderMagicNumber() == InpMagicNumber) && (OrderSymbol() == Symbol()))   //_Symbol))
           {

            //For Sell Order
            if(OrderType() == OP_SELL)
              {
                  //--Calculate SL when price changed
                  double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;
                  if(SL_in_Pip > InpSL_Pips){
                        double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + InpSL_Pips * Pips2Double, Digits);
                        if(!OrderModify(OrderTicket(), OrderOpenPrice(), newSL, OrderTakeProfit(), 0, clrRed))
                        {
                           Print(__FUNCTION__,"--> OrderModify error ",GetLastError());
                           continue;  
                        }
                    }
              }
             
            //For SellStop Order
            else if(OrderType() == OP_SELLSTOP)
              {
                  double SL_in_Pip = NormalizeDouble(OrderStopLoss() - (StopLevel * _Point) - Ask, Digits) / Pips2Double;
                  
                  if(SL_in_Pip < InpSL_Pips/2){
                     double newOP = NormalizeDouble(Bid - (StopLevel * _Point) - (InpSL_Pips/2) * Pips2Double, Digits);
                     double newSL = NormalizeDouble(Ask + (StopLevel * _Point) + (InpSL_Pips/2) * Pips2Double, Digits);
                     
                     if(!OrderModify(OrderTicket(), newOP, newSL, OrderTakeProfit(), 0, clrRed))
                     {
                        Print(__FUNCTION__,"--> Modify PendingOrder error!", GetLastError());
                        continue;  
                     }
                  
                  }
              }
              
           }
        }
     }
  }

Bewerbungen

1
Entwickler 1
Bewertung
(21)
Projekte
30
57%
Schlichtung
0
Frist nicht eingehalten
1
3%
Frei
2
Entwickler 2
Bewertung
(102)
Projekte
105
60%
Schlichtung
0
Frist nicht eingehalten
0
Frei
3
Entwickler 3
Bewertung
(27)
Projekte
36
25%
Schlichtung
1
0% / 0%
Frist nicht eingehalten
4
11%
Arbeitet
4
Entwickler 4
Bewertung
(511)
Projekte
585
38%
Schlichtung
2
100% / 0%
Frist nicht eingehalten
1
0%
Frei
Veröffentlicht: 9 Beispiele
5
Entwickler 5
Bewertung
(7)
Projekte
11
0%
Schlichtung
4
0% / 100%
Frist nicht eingehalten
2
18%
Arbeitet
6
Entwickler 6
Bewertung
(163)
Projekte
258
61%
Schlichtung
4
50% / 25%
Frist nicht eingehalten
10
4%
Frei
7
Entwickler 7
Bewertung
(164)
Projekte
211
19%
Schlichtung
19
42% / 16%
Frist nicht eingehalten
0
Arbeitet
8
Entwickler 8
Bewertung
(33)
Projekte
35
20%
Schlichtung
4
50% / 25%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
9
Entwickler 9
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
10
Entwickler 10
Bewertung
(236)
Projekte
242
31%
Schlichtung
0
Frist nicht eingehalten
3
1%
Frei
Veröffentlicht: 2 Beispiele
11
Entwickler 11
Bewertung
(535)
Projekte
613
34%
Schlichtung
34
38% / 47%
Frist nicht eingehalten
9
1%
Überlastet
12
Entwickler 12
Bewertung
(77)
Projekte
232
73%
Schlichtung
6
100% / 0%
Frist nicht eingehalten
1
0%
Frei
Ähnliche Aufträge
Shybossforex robot 30 - 50 USD
Shybossforex strategy full data continuation and reversal.The strategy of continuation and reversal is trading technique 5hat involves two different approach to trade execution.The continuation and reversal is based on assumption that current market trend will continuation in future and therefore inloves taking position in same direction as prevailing trending,I will wait for the pullback and continuation trade with
Hi, I’d like a bot to be made for Ninja Trader 8 to place and execute the trades but I want to use MT4 for the analysis and trade entry criteria. MT4 has different price data feeds so this strategy seems to work better when I use MT4 for the analysis to determine the entry. I’ve attached the strategy and rules and settings I want for the bot. Let me know if you think it will work to automate this strategy and do it
I need a Expert Advisor based on 1H timeframe to open positions once fib levels are broken. 2 positions opened per trigger. First position closes at first TP level and the remaining open position moves stop loss to break even. Only one break out trigger allowed per day. Fib must be auto drawn in by EA according to time frames given. Time frames need to be adjustable too. 3 Moving averages needed. Two smaller MA for
I need a very powerful profit harvesting tools with a comprehensive account protection system, with Candlestick dependant expert advisors (EA) on MQL4/5 plartform.need a developer with a Long time experience
I am looking for a fully functional Expert Advisor that is optimized for Prop Firm Challenges (e.g. FTMO, etc.). Requirements: Stable algorithm designed to comply with typical challenge rules (drawdown limits, max daily loss, etc.) Strategy with strong risk management and consistent profitability Fully commented source code (MQ5/MQ4) Transparent performance proof (backtests or live results) Optional Features
I am looking for an experienced MQL5 developer to build a trading robot based on my personal strategy. The EA should be coded professionally, with efficiency, accuracy, and risk management in mind. Strategy Overview: The strategy is structure-based with Fibonacci retracement (0.618–0.79) as the primary Point of Interest (POI). Secondary confluences include order blocks, support/resistance, psychological levels, and
I am looking for an experienced MetaTrader 5 (MT5) developer to create a custom Retail Sentiment Index Indicator. The indicator will pull real-time sentiment data from multiple brokers via their APIs, calculate net sentiment (long – short), and plot each feed as a moving average line directly over the candlestick chart. The indicator must also display a weighted average line (thicker) when more than one broker feed
Automate my trading 30 - 100 USD
I have a trading strategy that I would like to automate. It uses Moving average, CCI and RSI. I need and experienced developer to build me an EA out of that. Kindly let me know your experience as this project is huge. Thanks
THE BOT 10000+ USD
📌 Trading Bot Requirements & Functional Description 1. Core Objective The bot is designed to automate trading on MT5 using ICT-based and price-action strategies with dynamic trade management. It should integrate signal generation , risk management , and execution , while allowing flexibility for future strategy adjustments. 2. Technical Requirements Platform : Python-based, connected to MetaTrader 5 (MT5) for order
I want a bot that reads signals from my Telegram channel and auto-executes those trades on my Pocket Option account. 1. Direction mode hedge_both: open BUY (CALL) and SELL (PUT) at the same time (typically split the amount 50/50 per side). signal_only: open only the direction specified by the signal (CALL or PUT). 2. Respect signal direction When direction_mode = signal_only, a CALL signal opens a CALL; a PUT signal

Projektdetails

Budget
30 - 200 USD
Für die Entwickler
27 - 180 USD
Ausführungsfristen
von 1 bis 100 Tag(e)