仕事が完了した
実行時間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
評価
プロジェクト
644
26%
仲裁
92
72%
/
14%
期限切れ
12
2%
仕事中
パブリッシュした人: 1 code
2
評価
プロジェクト
50
10%
仲裁
1
0%
/
0%
期限切れ
8
16%
暇
類似した注文
https://www.mql5.com/en/market/product/169999?source=Site +Profile+Seller Hello, I am currently working with an automated trading robot (EA) and I am looking for a professional MQL5 developer to help optimize and improve its performance. The EA is already functional, but I want to enhance: - Entry and exit logic - Risk management and lot sizing - Drawdown control - Overall stability and performance I need someone
Max amount grid
30+ USD
max amount grid step for magic number do keep deleting .only when it is in negative floating .but when it is profit allow to go over the max and replays to grid step
Apply with a screen of your work . Symbol Specific Logic . Live Chart Optimization Check the Core logic . [back tests as well] Change points to pips . Create buffer for the zone
Buying profitable EA(Budget up to $ 3000 USD)
300 - 3000 USD
I will pay 3000+ USD (negotiable) for an EA for existing MT5 that generates a minimum of 15-20% or higher a month consistently (provide source code after final deal) Looking for a highly profitable EA Please send demo version directly subject (Buying profitable EA Budget up to $ 3000 USD), past results and optimal settings so I can test, if it performs in a strategy tester i will also need option to forward test it
EA fx
30+ USD
Hello, I need an already developed EA similar to the one trading XAUUSD, with consistent entries and good risk management. Before we proceed, I would like to verify its performance. Please provide a live or demo account login along with the investor (read-only) password so I can monitor the trading results. I am looking for stable performance, controlled drawdown, and consistent profit on gold (XAUUSD). Once I
The strategy records the highest and lowest prices within a specified duration (default 15 minutes) after the New York market opens, forming the opening range. Post-Formation Breakout: When the price breaks above or below the opening range after its formation, it may indicate the direction of the day’s price movement. Trend Confirmation: The strategy uses two EMAs (default 20-period and 50-period) as trend filters to
Tengo una estrategia basada en divergencia para el oro sobre todo en tf m1 Basado en divergencia con stoch .. confirmando la entrada con ciertos parameteos de entrada Es mejor conversarlo para dar mejor los detalles Cuando entrar, porque o todas las divergencias se debe tomar para entrar en compras o ventas He adjuntado un ejemplo La confrmacion más exacta es el cruce de esos parámetros de stoch edebajo de level de
2STEP MA WITH SUPERTREND
40+ USD
BUY ALERT 1. Supertrend turns Bullish 2. On this candle , or during the last time Supertrend was Bearish, price was < or = MA1 3. On this candle , or during the last time Supertrend was Bearish , BBStops is Bearish 4. STEP MA1 and STEP MA 2 are both Bullish SELL ALERT 1. Supertrend turns Bearish 2. On this candle , or during the last time Supertrend was Bullish, price was
Rsi divergence
30+ USD
You need to create an EA that executes buy and sell based on the signals of an rsi divergence indicator in trading view. The indicator is not in MT5 and must be added separately. pine script availabel
プロジェクト情報
予算
30+ USD