Convert Single Symbol function to Multi Symbol

仕事が完了した

実行時間20 分
依頼者からのフィードバック
Highly recommended, Work delivered very fast and with 100% satisfaction,

指定

ON an EA (not for trading but only for reading buffers) which has a function SearchZigZagExtremums

I want this function to be converted into multi symbols  multi period

below is my attempt to modify the free program which is available in mql codebase

//+------------------------------------------------------------------+
//|                           ZigZag EA(barabashkakvn's edition).mq5 |
//|                                   Copyright © 2009, Tokman Yuriy |
//|                                            yuriytokman@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Tokman Yuriy"
#property link      "yuriytokman@gmail.com"
#property version   "1.002"

//--- input parameters
input string      ____1___          = "Настройки индикатора ZigZag";
input int         ExtDepth          = 12;             // Depth
input int         ExtDeviation      = 5;              // Deviation
input int         ExtBackstep       = 3;              // Backstep
//---
//---
int            handle_iCustom;               // variable for storing the handle of the iCustom indicator
#define RESET 0
int min_rates_total;
int symbolCount;
string symbolsList[];
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit() {
//---
   min_rates_total=100;
//--- indicator buffers mapping
   symbolCount=SymbolsTotal(true);
   if( ArrayResize(symbolsList, symbolCount) < symbolCount ) return (INIT_FAILED);

//--- create handle of the indicator iCustom
   for(int i=0; i<symbolCount; i++) {
      symbolsList[i] = SymbolName(i,true);
      handle_iCustom=iCustom(symbolsList[i],Period(),"Examples\\ZigZag");
//--- if the handle is not created
      if(handle_iCustom==INVALID_HANDLE) {
         //--- tell about the failure and output the error code
         PrintFormat("Failed to create handle of the iCustom indicator for the symbol %s/%s, error code %d",
                     symbolsList[i],
                     EnumToString(Period()),
                     GetLastError());

         //--- the indicator is stopped early
         return(INIT_FAILED);
      }
   }

//---
   return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason) {
//---

}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick() {
//---

//---
for(int j=0; j<symbolCount; j++) {
      symbolsList[j] = SymbolName(j,true);
      
   double array_results[];
 
      if(!SearchZigZagExtremums(4,array_results))
         return;
         
      double high=0.0,low=0.0;
      double room_0 = array_results[0]; // index 0
      double room_1 = array_results[1]; // index 1
      double room_2 = array_results[2]; // index 2
      double room_3 = array_results[3]; // index 3

//--- находим верх и низ
      if(room_1>room_2) {
         high=room_1;
         low=room_2;
      } else {
         high=room_2;
         low=room_1;
      }
     
      Print(symbolsList[j], array_results[0]);
      Sleep(1000);
      }
      


//---

   }

//+------------------------------------------------------------------+
//| Search for indicator extremums                                   |
//+------------------------------------------------------------------+
   bool SearchZigZagExtremums(const int count,double &array_results[]) {
      if(!ArrayIsDynamic(array_results)) {
         Print("This a no dynamic array!");
         return(false);
      }
      ArrayFree(array_results);
      ArrayResize(array_results,count);
      ArraySetAsSeries(array_results,true);
      int      buffer_num=0;           // indicator buffer number
      double   arr_buffer[];
      ArraySetAsSeries(arr_buffer,true);
//--- reset error code
      ResetLastError();
//--- fill a part of the iCustom array with values from the indicator buffer
      int copied=CopyBuffer(handle_iCustom,buffer_num,0,100,arr_buffer);
      if(copied<0) {
         //--- if the copying fails, tell the error code
         PrintFormat("Failed to copy data from the iCustom indicator, error code %d",GetLastError());
         //--- quit with zero result - it means that the indicator is considered as not calculated
         return(false);
      }
      int elements=0;
      for(int i=0; i<copied; i++) {
         if(arr_buffer[i]!=0) {
            array_results[elements]=arr_buffer[i];
            elements++;
            if(elements==count)
               break;
         }
      }
      if(elements==count)
         return(true);
//---
      return(false);
   }


