仕事が完了した
実行時間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%
暇
類似した注文
Great Martingale with Series
30+ USD
The Great Martingale and Classic Martingale will be coded selectively in one . The Coder should know well both of Great and Classic Martingale and calculation of both of their lot sizing. Should understand the below Formulas of lot sizing after one loss or consecutive loses. if not understand the below please do not apply . A different trailing stop which calculates all profits/losses in a serie will be applied
Our advanced automated trading robot is designed to analyze the financial markets and execute trades without requiring constant manual intervention. Using intelligent algorithms, it monitors market trends, price movements, and technical indicators in real time to identify potential trading opportunities. The robot automatically opens, manages, and closes trades based on its predefined strategy, helping to remove
Professional MT5 Expert Advisor – Multi-Engine Trading Framework Description I'm looking for an experienced MQL5 developer to build a professional MetaTrader 5 Expert Advisor. This is not a simple indicator-based EA. The system should be designed using a modular architecture with a strong focus on maintainability, optimization, and future scalability. The first version should include the following features. Market
Fx tp
30+ USD
# Safe Forex Bot Example (conceptual) def forex_bot(price_data): # Strategy: Moving Average Crossover short_ma = moving_average(price_data, 20) long_ma = moving_average(price_data, 50) if short_ma > long_ma: place_trade("BUY", risk=0.02, stop_loss=30, take_profit=60) elif short_ma < long_ma: place_trade("SELL", risk=0.02, stop_loss=30, take_profit=60) # Risk management: max drawdown 25% if
Description: I need an experienced MQL5 developer to build a professional MT5 Expert Advisor for XAU/USD based on my trading strategy. I require the full .mq5 source code and the compiled file. Trading Logic: Timeframes: H4 to determine overall direction, H1 for supply and demand zones, M15 for trade entries. Buy conditions: H4 trend is bullish, price reaches a valid H1 demand zone, liquidity sweep occurs below the
Qut GoldScalper VIP
30+ USD
Qut GoldScalper VIP EA (frequently referred to in trading circles and third-party stores as Gold VIP / GoldScalper VIP , developed by Nguyen Chung) is a fully automated Expert Advisor (EA) designed exclusively for trading Gold ( XAUUSD ) on the MetaTrader platforms. Unlike primitive grid or martingale bots that blindly multiply trades, this system relies on a blend of trend filtering and progressive position scaling
I'm looking for an experienced Python developer with a strong understanding of market microstructure, order flow, and electronic trading to help build a research-driven gold trading system. This is not a typical indicator or retail trading bot. The project focuses on analysing COMEX Gold Futures Market-by-Order (MBO) data to detect institutional order-flow behaviour and generate trading signals for XAUUSD (MetaTrader
WORKING EA
35+ USD
I Need an existing proven profitable EA. EA should have at least 3 months track record of consistency. My budget is $35 and nothing more. If you do not have the working EA for that amount, please do not apply. I'm not paying a dime more. Again do not apply if you are not willing to take the above amount
Standby Description . Prop Firm Environment . ( Monitor Execution and Handling Environment Changes as Required ) . Technical Issues . Delete extra lines of code (Clean Code , Folder) . Asset related translation , no need for Logic Alteration
Only Technical Issues . Familiarization to Different Symbols . [Again Technical Assistance Only] . Deleting extra lines of code , Not Required Folders (Clean Code) . No Need for Logic Alteration (Strictly)
プロジェクト情報
予算
30+ USD