Turn MT4 Indi into MT4 EA

仕事が完了した

実行時間17 時間
依頼者からのフィードバック
Very good, fast work. Will use again in future.

指定

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 LimeGreen
//----
extern bool Show_Alert = true;
//---- buffers
double upArrow[];
double downArrow[];
string PatternText[5000];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() 
  {
   SetIndexStyle(0, DRAW_ARROW, 0, 1);
   SetIndexArrow(0, 234);
   SetIndexBuffer(0, downArrow);      
//----
   SetIndexStyle(1, DRAW_ARROW, 0, 1);
   SetIndexArrow(1, 233);
   SetIndexBuffer(1, upArrow);
      
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit() 
  {
   ObjectsDeleteAll(0, OBJ_TEXT);
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   double Range, AvgRange;
   int counter, setalert;
   static datetime prevtime = 0;
   int shift;
   int shift1;
   int shift2;
   int shift3;
   int shift4;   
 
   double mid1, mid2, mid3, mid4, shift1percent, V1, V2;   
   
   string pattern, period;
   int setPattern = 0;
   int alert = 0;
   int arrowShift;
   int textShift;
   double O, O1, O2, C, C1, C2, L, L1, L2, H, H1, H2;     
//----
   if(prevtime == Time[0]) 
     {
       return(0);
     }
   prevtime = Time[0];   
//----
   switch(Period()) 
     {
       case 1:     period = "M1";  break;
       case 5:     period = "M5";  break;
       case 15:    period = "M15"; break;
       case 30:    period = "M30"; break;      
       case 60:    period = "H1";  break;
       case 240:   period = "H4";  break;
       case 1440:  period = "D1";  break;
       case 10080: period = "W1";  break;
       case 43200: period = "MN";  break;
     }
//----
   for(int j = 0; j < Bars; j++) 
     { 
       PatternText[j] = j;
     }
//----
   for(shift = 0; shift < Bars; shift++) 
     {
       setalert = 0;
       counter = shift;
       Range = 0;
       AvgRange = 0;
       for(counter = shift; counter <= shift + 9; counter++) 
         {
           AvgRange = AvgRange + MathAbs(High[counter] - Low[counter]);
         }
       Range = AvgRange / 10;
       shift1 = shift + 1;
       shift2 = shift + 2;
       shift3 = shift + 3;      
       shift4 = shift + 4;        
       mid1 = Low[shift1]+((High[shift1]-Low[shift1])/2);
       mid2 = Low[shift2]+((High[shift2]-Low[shift2])/2);
       mid3 = Low[shift3]+((High[shift3]-Low[shift3])/2);
       mid4 = Low[shift4]+((High[shift4]-Low[shift4])/2);                     
       shift1percent = (High[shift1]-Low[shift1])/100 ;
       O = Open[shift1];
       O1 = Open[shift2];
       O2 = Open[shift3];
       H = High[shift1];
       H1 = High[shift2];
       H2 = High[shift3];
       L = Low[shift1];
       L1 = Low[shift2];
       L2 = Low[shift3];
       C = Close[shift1];
       C1 = Close[shift2];
       C2 = Close[shift3];  
       
       V1 = Volume[shift1];
       V2 = Volume[shift2];     


       if((mid1 < mid2) && (mid1 < mid3) && (mid1 < mid4) && (C < (mid1-1*shift1percent)) && (V1 > V2) && (O > C) )
         {
           //    ObjectCreate(PatternText[shift], OBJ_TEXT, 0, Time[shift1], 
           //                 High[shift1] + Range*1.5);
           //    ObjectSetText(PatternText[shift], DoubleToStr(V2,5), 10, 
           //                  "Times New Roman", Red);
               downArrow[shift1] = High[shift1] + Range*0.5;
        
           if(setalert == 0 && Show_Alert == true) 
             {
               pattern = "Down Jump Bar";
               setalert = 1;
             }
         }

     

       if((mid1 > mid2) && (mid1 > mid3) && (mid1 > mid4) && (C > (mid1+1*shift1percent)) && (V1 > V2) && (O < C) )
         {
           //    ObjectCreate(PatternText[shift], OBJ_TEXT, 0, Time[shift1], 
           //                 High[shift1] + Range*1.5);
           //    ObjectSetText(PatternText[shift], DoubleToStr(V2,5), 10, 
           //                  "Times New Roman", Red);
               upArrow[shift1] = Low[shift1] - Range*0.5;
        
           if(setalert == 0 && Show_Alert == true) 
             {
               pattern = "Up Jump Bar";
               setalert = 1;
             }
         }
         
  
       if(setalert == 1 && shift == 0) 
         {
           Alert(Symbol(), " ", period, " ", pattern);
           setalert = 0;
         }
     } // End of for loop
   return(0);
  }
//+------------------------------------------------------------------+
Looking to turn this Indi into an EA. EA enters trade when an opposing arrow is formed, red down arrow is a sell trade, green up arrow a buy trade. Stop loss is placed above/below recent high/low. EA will exit a trade when an opposing arrow is formed to that of the direction of the trade and trade in the opposite direction. Take Profits will be handled manually. Lot size will be equal to 1% of Equity/Stop loss pips. Please let me know if you need further information. MW.

応答済み

1
開発者 1
評価
(337)
プロジェクト
624
38%
仲裁
40
23% / 65%
期限切れ
93
15%
パブリッシュした人: 4 articles, 19 codes
2
開発者 2
評価
(10)
プロジェクト
18
61%
仲裁
1
0% / 100%
期限切れ
6
33%
類似した注文
I need some modification on exiting EA. its open pending order upside and down side, but when close order any side than other side pending trad not come closer running price. so it should be delete one pending order from other last side & open one order running price side
The Terminator 40 - 150 USD
The Terminator EA The Terminator EA is a smart Forex trading robot designed to trade with discipline, consistency, and strong risk management. Its main purpose is to identify high-probability trading opportunities while protecting the trading account from unnecessary risk. The robot should only enter trades when several conditions agree. It should use strategies such as trend analysis, support and resistance, market
Romeo Tlotliso 30 - 2000 USD
Romeo is me.i am a trader using robot to make my trading journey way easy. therefore it can correct me when am wrong.Building a robot is not easy because some of them can be wrong and only minimum of them can be good
I am looking for a losing EA . the idea behind is that some of the Strategies can be reversed into a positive strategy . In fact , most of the Experts -i think around %90 or more - can not be reversed into a positive strategy , but some fewer can be , around %10. İ will work to re-organize and reconstruct the strategy to make it a positive one. before selecting you can give .ex5 file and you will give me the open
I need a trading bot 30 - 100 USD
I need bot that trade accoding to lot size means 0.01 tp will be 1$ sl will be 1$ or even breakeven if it is 0.02 same tp will be 0.02 sl will be 02 or break even no draw down according to candel form buy or sell both i have attached the id login password where this type of bot is implemented please check the working method and then you will come to know it scalp in very less time in seconds very speed please login
Looking for someone who is experienced in creating MT5 EA from scratch to go over 7 public youtube videos (total duration about 6 hours) and extract the strategy code taught in the videos to make a MT5 .mq5 source code file. Full code is explained in the 7 videos so it's just a matter of going over the videos and extracting the relevant parts that relate to the source code and compiling it into a working EA. The
MetaTrader In-App Trade Alerts An existing MetaTrader terminal is already running on my side, but its account is kept hidden for privacy reasons. I need a specialist to wire up native in-app notifications so that every time a position is opened or later closed I see an immediate pop-up inside the platform—no emails or SMS, just the built-in alert window (and the usual MT push to mobile if that comes automatically
Bot 100+ USD
Role: You are a Principal Software Engineer and elite Systems Automation Architect specializing in Python. Your goal is to write bulletproof, production-grade automation code for high-margin business workflows. Context: I am deploying an automated bot for the following use case: [INSERT WORKFLOW, e.g., Automated Lead Generation Engine, Triangulation Arbitrage Bot via CCXT, AI-driven Cold Outreach Pipeline]. The
EA Crafter 500+ USD
Act as a professional Quantitative Developer and Risk Manager. I want to build a systematic trading strategy rulebook that prioritizes capital preservation and statistical edge over raw performance. Please generate a structured trading strategy using the following framework: 1. ASSET CLASS & TIMEFRAME: - Asset: [e.g., Apple (AAPL), Bitcoin (BTC), or EUR/USD] - Timeframe: [e.g., 5-minute, 1-hour, Daily] 2. CORE
Take an existing Grid Trading EA that I currently have for MT4 and either modify it or recreate it. Delete everything below where it says " Trend Filters " Add: The ability for the EA to increase the lot size by a specific amount ( .01 or .02 or .03, ect. ) each time it adds a new position long or short Add: A profit target for the EA to reach when it will close out of all positions and start trading again or other

プロジェクト情報

予算
10 - 30 USD
締め切り
最低 1 最高 3 日