Goal : I want this program to be modified so it can read buffers 

      double room_0 = array_results[0]; // index 0
      double room_1 = array_results[1]; // index 1
      double room_2 = array_results[2]; // index 2
      double room_3 = array_results[3]; // index 3

for each symbol existed in marketwatch and when i print

Print(symbolsList[j], array_results[0]);

I get results like

Symbol_1 buffer_for_Symbol_1 for PERIOD_1

Symbol_2 buffer_for_Symbol_2 for PERIOD_2

like this

応答済み

1
開発者 1
評価
(361)
プロジェクト
644
26%
仲裁
92
72% / 14%
期限切れ
12
2%
仕事中
パブリッシュした人: 1 code
2
開発者 2
評価
(38)
プロジェクト
50
10%
仲裁
1
0% / 0%
期限切れ
8
16%
類似した注文
Here we have a strategy based on the Bollinger Bands which needs to be traslated into an EA. Please do not answer to this order request if you are not capable of making this EA. I have already lost time with other users which tried to make an EA and left the job after few days. This will result only in a loss of time from my side and from your side. The job won't be paid if the EA will not be correctly made. Thanks
I’m looking for an experienced MQL5 developer to create an MT5 EA similar to Iron Range, mainly for BTCUSD. It should use a range-based entry strategy, support market and pending orders, fixed-lot and percentage-risk sizing, stop loss, take profit, break-even, trailing stop, spread protection, and daily loss or drawdown limits. It should also work with different brokers and include adjustable settings for
MACD + EMA 30 - 100 USD
J’ai fais un indicateur tradingview que j’aimerai adapter à MT5. celui ci indique une flèche pour des achats ou des ventes lorsque le prix atteint un niveau tracé auparavant par l’indicateur également. Les conditions sont les suivantes : timeframe 1 minute Buy Stop / Sell Stop sur le niveau tracé. SL placé sur la EMA 21 au moment du du déclenchement de l’ordre avec possibilité de le modifier. Le TP à 1.5R
I need someone who can create a Trading Bot/AI or Expert Advisor (EA) for MetaTrader 5 (MT5) based on my manual trading strategy. My strategy uses only two indicators: Envelope and Moving Average. What I need is for the EA to accurately follow my manual trading logic and strategy, while also respecting the exact settings and parameters that I use for both indicators. This is not a Martingale strategy or anything
I am looking for a serious algorithmic trader / MQL5 developer who already has a robust and proven trading strategy or EA and is interested in a performance-based partnership instead of a normal fixed development fee. I have completed my FTMO evaluation process and have access to a $200,000 FTMO account . Instead of paying a small one-time development fee, I am willing to offer: 50% of the net payouts generated by
I am looking for a developer experienced in EAs and MT5 optimization to help me optimize my trading robot to operate during the Asian Session as well. Currently, the EA is already optimized for the London and New York sessions. I also have a fully functional version that includes the Asian Session. The strategy and all logic required for Asian Session trading are already implemented. Therefore, there is no need to
i need someone that can make me an EA really easy with the martingala system?, I am looking for something that doesn't exceed 5 trades for the martingale, I think I did it, but it only works for propfirms, So i need to develop it on ninja trader I have identified a very very simple strategy but it only works on propfirms, with only two propfirm accounts, i absolutely need account A and account, And they have to open
Pro bot 35 - 200 USD
Should be able to trade for me when I need to trade and make few or no loses.should help me trade profitably while on the chart.Tge more profits,the more we play
The bot must be able to identify market structure ( trending , ranging and REVERSAL). Support and resistance breakout with a lot of volume and pullback to the key level and wait for confirmation to enter the trade. Only trades NY session. Uses proper risk management with SL (10 pips) and TP( 30 pips). The bot will only use the 5min timeframe for market structure and executing trades, incase of ranging it enters buys
Hello team..... It is my first time to be here and to order, so if I am not doing right please advise me, I am very teachable and good listener. I am here to order EA with a name given HouseXplore FxPro EA 4.0v. The EA can use the attached indicators to work but I will explain how. I attached 1. Bykov Trend Signal Arrows and the EA should use this indicator to open trades but Imputs on the TrendAlert indicator should

プロジェクト情報

予算
30+ USD