당사 팬 페이지에 가입하십시오
- 조회수:
- 3638
- 평가:
- 게시됨:
- 2017.01.26 09:24
- 업데이트됨:
- 2023.03.29 13:47
-
이 코드를 기반으로 한 로봇이나 지표가 필요하신가요? 프리랜스로 주문하세요 프리랜스로 이동
Real Author: Vladimir Khlystov
The simplest EA based on the WeightOscillator weighted oscillator. Sells at downward crossing of oscillator overbought level, buys at the upward crossing of oscillator oversold level. The signal is formed when a bar is closing if there is crossing of the level.
The WeightOscillator_HTF indicator in the EA is intended only for a more convenient visualization of trends in the strategy tester, in other operation modes it is inactive.
Place WeightOscillator.ex5 and WeightOscillator_HTF.ex5 compiled files to the <terminal_data_folder>\MQL5\Indicators.
After compilation, the Exp_WeightOscillator.ex5 expert file contains the WeightOscillator.ex5 and WeightOscillator_HTF.ex5 indicators as resources, and therefore, they are not required to be present in the terminal folder for the compiled EA to work! For this purpose, the corresponding code has been added to the EA code in order to include these indicators in the expert's executable file.
The indicator executable files have been added as resources at the global scope
#resource "\\Indicators\\WeightOscillator.ex5"
#resource "\\Indicators\\WeightOscillator_HTF.ex5"
Changed the string paths to the indicators used as resources in the block of the OnInit() function
InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\WeightOscillator",RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" Failed to get handle of the WeightOscillator indicator");
return(INIT_FAILED);
}
//---- getting handle of the WeightOscillator_HTF indicator for visualization in the strategy tester
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- getting handle of the WeightOscillator_HTF indicator
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\WeightOscillator_HTF",InpInd_Timeframe,
RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType,
WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Failed to get handle of the WeightOscillator_HTF indicator");
return(INIT_FAILED);
}
}
Thus, the compiled executable file of the expert can be used on other trade terminals on its own without the indicators.
Note that the TradeAlgorithms.mqh library file allows using Expert Advisors with brokers who offer nonzero spread and the option of setting Stop Loss and Take Profit together with position opening. You can download more variants of the library at the following link: Trade Algorithms.
Default Expert Advisor's input parameters have been used during the tests shown below. Stop Loss and Take Profit have not been used during the tests.
Fig. 1. Examples of deals on the chart
Testing results for 2015 on EURJPY H6:
Fig. 2. Chart of testing results
MetaQuotes Ltd에서 러시아어로 번역함.
원본 코드: https://www.mql5.com/ru/code/17076

The WeightOscillator indicator with the timeframe selection option available in the input parameters.

Fractional Bands modifies the price changes using the fractal Brownian motion, which takes into account the fractal dimension.

Increasing the lot after a losing trade. Entry signals are based on the DeMarker indicator.

The Expert Advisor uses signals from the indicators: ATR, MACD.