├── .gitattributes ├── .github └── workflows │ └── docker-image.yml ├── .gitignore ├── Dockerfile ├── Makefile ├── Metatrader ├── Bases │ ├── MetaQuotes-Demo │ │ ├── history │ │ │ └── EURUSD │ │ │ │ ├── 2025.hcc │ │ │ │ └── cache │ │ │ │ └── M1.hc │ │ ├── mail │ │ │ └── mail-5036223239.dat │ │ ├── news │ │ │ └── news.dat │ │ ├── subscriptions │ │ │ └── subscriptions-5036223239.dat │ │ ├── symbols │ │ │ ├── selected-5036223239.dat │ │ │ └── symbols-5036223239.dat │ │ └── ticks │ │ │ ├── AUDCHF │ │ │ └── ticks.dat │ │ │ ├── AUDJPY │ │ │ └── ticks.dat │ │ │ ├── AUDNZD │ │ │ └── ticks.dat │ │ │ ├── AUDSEK │ │ │ └── ticks.dat │ │ │ └── EURUSD │ │ │ └── ticks.dat │ ├── alerts.dat │ ├── books.dat │ ├── dns.dat │ ├── gvariables.dat │ ├── indicators.dat │ ├── mql5.market.personal.dat │ ├── objects.dat │ ├── options.dat │ ├── signals │ │ └── signals.dat │ ├── strategy.dat │ └── symbols.custom.dat ├── Config │ ├── accounts.dat │ ├── agents.dat │ ├── common.ini │ ├── hotkeys.ini │ ├── jupyter.ini │ ├── metaeditor.ini │ ├── servers.dat │ ├── settings.ini │ └── terminal.ini ├── MQL5 │ ├── Experts │ │ ├── Advisors │ │ │ ├── ExpertMACD.ex5 │ │ │ ├── ExpertMACD.mq5 │ │ │ ├── ExpertMAMA.ex5 │ │ │ ├── ExpertMAMA.mq5 │ │ │ ├── ExpertMAPSAR.ex5 │ │ │ ├── ExpertMAPSAR.mq5 │ │ │ ├── ExpertMAPSARSizeOptimized.ex5 │ │ │ └── ExpertMAPSARSizeOptimized.mq5 │ │ ├── Examples │ │ │ ├── ChartInChart │ │ │ │ ├── ChartInChart.ex5 │ │ │ │ └── ChartInChart.mq5 │ │ │ ├── Controls │ │ │ │ ├── Controls.ex5 │ │ │ │ ├── Controls.mq5 │ │ │ │ └── ControlsDialog.mqh │ │ │ ├── Correlation Matrix 3D │ │ │ │ ├── Correlation Matrix 3D.ex5 │ │ │ │ ├── Correlation Matrix 3D.mq5 │ │ │ │ └── Correlation Matrix 3D.mqproj │ │ │ ├── MACD │ │ │ │ ├── MACD Sample.ex5 │ │ │ │ └── MACD Sample.mq5 │ │ │ ├── Math 3D Morpher │ │ │ │ ├── Functions.mqh │ │ │ │ ├── Math 3D Morpher.ex5 │ │ │ │ ├── Math 3D Morpher.mq5 │ │ │ │ ├── Math 3D Morpher.mqproj │ │ │ │ └── Textures │ │ │ │ │ └── checker.bmp │ │ │ ├── Math 3D │ │ │ │ ├── Functions.mqh │ │ │ │ ├── Math 3D.ex5 │ │ │ │ ├── Math 3D.ico │ │ │ │ ├── Math 3D.mq5 │ │ │ │ ├── Math 3D.mqproj │ │ │ │ └── Sets │ │ │ │ │ ├── Chomolungma.set │ │ │ │ │ ├── ClimberDream.set │ │ │ │ │ ├── DoubleScrew.set │ │ │ │ │ ├── Granite.set │ │ │ │ │ ├── Hedgehog.set │ │ │ │ │ ├── Hill.set │ │ │ │ │ ├── Josephine.set │ │ │ │ │ ├── MultyExtremalScrew.set │ │ │ │ │ ├── Screw.set │ │ │ │ │ ├── Sink.set │ │ │ │ │ ├── Skin.set │ │ │ │ │ └── Trapfall.set │ │ │ └── Moving Average │ │ │ │ ├── Moving Average.ex5 │ │ │ │ └── Moving Average.mq5 │ │ ├── Free Robots │ │ │ ├── BlackCrows WhiteSoldiers CCI.ex5 │ │ │ ├── BlackCrows WhiteSoldiers CCI.mq5 │ │ │ ├── BlackCrows WhiteSoldiers MFI.ex5 │ │ │ ├── BlackCrows WhiteSoldiers MFI.mq5 │ │ │ ├── BlackCrows WhiteSoldiers RSI.ex5 │ │ │ ├── BlackCrows WhiteSoldiers RSI.mq5 │ │ │ ├── BlackCrows WhiteSoldiers Stoch.ex5 │ │ │ ├── BlackCrows WhiteSoldiers Stoch.mq5 │ │ │ ├── BullishBearish Engulfing CCI.ex5 │ │ │ ├── BullishBearish Engulfing CCI.mq5 │ │ │ ├── BullishBearish Engulfing MFI.ex5 │ │ │ ├── BullishBearish Engulfing MFI.mq5 │ │ │ ├── BullishBearish Engulfing RSI.ex5 │ │ │ ├── BullishBearish Engulfing RSI.mq5 │ │ │ ├── BullishBearish Engulfing Stoch.ex5 │ │ │ ├── BullishBearish Engulfing Stoch.mq5 │ │ │ ├── BullishBearish Harami CCI.ex5 │ │ │ ├── BullishBearish Harami CCI.mq5 │ │ │ ├── BullishBearish Harami MFI.ex5 │ │ │ ├── BullishBearish Harami MFI.mq5 │ │ │ ├── BullishBearish Harami RSI.ex5 │ │ │ ├── BullishBearish Harami RSI.mq5 │ │ │ ├── BullishBearish Harami Stoch.ex5 │ │ │ ├── BullishBearish Harami Stoch.mq5 │ │ │ ├── BullishBearish MeetingLines CCI.ex5 │ │ │ ├── BullishBearish MeetingLines CCI.mq5 │ │ │ ├── BullishBearish MeetingLines MFI.ex5 │ │ │ ├── BullishBearish MeetingLines MFI.mq5 │ │ │ ├── BullishBearish MeetingLines RSI.ex5 │ │ │ ├── BullishBearish MeetingLines RSI.mq5 │ │ │ ├── BullishBearish MeetingLines Stoch.ex5 │ │ │ ├── BullishBearish MeetingLines Stoch.mq5 │ │ │ ├── DarkCloud PiercingLine CCI.ex5 │ │ │ ├── DarkCloud PiercingLine CCI.mq5 │ │ │ ├── DarkCloud PiercingLine MFI.ex5 │ │ │ ├── DarkCloud PiercingLine MFI.mq5 │ │ │ ├── DarkCloud PiercingLine RSI.ex5 │ │ │ ├── DarkCloud PiercingLine RSI.mq5 │ │ │ ├── DarkCloud PiercingLine Stoch.ex5 │ │ │ ├── DarkCloud PiercingLine Stoch.mq5 │ │ │ ├── HangingMan Hammer CCI.ex5 │ │ │ ├── HangingMan Hammer CCI.mq5 │ │ │ ├── HangingMan Hammer MFI.ex5 │ │ │ ├── HangingMan Hammer MFI.mq5 │ │ │ ├── HangingMan Hammer RSI.ex5 │ │ │ ├── HangingMan Hammer RSI.mq5 │ │ │ ├── HangingMan Hammer Stoch.ex5 │ │ │ ├── HangingMan Hammer Stoch.mq5 │ │ │ ├── MorningEvening StarDoji CCI.ex5 │ │ │ ├── MorningEvening StarDoji CCI.mq5 │ │ │ ├── MorningEvening StarDoji MFI.ex5 │ │ │ ├── MorningEvening StarDoji MFI.mq5 │ │ │ ├── MorningEvening StarDoji RSI.ex5 │ │ │ ├── MorningEvening StarDoji RSI.mq5 │ │ │ ├── MorningEvening StarDoji Stoch.ex5 │ │ │ └── MorningEvening StarDoji Stoch.mq5 │ │ ├── ejtraderMT.ex5 │ │ └── ejtraderMT.mq5 │ ├── Images │ │ ├── dollar.bmp │ │ └── euro.bmp │ ├── Include │ │ ├── Arrays │ │ │ ├── Array.mqh │ │ │ ├── ArrayChar.mqh │ │ │ ├── ArrayDouble.mqh │ │ │ ├── ArrayFloat.mqh │ │ │ ├── ArrayInt.mqh │ │ │ ├── ArrayLong.mqh │ │ │ ├── ArrayObj.mqh │ │ │ ├── ArrayShort.mqh │ │ │ ├── ArrayString.mqh │ │ │ ├── List.mqh │ │ │ ├── Tree.mqh │ │ │ └── TreeNode.mqh │ │ ├── Canvas │ │ │ ├── Canvas.mqh │ │ │ ├── Canvas3D.mqh │ │ │ ├── Charts │ │ │ │ ├── ChartCanvas.mqh │ │ │ │ ├── HistogramChart.mqh │ │ │ │ ├── LineChart.mqh │ │ │ │ └── PieChart.mqh │ │ │ ├── DX │ │ │ │ ├── DXBox.mqh │ │ │ │ ├── DXBuffers.mqh │ │ │ │ ├── DXData.mqh │ │ │ │ ├── DXDispatcher.mqh │ │ │ │ ├── DXHandle.mqh │ │ │ │ ├── DXInput.mqh │ │ │ │ ├── DXMath.mqh │ │ │ │ ├── DXMesh.mqh │ │ │ │ ├── DXObject.mqh │ │ │ │ ├── DXObjectBase.mqh │ │ │ │ ├── DXShader.mqh │ │ │ │ ├── DXSurface.mqh │ │ │ │ ├── DXTexture.mqh │ │ │ │ ├── DXUtils.mqh │ │ │ │ └── Shaders │ │ │ │ │ ├── DefaultShaderPixel.hlsl │ │ │ │ │ └── DefaultShaderVertex.hlsl │ │ │ └── FlameCanvas.mqh │ │ ├── ChartObjects │ │ │ ├── ChartObject.mqh │ │ │ ├── ChartObjectPanel.mqh │ │ │ ├── ChartObjectSubChart.mqh │ │ │ ├── ChartObjectsArrows.mqh │ │ │ ├── ChartObjectsBmpControls.mqh │ │ │ ├── ChartObjectsChannels.mqh │ │ │ ├── ChartObjectsElliott.mqh │ │ │ ├── ChartObjectsFibo.mqh │ │ │ ├── ChartObjectsGann.mqh │ │ │ ├── ChartObjectsLines.mqh │ │ │ ├── ChartObjectsShapes.mqh │ │ │ └── ChartObjectsTxtControls.mqh │ │ ├── Charts │ │ │ └── Chart.mqh │ │ ├── Controls │ │ │ ├── BmpButton.mqh │ │ │ ├── Button.mqh │ │ │ ├── CheckBox.mqh │ │ │ ├── CheckGroup.mqh │ │ │ ├── ComboBox.mqh │ │ │ ├── DateDropList.mqh │ │ │ ├── DatePicker.mqh │ │ │ ├── Defines.mqh │ │ │ ├── Dialog.mqh │ │ │ ├── Edit.mqh │ │ │ ├── Label.mqh │ │ │ ├── ListView.mqh │ │ │ ├── Panel.mqh │ │ │ ├── Picture.mqh │ │ │ ├── RadioButton.mqh │ │ │ ├── RadioGroup.mqh │ │ │ ├── Rect.mqh │ │ │ ├── Scrolls.mqh │ │ │ ├── SpinEdit.mqh │ │ │ ├── Wnd.mqh │ │ │ ├── WndClient.mqh │ │ │ ├── WndContainer.mqh │ │ │ ├── WndObj.mqh │ │ │ └── res │ │ │ │ ├── CheckBoxOff.bmp │ │ │ │ ├── CheckBoxOn.bmp │ │ │ │ ├── Close.bmp │ │ │ │ ├── DateDropOff.bmp │ │ │ │ ├── DateDropOn.bmp │ │ │ │ ├── Down.bmp │ │ │ │ ├── DownTransp.bmp │ │ │ │ ├── DropOff.bmp │ │ │ │ ├── DropOn.bmp │ │ │ │ ├── Left.bmp │ │ │ │ ├── LeftTransp.bmp │ │ │ │ ├── RadioButtonOff.bmp │ │ │ │ ├── RadioButtonOn.bmp │ │ │ │ ├── Restore.bmp │ │ │ │ ├── Right.bmp │ │ │ │ ├── RightTransp.bmp │ │ │ │ ├── SpinDec.bmp │ │ │ │ ├── SpinInc.bmp │ │ │ │ ├── ThumbHor.bmp │ │ │ │ ├── ThumbVert.bmp │ │ │ │ ├── Turn.bmp │ │ │ │ ├── Up.bmp │ │ │ │ └── UpTransp.bmp │ │ ├── Expert │ │ │ ├── Expert.mqh │ │ │ ├── ExpertBase.mqh │ │ │ ├── ExpertMoney.mqh │ │ │ ├── ExpertSignal.mqh │ │ │ ├── ExpertTrade.mqh │ │ │ ├── ExpertTrailing.mqh │ │ │ ├── Money │ │ │ │ ├── MoneyFixedLot.mqh │ │ │ │ ├── MoneyFixedMargin.mqh │ │ │ │ ├── MoneyFixedRisk.mqh │ │ │ │ ├── MoneyNone.mqh │ │ │ │ └── MoneySizeOptimized.mqh │ │ │ ├── Signal │ │ │ │ ├── SignalAC.mqh │ │ │ │ ├── SignalAMA.mqh │ │ │ │ ├── SignalAO.mqh │ │ │ │ ├── SignalBearsPower.mqh │ │ │ │ ├── SignalBullsPower.mqh │ │ │ │ ├── SignalCCI.mqh │ │ │ │ ├── SignalDEMA.mqh │ │ │ │ ├── SignalDeMarker.mqh │ │ │ │ ├── SignalEnvelopes.mqh │ │ │ │ ├── SignalFrAMA.mqh │ │ │ │ ├── SignalITF.mqh │ │ │ │ ├── SignalMA.mqh │ │ │ │ ├── SignalMACD.mqh │ │ │ │ ├── SignalRSI.mqh │ │ │ │ ├── SignalRVI.mqh │ │ │ │ ├── SignalSAR.mqh │ │ │ │ ├── SignalStoch.mqh │ │ │ │ ├── SignalTEMA.mqh │ │ │ │ ├── SignalTRIX.mqh │ │ │ │ └── SignalWPR.mqh │ │ │ └── Trailing │ │ │ │ ├── TrailingFixedPips.mqh │ │ │ │ ├── TrailingMA.mqh │ │ │ │ ├── TrailingNone.mqh │ │ │ │ └── TrailingParabolicSAR.mqh │ │ ├── Files │ │ │ ├── File.mqh │ │ │ ├── FileBMP.mqh │ │ │ ├── FileBin.mqh │ │ │ ├── FilePipe.mqh │ │ │ └── FileTxt.mqh │ │ ├── Generic │ │ │ ├── ArrayList.mqh │ │ │ ├── HashMap.mqh │ │ │ ├── HashSet.mqh │ │ │ ├── Interfaces │ │ │ │ ├── ICollection.mqh │ │ │ │ ├── IComparable.mqh │ │ │ │ ├── IComparer.mqh │ │ │ │ ├── IEqualityComparable.mqh │ │ │ │ ├── IEqualityComparer.mqh │ │ │ │ ├── IList.mqh │ │ │ │ ├── IMap.mqh │ │ │ │ └── ISet.mqh │ │ │ ├── Internal │ │ │ │ ├── ArrayFunction.mqh │ │ │ │ ├── CompareFunction.mqh │ │ │ │ ├── DefaultComparer.mqh │ │ │ │ ├── DefaultEqualityComparer.mqh │ │ │ │ ├── EqualFunction.mqh │ │ │ │ ├── HashFunction.mqh │ │ │ │ ├── Introsort.mqh │ │ │ │ └── PrimeGenerator.mqh │ │ │ ├── LinkedList.mqh │ │ │ ├── Queue.mqh │ │ │ ├── RedBlackTree.mqh │ │ │ ├── SortedMap.mqh │ │ │ ├── SortedSet.mqh │ │ │ └── Stack.mqh │ │ ├── Graphics │ │ │ ├── Axis.mqh │ │ │ ├── ColorGenerator.mqh │ │ │ ├── Curve.mqh │ │ │ └── Graphic.mqh │ │ ├── Indicators │ │ │ ├── BillWilliams.mqh │ │ │ ├── Custom.mqh │ │ │ ├── Indicator.mqh │ │ │ ├── Indicators.mqh │ │ │ ├── Oscilators.mqh │ │ │ ├── Series.mqh │ │ │ ├── TimeSeries.mqh │ │ │ ├── Trend.mqh │ │ │ └── Volumes.mqh │ │ ├── JAson.mqh │ │ ├── Math │ │ │ ├── Alglib │ │ │ │ ├── alglib.mqh │ │ │ │ ├── alglibinternal.mqh │ │ │ │ ├── alglibmisc.mqh │ │ │ │ ├── ap.mqh │ │ │ │ ├── arrayresize.mqh │ │ │ │ ├── bitconvert.mqh │ │ │ │ ├── complex.mqh │ │ │ │ ├── dataanalysis.mqh │ │ │ │ ├── delegatefunctions.mqh │ │ │ │ ├── diffequations.mqh │ │ │ │ ├── fasttransforms.mqh │ │ │ │ ├── integration.mqh │ │ │ │ ├── interpolation.mqh │ │ │ │ ├── linalg.mqh │ │ │ │ ├── matrix.mqh │ │ │ │ ├── optimization.mqh │ │ │ │ ├── solvers.mqh │ │ │ │ ├── specialfunctions.mqh │ │ │ │ └── statistics.mqh │ │ │ ├── Fuzzy │ │ │ │ ├── dictionary.mqh │ │ │ │ ├── fuzzyrule.mqh │ │ │ │ ├── fuzzyterm.mqh │ │ │ │ ├── fuzzyvariable.mqh │ │ │ │ ├── genericfuzzysystem.mqh │ │ │ │ ├── helper.mqh │ │ │ │ ├── inferencemethod.mqh │ │ │ │ ├── mamdanifuzzysystem.mqh │ │ │ │ ├── membershipfunction.mqh │ │ │ │ ├── ruleparser.mqh │ │ │ │ ├── sugenofuzzysystem.mqh │ │ │ │ └── sugenovariable.mqh │ │ │ └── Stat │ │ │ │ ├── Beta.mqh │ │ │ │ ├── Binomial.mqh │ │ │ │ ├── Cauchy.mqh │ │ │ │ ├── ChiSquare.mqh │ │ │ │ ├── Exponential.mqh │ │ │ │ ├── F.mqh │ │ │ │ ├── Gamma.mqh │ │ │ │ ├── Geometric.mqh │ │ │ │ ├── Hypergeometric.mqh │ │ │ │ ├── Logistic.mqh │ │ │ │ ├── Lognormal.mqh │ │ │ │ ├── Math.mqh │ │ │ │ ├── NegativeBinomial.mqh │ │ │ │ ├── NoncentralBeta.mqh │ │ │ │ ├── NoncentralChiSquare.mqh │ │ │ │ ├── NoncentralF.mqh │ │ │ │ ├── NoncentralT.mqh │ │ │ │ ├── Normal.mqh │ │ │ │ ├── Poisson.mqh │ │ │ │ ├── Stat.mqh │ │ │ │ ├── T.mqh │ │ │ │ ├── Uniform.mqh │ │ │ │ └── Weibull.mqh │ │ ├── MovingAverages.mqh │ │ ├── Mql │ │ │ └── Lang │ │ │ │ ├── Error.mqh │ │ │ │ ├── GlobalVariable.mqh │ │ │ │ ├── Mql.mqh │ │ │ │ └── Native.mqh │ │ ├── Object.mqh │ │ ├── OpenCL │ │ │ └── OpenCL.mqh │ │ ├── Panel │ │ │ ├── ElButton.mqh │ │ │ ├── ElChart.mqh │ │ │ ├── Events │ │ │ │ ├── Event.mqh │ │ │ │ ├── EventChart.mqh │ │ │ │ ├── EventChartEndEdit.mqh │ │ │ │ ├── EventChartObjClick.mqh │ │ │ │ └── EventRefresh.mqh │ │ │ └── Node.mqh │ │ ├── RingBuffer │ │ │ ├── RiBuffDbl.mqh │ │ │ ├── RiBuffInt.mqh │ │ │ ├── RiEMA.mqh │ │ │ ├── RiGauss.mqh │ │ │ ├── RiMACD.mqh │ │ │ ├── RiMaxMin.mqh │ │ │ ├── RiSMA.mqh │ │ │ └── RiStoch.mqh │ │ ├── StdLibErr.mqh │ │ ├── StringToEnumInt.mqh │ │ ├── Strings │ │ │ └── String.mqh │ │ ├── Tools │ │ │ └── DateTime.mqh │ │ ├── Trade │ │ │ ├── AccountInfo.mqh │ │ │ ├── DealInfo.mqh │ │ │ ├── HistoryOrderInfo.mqh │ │ │ ├── MarketBook.mqh │ │ │ ├── OrderInfo.mqh │ │ │ ├── PositionInfo.mqh │ │ │ ├── SymbolInfo.mqh │ │ │ ├── TerminalInfo.mqh │ │ │ └── Trade.mqh │ │ ├── VirtualKeys.mqh │ │ ├── WinAPI │ │ │ ├── errhandlingapi.mqh │ │ │ ├── fileapi.mqh │ │ │ ├── handleapi.mqh │ │ │ ├── libloaderapi.mqh │ │ │ ├── memoryapi.mqh │ │ │ ├── processenv.mqh │ │ │ ├── processthreadsapi.mqh │ │ │ ├── securitybaseapi.mqh │ │ │ ├── sysinfoapi.mqh │ │ │ ├── winapi.mqh │ │ │ ├── winbase.mqh │ │ │ ├── windef.mqh │ │ │ ├── wingdi.mqh │ │ │ ├── winnt.mqh │ │ │ ├── winreg.mqh │ │ │ └── winuser.mqh │ │ ├── Zmq │ │ │ ├── AtomicCounter.mqh │ │ │ ├── Context.mqh │ │ │ ├── Errno.mqh │ │ │ ├── Socket.mqh │ │ │ ├── SocketOptions.mqh │ │ │ ├── Z85.mqh │ │ │ ├── Zmq.mqh │ │ │ └── ZmqMsg.mqh │ │ ├── controlerrors.mqh │ │ ├── ejtrader │ │ │ ├── ServerMap.mqh │ │ │ └── ServiceMap.mqh │ │ ├── ejtraderMT │ │ │ ├── Broker.mqh │ │ │ ├── Calendar.mqh │ │ │ ├── ChartControl.mqh │ │ │ ├── Event.mqh │ │ │ ├── HistoryInfo.mqh │ │ │ ├── Search.code-search │ │ │ ├── StartIndicator.mqh │ │ │ ├── String.mqh │ │ │ └── SymbolsInfo.mqh │ │ ├── hash.mqh │ │ ├── http.mqh │ │ ├── json.mqh │ │ ├── net35 │ │ │ ├── Newtonsoft.Json.dll │ │ │ ├── Newtonsoft.Json.pdb │ │ │ └── Newtonsoft.Json.xml │ │ ├── net45 │ │ │ ├── Newtonsoft.Json.dll │ │ │ ├── Newtonsoft.Json.pdb │ │ │ └── Newtonsoft.Json.xml │ │ └── requests │ │ │ ├── classes │ │ │ ├── _url_parts.mqh │ │ │ ├── request_data.mqh │ │ │ └── response.mqh │ │ │ └── requests.mqh │ ├── Indicators │ │ ├── Examples │ │ │ ├── AD.ex5 │ │ │ ├── AD.mq5 │ │ │ ├── ADX.ex5 │ │ │ ├── ADX.mq5 │ │ │ ├── ADXW.ex5 │ │ │ ├── ADXW.mq5 │ │ │ ├── AMA.ex5 │ │ │ ├── AMA.mq5 │ │ │ ├── ASI.ex5 │ │ │ ├── ASI.mq5 │ │ │ ├── ATR.ex5 │ │ │ ├── ATR.mq5 │ │ │ ├── Accelerator.ex5 │ │ │ ├── Accelerator.mq5 │ │ │ ├── Alligator.ex5 │ │ │ ├── Alligator.mq5 │ │ │ ├── Awesome_Oscillator.ex5 │ │ │ ├── Awesome_Oscillator.mq5 │ │ │ ├── BB.ex5 │ │ │ ├── BB.mq5 │ │ │ ├── BW-ZoneTrade.ex5 │ │ │ ├── BW-ZoneTrade.mq5 │ │ │ ├── Bears.ex5 │ │ │ ├── Bears.mq5 │ │ │ ├── Bulls.ex5 │ │ │ ├── Bulls.mq5 │ │ │ ├── CCI.ex5 │ │ │ ├── CCI.mq5 │ │ │ ├── CHO.ex5 │ │ │ ├── CHO.mq5 │ │ │ ├── CHV.ex5 │ │ │ ├── CHV.mq5 │ │ │ ├── Canvas │ │ │ │ ├── FlameChart.ex5 │ │ │ │ └── FlameChart.mq5 │ │ │ ├── ColorBars.ex5 │ │ │ ├── ColorBars.mq5 │ │ │ ├── ColorCandlesDaily.ex5 │ │ │ ├── ColorCandlesDaily.mq5 │ │ │ ├── ColorLine.ex5 │ │ │ ├── ColorLine.mq5 │ │ │ ├── Custom Moving Average.ex5 │ │ │ ├── Custom Moving Average.mq5 │ │ │ ├── DEMA.ex5 │ │ │ ├── DEMA.mq5 │ │ │ ├── DPO.ex5 │ │ │ ├── DPO.mq5 │ │ │ ├── DeMarker.ex5 │ │ │ ├── DeMarker.mq5 │ │ │ ├── Envelopes.ex5 │ │ │ ├── Envelopes.mq5 │ │ │ ├── Force_Index.ex5 │ │ │ ├── Force_Index.mq5 │ │ │ ├── FrAMA.ex5 │ │ │ ├── FrAMA.mq5 │ │ │ ├── Fractals.ex5 │ │ │ ├── Fractals.mq5 │ │ │ ├── Gator.ex5 │ │ │ ├── Gator.mq5 │ │ │ ├── Gator_2.ex5 │ │ │ ├── Gator_2.mq5 │ │ │ ├── Heiken_Ashi.ex5 │ │ │ ├── Heiken_Ashi.mq5 │ │ │ ├── Ichimoku.ex5 │ │ │ ├── Ichimoku.mq5 │ │ │ ├── MACD.ex5 │ │ │ ├── MACD.mq5 │ │ │ ├── MFI.ex5 │ │ │ ├── MFI.mq5 │ │ │ ├── MI.ex5 │ │ │ ├── MI.mq5 │ │ │ ├── MarketFacilitationIndex.ex5 │ │ │ ├── MarketFacilitationIndex.mq5 │ │ │ ├── Momentum.ex5 │ │ │ ├── Momentum.mq5 │ │ │ ├── OBV.ex5 │ │ │ ├── OBV.mq5 │ │ │ ├── OsMA.ex5 │ │ │ ├── OsMA.mq5 │ │ │ ├── PVT.ex5 │ │ │ ├── PVT.mq5 │ │ │ ├── Panels │ │ │ │ ├── ChartPanel │ │ │ │ │ ├── ChartPanel.ex5 │ │ │ │ │ ├── ChartPanel.mq5 │ │ │ │ │ └── PanelDialog.mqh │ │ │ │ └── SimplePanel │ │ │ │ │ ├── PanelDialog.mqh │ │ │ │ │ ├── SimplePanel.ex5 │ │ │ │ │ └── SimplePanel.mq5 │ │ │ ├── ParabolicSAR.ex5 │ │ │ ├── ParabolicSAR.mq5 │ │ │ ├── Price_Channel.ex5 │ │ │ ├── Price_Channel.mq5 │ │ │ ├── ROC.ex5 │ │ │ ├── ROC.mq5 │ │ │ ├── RSI.ex5 │ │ │ ├── RSI.mq5 │ │ │ ├── RVI.ex5 │ │ │ ├── RVI.mq5 │ │ │ ├── StdDev.ex5 │ │ │ ├── StdDev.mq5 │ │ │ ├── Stochastic.ex5 │ │ │ ├── Stochastic.mq5 │ │ │ ├── TEMA.ex5 │ │ │ ├── TEMA.mq5 │ │ │ ├── TRIX.ex5 │ │ │ ├── TRIX.mq5 │ │ │ ├── Ultimate_Oscillator.ex5 │ │ │ ├── Ultimate_Oscillator.mq5 │ │ │ ├── VIDYA.ex5 │ │ │ ├── VIDYA.mq5 │ │ │ ├── VROC.ex5 │ │ │ ├── VROC.mq5 │ │ │ ├── Volumes.ex5 │ │ │ ├── Volumes.mq5 │ │ │ ├── WPR.ex5 │ │ │ ├── WPR.mq5 │ │ │ ├── W_AD.ex5 │ │ │ ├── W_AD.mq5 │ │ │ ├── ZigZag.ex5 │ │ │ ├── ZigZag.mq5 │ │ │ ├── ZigzagColor.ex5 │ │ │ └── ZigzagColor.mq5 │ │ ├── Free Indicators │ │ │ ├── Camarilla Channel.ex5 │ │ │ ├── Camarilla Channel.mq5 │ │ │ ├── DeMark Channel.ex5 │ │ │ ├── DeMark Channel.mq5 │ │ │ ├── Donchian Channel.ex5 │ │ │ ├── Donchian Channel.mq5 │ │ │ ├── Fibonacci Channel.ex5 │ │ │ ├── Fibonacci Channel.mq5 │ │ │ ├── Keltner Channel.ex5 │ │ │ ├── Keltner Channel.mq5 │ │ │ ├── MarketProfile Canvas.ex5 │ │ │ ├── MarketProfile Canvas.mq5 │ │ │ ├── MarketProfile.ex5 │ │ │ ├── MarketProfile.mq5 │ │ │ ├── MurreyMath Channel.ex5 │ │ │ ├── MurreyMath Channel.mq5 │ │ │ ├── NRTR Channel.ex5 │ │ │ ├── NRTR Channel.mq5 │ │ │ ├── Parabolic Channel.ex5 │ │ │ ├── Parabolic Channel.mq5 │ │ │ ├── Pivot Channel.ex5 │ │ │ ├── Pivot Channel.mq5 │ │ │ ├── Woodie Channel.ex5 │ │ │ └── Woodie Channel.mq5 │ │ ├── ejtraderMTIndicator.ex5 │ │ └── ejtraderMTIndicator.mq5 │ ├── Libraries │ │ ├── libsodium.dll │ │ └── libzmq.dll │ ├── Profiles │ │ ├── Charts │ │ │ ├── British Pound │ │ │ │ ├── chart01.chr │ │ │ │ ├── chart02.chr │ │ │ │ ├── chart03.chr │ │ │ │ ├── chart04.chr │ │ │ │ └── order.wnd │ │ │ ├── Default │ │ │ │ ├── chart01.chr │ │ │ │ └── order.wnd │ │ │ ├── Euro │ │ │ │ ├── chart01.chr │ │ │ │ ├── chart02.chr │ │ │ │ ├── chart03.chr │ │ │ │ ├── chart04.chr │ │ │ │ └── order.wnd │ │ │ └── Market Overview │ │ │ │ ├── chart01.chr │ │ │ │ ├── chart02.chr │ │ │ │ ├── chart03.chr │ │ │ │ ├── chart04.chr │ │ │ │ └── order.wnd │ │ ├── SymbolSets │ │ │ ├── forex.all.set │ │ │ ├── forex.crosses.set │ │ │ └── forex.major.set │ │ ├── Templates │ │ │ ├── ADX.tpl │ │ │ ├── BollingerBands.tpl │ │ │ └── Momentum.tpl │ │ └── Tester │ │ │ └── Moving Average.set │ ├── Scripts │ │ ├── Examples │ │ │ ├── AccountInfo │ │ │ │ ├── AccountInfoSample.ex5 │ │ │ │ ├── AccountInfoSample.mq5 │ │ │ │ └── AccountInfoSampleInit.mqh │ │ │ ├── ArrayDouble │ │ │ │ ├── ArrayDoubleSample.ex5 │ │ │ │ └── ArrayDoubleSample.mq5 │ │ │ ├── Canvas │ │ │ │ ├── CanvasSample.ex5 │ │ │ │ ├── CanvasSample.mq5 │ │ │ │ └── Charts │ │ │ │ │ ├── HistogramChartSample.ex5 │ │ │ │ │ ├── HistogramChartSample.mq5 │ │ │ │ │ ├── LineChartSample.ex5 │ │ │ │ │ ├── LineChartSample.mq5 │ │ │ │ │ ├── PieChartSample.ex5 │ │ │ │ │ └── PieChartSample.mq5 │ │ │ ├── ObjectChart │ │ │ │ ├── ChartSampleInit.mqh │ │ │ │ ├── ObjChartSample.ex5 │ │ │ │ └── ObjChartSample.mq5 │ │ │ ├── ObjectSphere │ │ │ │ ├── Sphere.mqh │ │ │ │ ├── SphereSample.ex5 │ │ │ │ └── SphereSample.mq5 │ │ │ ├── OpenCL │ │ │ │ ├── Double │ │ │ │ │ ├── BitonicSort.ex5 │ │ │ │ │ ├── BitonicSort.mq5 │ │ │ │ │ ├── FFT.ex5 │ │ │ │ │ ├── FFT.mq5 │ │ │ │ │ ├── Kernels │ │ │ │ │ │ ├── bitonicsort.cl │ │ │ │ │ │ ├── fft.cl │ │ │ │ │ │ ├── matrixmult.cl │ │ │ │ │ │ └── wavelet.cl │ │ │ │ │ ├── MatrixMult.ex5 │ │ │ │ │ ├── MatrixMult.mq5 │ │ │ │ │ ├── Wavelet.ex5 │ │ │ │ │ └── Wavelet.mq5 │ │ │ │ ├── Float │ │ │ │ │ ├── BitonicSort.ex5 │ │ │ │ │ ├── BitonicSort.mq5 │ │ │ │ │ ├── FFT.ex5 │ │ │ │ │ ├── FFT.mq5 │ │ │ │ │ ├── Kernels │ │ │ │ │ │ ├── bitonicsort.cl │ │ │ │ │ │ ├── fft.cl │ │ │ │ │ │ ├── matrixmult.cl │ │ │ │ │ │ └── wavelet.cl │ │ │ │ │ ├── MatrixMult.ex5 │ │ │ │ │ ├── MatrixMult.mq5 │ │ │ │ │ ├── Wavelet.ex5 │ │ │ │ │ └── Wavelet.mq5 │ │ │ │ └── Seascape │ │ │ │ │ ├── Seascape.cl │ │ │ │ │ ├── Seascape.ex5 │ │ │ │ │ ├── Seascape.mq5 │ │ │ │ │ └── Seascape.mqproj │ │ │ ├── OrderInfo │ │ │ │ ├── OrderInfoSample.ex5 │ │ │ │ ├── OrderInfoSample.mq5 │ │ │ │ └── OrderInfoSampleInit.mqh │ │ │ ├── PositionInfo │ │ │ │ ├── PositionInfoSample.ex5 │ │ │ │ ├── PositionInfoSample.mq5 │ │ │ │ └── PositionInfoSampleInit.mqh │ │ │ ├── Remnant 3D │ │ │ │ ├── Remnant 3D.ex5 │ │ │ │ ├── Remnant 3D.mq5 │ │ │ │ ├── Remnant 3D.mqproj │ │ │ │ └── Shaders │ │ │ │ │ ├── pixel.hlsl │ │ │ │ │ └── vertex.hlsl │ │ │ └── SymbolInfo │ │ │ │ ├── SymbolInfoSample.ex5 │ │ │ │ ├── SymbolInfoSample.mq5 │ │ │ │ └── SymbolInfoSampleInit.mqh │ │ ├── Test │ │ │ └── TestZmq.mq4 │ │ ├── UnitTests │ │ │ ├── Alglib │ │ │ │ ├── TestClasses.mq5 │ │ │ │ ├── TestClasses.mqh │ │ │ │ ├── TestInterfaces.mq5 │ │ │ │ └── TestInterfaces.mqh │ │ │ ├── Fuzzy │ │ │ │ └── TestFuzzy.mq5 │ │ │ ├── Generic │ │ │ │ ├── TestArrayList.mq5 │ │ │ │ ├── TestHashMap.mq5 │ │ │ │ ├── TestHashSet.mq5 │ │ │ │ ├── TestLinkedList.mq5 │ │ │ │ ├── TestQueue.mq5 │ │ │ │ ├── TestRedBlackTree.mq5 │ │ │ │ ├── TestSortedMap.mq5 │ │ │ │ ├── TestSortedSet.mq5 │ │ │ │ └── TestStack.mq5 │ │ │ └── Stat │ │ │ │ ├── TestStat.mq5 │ │ │ │ ├── TestStatBenchmark.mq5 │ │ │ │ └── TestStatPrecision.mq5 │ │ └── ZeroMQGuideExamples │ │ │ ├── Chapter1 │ │ │ ├── HelloWorldClient.ex5 │ │ │ ├── HelloWorldClient.mq5 │ │ │ ├── HelloWorldServer.mq4 │ │ │ ├── TaskEvent.mq4 │ │ │ ├── TaskSink.mq4 │ │ │ ├── TaskWorker.mq4 │ │ │ ├── VersionReporting.mq4 │ │ │ ├── WeatherUpdateClient.mq4 │ │ │ └── WeatherUpdateServer.mq4 │ │ │ ├── Chapter2 │ │ │ ├── MSPoller.mq4 │ │ │ ├── RRBroker.mq4 │ │ │ ├── RRClient.mq4 │ │ │ ├── RRWorker.mq4 │ │ │ └── WUProxy.mq4 │ │ │ └── Chapter3 │ │ │ ├── RTReqBroker.mq4 │ │ │ └── RTReqWorker.mq4 │ └── experts.dat ├── Profiles │ └── deleted │ │ ├── 01.chr │ │ ├── 02.chr │ │ ├── 03.chr │ │ ├── 04.chr │ │ └── 05.chr ├── Terminal.ico ├── logs │ └── 20250518.log ├── metaeditor64.exe ├── metatester64.exe ├── terminal64.exe └── uninstall.exe ├── README.md ├── assets ├── fonts.conf ├── openbox │ ├── mayday │ │ ├── mayday-arc-dark │ │ │ └── openbox-3 │ │ │ │ ├── bullet.xbm │ │ │ │ ├── close.xbm │ │ │ │ ├── desk.xbm │ │ │ │ ├── iconify.xbm │ │ │ │ ├── max.xbm │ │ │ │ ├── max_toggled.xbm │ │ │ │ ├── shade.xbm │ │ │ │ └── themerc │ │ ├── mayday-arc │ │ │ └── openbox-3 │ │ │ │ ├── bullet.xbm │ │ │ │ ├── close.xbm │ │ │ │ ├── desk.xbm │ │ │ │ ├── iconify.xbm │ │ │ │ ├── max.xbm │ │ │ │ ├── max_toggled.xbm │ │ │ │ ├── shade.xbm │ │ │ │ └── themerc │ │ ├── mayday-grey │ │ │ └── openbox-3 │ │ │ │ ├── bullet.xbm │ │ │ │ ├── close-backup.xbm │ │ │ │ ├── close.xbm │ │ │ │ ├── desk.xbm │ │ │ │ ├── iconify.xbm │ │ │ │ ├── max.xbm │ │ │ │ ├── max_toggled.xbm │ │ │ │ ├── shade.xbm │ │ │ │ └── themerc │ │ ├── mayday-plane │ │ │ └── openbox-3 │ │ │ │ ├── bullet.xbm │ │ │ │ ├── close.xbm │ │ │ │ ├── desk.xbm │ │ │ │ ├── iconify.xbm │ │ │ │ ├── max.xbm │ │ │ │ ├── max_toggled.xbm │ │ │ │ ├── shade.xbm │ │ │ │ └── themerc │ │ └── thesis │ │ │ └── openbox-3 │ │ │ ├── bullet.xbm │ │ │ ├── close.xbm │ │ │ ├── desk.xbm │ │ │ ├── iconify.xbm │ │ │ ├── max.xbm │ │ │ ├── shade.xbm │ │ │ └── themerc │ ├── menu.xml │ └── rc.xml ├── slim │ ├── alpinelinux │ │ ├── background.png │ │ ├── panel.png │ │ └── slim.theme │ └── slim.conf ├── start.sh ├── supervisord.conf ├── urxvt │ └── perl │ │ ├── keyboard-select │ │ └── resize-font ├── x11vnc-session.sh ├── xinit │ ├── Xresources │ └── xinitrc.d │ │ └── 00-terminal-prompt ├── xorg.conf └── xorg.conf.d │ └── 00-nopo └── cloudbuild.yaml /.gitattributes: -------------------------------------------------------------------------------- 1 | *.exe filter=lfs diff=lfs merge=lfs -text -------------------------------------------------------------------------------- /.github/workflows/docker-image.yml: -------------------------------------------------------------------------------- 1 | name: ci 2 | 3 | on: 4 | push: 5 | branches: 6 | - 'main' 7 | 8 | jobs: 9 | docker: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - 13 | name: Set up QEMU 14 | uses: docker/setup-qemu-action@v2 15 | - 16 | name: Set up Docker Buildx 17 | uses: docker/setup-buildx-action@v2 18 | - 19 | name: Login to DockerHub 20 | uses: docker/login-action@v2 21 | with: 22 | username: ${{ secrets.DOCKERHUB_USER }} 23 | password: ${{ secrets.DOCKERHUB_TOKEN }} 24 | - 25 | name: Build and push 26 | uses: docker/build-push-action@v3 27 | with: 28 | platforms: linux/amd64,linux/arm64 29 | push: true 30 | tags: ejtrader/metatrader:5 31 | 32 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | 3 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | build: 2 | docker build -t ejtradermt . 3 | 4 | run: build 5 | docker run --rm -dit -p 5900:5900 -p 15555:15555 -p 15556:15556 -p 15557:15557 -p 15558:15558 --name ejtradermt -v ejtradermt:/data ejtradermt 6 | 7 | shell: 8 | docker exec -it ejtradermt bash 9 | 10 | users: build 11 | docker exec -it ejtradermt adduser novouser 12 | -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/history/EURUSD/2025.hcc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/history/EURUSD/2025.hcc -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/history/EURUSD/cache/M1.hc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/history/EURUSD/cache/M1.hc -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/mail/mail-5036223239.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/mail/mail-5036223239.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/news/news.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/news/news.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/subscriptions/subscriptions-5036223239.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/subscriptions/subscriptions-5036223239.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/symbols/selected-5036223239.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/symbols/selected-5036223239.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/symbols/symbols-5036223239.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/symbols/symbols-5036223239.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/ticks/AUDCHF/ticks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/ticks/AUDCHF/ticks.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/ticks/AUDJPY/ticks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/ticks/AUDJPY/ticks.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/ticks/AUDNZD/ticks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/ticks/AUDNZD/ticks.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/ticks/AUDSEK/ticks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/ticks/AUDSEK/ticks.dat -------------------------------------------------------------------------------- /Metatrader/Bases/MetaQuotes-Demo/ticks/EURUSD/ticks.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/MetaQuotes-Demo/ticks/EURUSD/ticks.dat -------------------------------------------------------------------------------- /Metatrader/Bases/alerts.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/alerts.dat -------------------------------------------------------------------------------- /Metatrader/Bases/books.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/books.dat -------------------------------------------------------------------------------- /Metatrader/Bases/dns.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/dns.dat -------------------------------------------------------------------------------- /Metatrader/Bases/gvariables.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/gvariables.dat -------------------------------------------------------------------------------- /Metatrader/Bases/indicators.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/indicators.dat -------------------------------------------------------------------------------- /Metatrader/Bases/mql5.market.personal.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/mql5.market.personal.dat -------------------------------------------------------------------------------- /Metatrader/Bases/objects.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/objects.dat -------------------------------------------------------------------------------- /Metatrader/Bases/options.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/options.dat -------------------------------------------------------------------------------- /Metatrader/Bases/signals/signals.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/signals/signals.dat -------------------------------------------------------------------------------- /Metatrader/Bases/strategy.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/strategy.dat -------------------------------------------------------------------------------- /Metatrader/Bases/symbols.custom.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Bases/symbols.custom.dat -------------------------------------------------------------------------------- /Metatrader/Config/accounts.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/accounts.dat -------------------------------------------------------------------------------- /Metatrader/Config/agents.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/agents.dat -------------------------------------------------------------------------------- /Metatrader/Config/common.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/common.ini -------------------------------------------------------------------------------- /Metatrader/Config/hotkeys.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/hotkeys.ini -------------------------------------------------------------------------------- /Metatrader/Config/jupyter.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/jupyter.ini -------------------------------------------------------------------------------- /Metatrader/Config/metaeditor.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/metaeditor.ini -------------------------------------------------------------------------------- /Metatrader/Config/servers.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/servers.dat -------------------------------------------------------------------------------- /Metatrader/Config/settings.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/settings.ini -------------------------------------------------------------------------------- /Metatrader/Config/terminal.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Config/terminal.ini -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Advisors/ExpertMACD.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Advisors/ExpertMACD.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Advisors/ExpertMAMA.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Advisors/ExpertMAMA.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Advisors/ExpertMAPSAR.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Advisors/ExpertMAPSAR.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Advisors/ExpertMAPSARSizeOptimized.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Advisors/ExpertMAPSARSizeOptimized.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/ChartInChart/ChartInChart.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/ChartInChart/ChartInChart.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/ChartInChart/ChartInChart.mq5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/ChartInChart/ChartInChart.mq5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Controls/Controls.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Controls/Controls.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Controls/Controls.mq5: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| Controls.mq5 | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2000-2025, MetaQuotes Ltd." 7 | #property link "https://www.mql5.com" 8 | #property version "1.00" 9 | #include "ControlsDialog.mqh" 10 | //+------------------------------------------------------------------+ 11 | //| Global Variables | 12 | //+------------------------------------------------------------------+ 13 | CControlsDialog ExtDialog; 14 | //+------------------------------------------------------------------+ 15 | //| Expert initialization function | 16 | //+------------------------------------------------------------------+ 17 | int OnInit() 18 | { 19 | //--- create application dialog 20 | if(!ExtDialog.Create(0,"Controls",0,20,20,360,324)) 21 | return(INIT_FAILED); 22 | //--- run application 23 | ExtDialog.Run(); 24 | //--- succeed 25 | return(INIT_SUCCEEDED); 26 | } 27 | //+------------------------------------------------------------------+ 28 | //| Expert deinitialization function | 29 | //+------------------------------------------------------------------+ 30 | void OnDeinit(const int reason) 31 | { 32 | //--- destroy dialog 33 | ExtDialog.Destroy(reason); 34 | } 35 | //+------------------------------------------------------------------+ 36 | //| Expert chart event function | 37 | //+------------------------------------------------------------------+ 38 | void OnChartEvent(const int id, // event ID 39 | const long& lparam, // event parameter of the long type 40 | const double& dparam, // event parameter of the double type 41 | const string& sparam) // event parameter of the string type 42 | { 43 | ExtDialog.ChartEvent(id,lparam,dparam,sparam); 44 | } 45 | //+------------------------------------------------------------------+ 46 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.mq5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.mq5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.mqproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Correlation Matrix 3D/Correlation Matrix 3D.mqproj -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/MACD/MACD Sample.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/MACD/MACD Sample.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.mq5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.mq5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.mqproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Math 3D Morpher.mqproj -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Textures/checker.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D Morpher/Textures/checker.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Functions.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Functions.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.ico -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.mq5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.mq5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.mqproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Math 3D.mqproj -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Chomolungma.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Chomolungma.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/ClimberDream.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/ClimberDream.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/DoubleScrew.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/DoubleScrew.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Granite.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Granite.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Hedgehog.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Hedgehog.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Hill.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Hill.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Josephine.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Josephine.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/MultyExtremalScrew.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/MultyExtremalScrew.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Screw.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Screw.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Sink.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Sink.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Skin.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Skin.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Trapfall.set: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Math 3D/Sets/Trapfall.set -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Examples/Moving Average/Moving Average.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Examples/Moving Average/Moving Average.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BlackCrows WhiteSoldiers Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Engulfing Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish Harami Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/BullishBearish MeetingLines Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/DarkCloud PiercingLine Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/HangingMan Hammer Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji RSI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji RSI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji Stoch.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/Free Robots/MorningEvening StarDoji Stoch.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Experts/ejtraderMT.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Experts/ejtraderMT.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Images/dollar.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Images/dollar.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Images/euro.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Images/euro.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/Canvas3D.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/Canvas3D.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXData.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXData.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXHandle.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXHandle.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXInput.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXInput.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXObject.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXObject.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXObjectBase.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXObjectBase.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXShader.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXShader.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Canvas/DX/DXTexture.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Canvas/DX/DXTexture.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/BmpButton.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/BmpButton.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/Button.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/Button.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/ListView.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/ListView.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/RadioGroup.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/RadioGroup.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/Scrolls.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/Scrolls.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/CheckBoxOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/CheckBoxOff.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/CheckBoxOn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/CheckBoxOn.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Close.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Close.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/DateDropOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/DateDropOff.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/DateDropOn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/DateDropOn.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Down.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Down.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/DownTransp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/DownTransp.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/DropOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/DropOff.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/DropOn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/DropOn.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Left.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Left.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/LeftTransp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/LeftTransp.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/RadioButtonOff.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/RadioButtonOff.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/RadioButtonOn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/RadioButtonOn.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Restore.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Restore.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Right.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Right.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/RightTransp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/RightTransp.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/SpinDec.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/SpinDec.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/SpinInc.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/SpinInc.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/ThumbHor.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/ThumbHor.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/ThumbVert.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/ThumbVert.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Turn.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Turn.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/Up.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/Up.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Controls/res/UpTransp.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Controls/res/UpTransp.bmp -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Expert/Expert.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Expert/Expert.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Expert/ExpertTrailing.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| ExpertTrailing.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "ExpertBase.mqh" 7 | //+------------------------------------------------------------------+ 8 | //| Class CExpertTrailing. | 9 | //| Purpose: Base class traling stops. | 10 | //| Derives from class CExpertBase. | 11 | //+------------------------------------------------------------------+ 12 | class CExpertTrailing : public CExpertBase 13 | { 14 | public: 15 | CExpertTrailing(void); 16 | ~CExpertTrailing(void); 17 | //--- 18 | virtual bool CheckTrailingStopLong(CPositionInfo *position,double &sl,double &tp) { return(false); } 19 | virtual bool CheckTrailingStopShort(CPositionInfo *position,double &sl,double &tp) { return(false); } 20 | }; 21 | //+------------------------------------------------------------------+ 22 | //| Constructor | 23 | //+------------------------------------------------------------------+ 24 | CExpertTrailing::CExpertTrailing(void) 25 | { 26 | } 27 | //+------------------------------------------------------------------+ 28 | //| Destructor | 29 | //+------------------------------------------------------------------+ 30 | CExpertTrailing::~CExpertTrailing(void) 31 | { 32 | } 33 | //+------------------------------------------------------------------+ 34 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Expert/Trailing/TrailingNone.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| TrailingNone.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | // wizard description start 8 | //+------------------------------------------------------------------+ 9 | //| Description of the class | 10 | //| Title=Trailing Stop not used | 11 | //| Type=Trailing | 12 | //| Name=None | 13 | //| Class=CTrailingNone | 14 | //| Page= | 15 | //+------------------------------------------------------------------+ 16 | // wizard description end 17 | //+------------------------------------------------------------------+ 18 | //| Class CTrailingNone. | 19 | //| Appointment: Class no traling stops. | 20 | //| Derives from class CExpertTrailing. | 21 | //+------------------------------------------------------------------+ 22 | class CTrailingNone : public CExpertTrailing 23 | { 24 | public: 25 | CTrailingNone(void); 26 | ~CTrailingNone(void); 27 | }; 28 | //+------------------------------------------------------------------+ 29 | //| Constructor | 30 | //+------------------------------------------------------------------+ 31 | CTrailingNone::CTrailingNone(void) 32 | { 33 | } 34 | //+------------------------------------------------------------------+ 35 | //| Destructor | 36 | //+------------------------------------------------------------------+ 37 | CTrailingNone::~CTrailingNone(void) 38 | { 39 | } 40 | //+------------------------------------------------------------------+ 41 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/ArrayList.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Generic/ArrayList.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/ICollection.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| ICollection.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | //+------------------------------------------------------------------+ 7 | //| Interface ICollection. | 8 | //| Usage: Defines methods to manipulate generic collections. | 9 | //+------------------------------------------------------------------+ 10 | template 11 | interface ICollection 12 | { 13 | //--- methods of filling data 14 | bool Add(T value); 15 | //--- methods of access to protected data 16 | int Count(void); 17 | bool Contains(T item); 18 | //--- methods of copy data from collection 19 | int CopyTo(T &dst_array[],const int dst_start=0); 20 | //--- methods of cleaning and removing 21 | void Clear(void); 22 | bool Remove(T item); 23 | }; 24 | //+------------------------------------------------------------------+ 25 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IComparable.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IComparable.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "IEqualityComparable.mqh" 7 | //+------------------------------------------------------------------+ 8 | //| Interface IComparable. | 9 | //| Usage: Defines a generalized comparison method to create a | 10 | //| type-specific comparison method for ordering or sorting | 11 | //| instances. | 12 | //+------------------------------------------------------------------+ 13 | template 14 | interface IComparable: public IEqualityComparable 15 | { 16 | //--- method for determining compare 17 | int Compare(T value); 18 | }; 19 | //+------------------------------------------------------------------+ 20 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IComparer.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IComparer.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | //+------------------------------------------------------------------+ 7 | //| Interface IComparer. | 8 | //| Usage: Defines a method that a type implements to compare two | 9 | //| values. | 10 | //+------------------------------------------------------------------+ 11 | template 12 | interface IComparer 13 | { 14 | //--- compares two values and returns a value indicating whether one is less than, equal to, or greater than the other 15 | int Compare(T x,T y); 16 | }; 17 | //+------------------------------------------------------------------+ 18 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IEqualityComparable.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IEqualityComparable.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | //+------------------------------------------------------------------+ 7 | //| Interface IEqualityComparable. | 8 | //| Usage: Defines a generalized method to create a type-specific | 9 | //| method for determining equality of instances. | 10 | //+------------------------------------------------------------------+ 11 | template 12 | interface IEqualityComparable 13 | { 14 | //--- method for determining equality 15 | bool Equals(T value); 16 | //--- method to calculate hash code 17 | int HashCode(void); 18 | }; 19 | //+------------------------------------------------------------------+ 20 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IEqualityComparer.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IEqualityComparer.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | //+------------------------------------------------------------------+ 7 | //| Interface IEqualityComparer. | 8 | //| Usage: Defines methods to support the comparison of values for | 9 | //| equality. | 10 | //+------------------------------------------------------------------+ 11 | template 12 | interface IEqualityComparer 13 | { 14 | //--- determines whether the specified values are equal 15 | bool Equals(T x,T y); 16 | //--- returns a hash code for the specified object 17 | int HashCode(T value); 18 | }; 19 | //+------------------------------------------------------------------+ 20 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IList.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IList.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "ICollection.mqh" 7 | //+------------------------------------------------------------------+ 8 | //| Interface IList. | 9 | //| Usage: Represents a collection of objects that can be | 10 | //| individually accessed by index. | 11 | //+------------------------------------------------------------------+ 12 | template 13 | interface IList: public ICollection 14 | { 15 | //--- method of access to the data 16 | bool TryGetValue(const int index,T &value); 17 | bool TrySetValue(const int index,T value); 18 | //--- methods of filling the array 19 | bool Insert(const int index,T item); 20 | //--- methods for searching index 21 | int IndexOf(T item); 22 | int LastIndexOf(T item); 23 | //--- methods of cleaning and deleting 24 | bool RemoveAt(const int index); 25 | }; 26 | //+------------------------------------------------------------------+ 27 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/IMap.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| IMap.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "ICollection.mqh" 7 | template 8 | class CKeyValuePair; 9 | //+------------------------------------------------------------------+ 10 | //| Interface IMap. | 11 | //| Usage: Represents a generic collection of key/value pairs. | 12 | //+------------------------------------------------------------------+ 13 | template 14 | interface IMap: public ICollection*> 15 | { 16 | //--- methods of filling data 17 | bool Add(TKey key,TValue value); 18 | //--- methods of access to protected data 19 | bool Contains(TKey key,TValue value); 20 | bool Remove(TKey key); 21 | //--- method of access to the data 22 | bool TryGetValue(TKey key,TValue &value); 23 | bool TrySetValue(TKey key,TValue value); 24 | //--- methods of copy data from collection 25 | int CopyTo(TKey &dst_keys[],TValue &dst_values[],const int dst_start=0); 26 | }; 27 | //+------------------------------------------------------------------+ 28 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Interfaces/ISet.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| ISet.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "ICollection.mqh" 7 | //+------------------------------------------------------------------+ 8 | //| Interface ISet. | 9 | //| Usage: Provides the base interface for the abstraction of sets. | 10 | //+------------------------------------------------------------------+ 11 | template 12 | interface ISet: public ICollection 13 | { 14 | //--- methods of changing sets 15 | void ExceptWith(ICollection*collection); 16 | void ExceptWith(T &array[]); 17 | void IntersectWith(ICollection*collection); 18 | void IntersectWith(T &array[]); 19 | void SymmetricExceptWith(ICollection*collection); 20 | void SymmetricExceptWith(T &array[]); 21 | void UnionWith(ICollection*collection); 22 | void UnionWith(T &array[]); 23 | //--- methods for determining the relationship between sets 24 | bool IsProperSubsetOf(ICollection*collection); 25 | bool IsProperSubsetOf(T &array[]); 26 | bool IsProperSupersetOf(ICollection*collection); 27 | bool IsProperSupersetOf(T &array[]); 28 | bool IsSubsetOf(ICollection*collection); 29 | bool IsSubsetOf(T &array[]); 30 | bool IsSupersetOf(ICollection*collection); 31 | bool IsSupersetOf(T &array[]); 32 | bool Overlaps(ICollection*collection); 33 | bool Overlaps(T &array[]); 34 | bool SetEquals(ICollection*collection); 35 | bool SetEquals(T &array[]); 36 | }; 37 | //+------------------------------------------------------------------+ 38 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Internal/DefaultComparer.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| DefaultComparer.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | #include "CompareFunction.mqh" 8 | //+------------------------------------------------------------------+ 9 | //| Class CDefaultComparer. | 10 | //| Usage: Provides a default class for implementations of the | 11 | //| IComparer generic interface. | 12 | //+------------------------------------------------------------------+ 13 | template 14 | class CDefaultComparer: public IComparer 15 | { 16 | public: 17 | CDefaultComparer(void) { } 18 | ~CDefaultComparer(void) { } 19 | //--- compares two values and returns a value describing relationship between them 20 | int Compare(T x,T y) { return ::Compare(x,y); } 21 | }; 22 | //+------------------------------------------------------------------+ 23 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Internal/DefaultEqualityComparer.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| DefaultEqualityComparer.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | #include "EqualFunction.mqh" 8 | #include "HashFunction.mqh" 9 | //+------------------------------------------------------------------+ 10 | //| Class CDefaultEqualityComparer. | 11 | //| Usage: Provides a default class for implementations of the | 12 | //| IEqualityComparer generic interface. | 13 | //+------------------------------------------------------------------+ 14 | template 15 | class CDefaultEqualityComparer: public IEqualityComparer 16 | { 17 | public: 18 | CDefaultEqualityComparer(void) { } 19 | ~CDefaultEqualityComparer(void) { } 20 | //--- determines whether the specified values are equal 21 | bool Equals(T x,T y) { return ::Equals(x,y); } 22 | //--- returns a hash code for the specified object 23 | int HashCode(T value) { return ::GetHashCode(value); } 24 | }; 25 | //+------------------------------------------------------------------+ 26 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Internal/EqualFunction.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| EqualFunction.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | //+------------------------------------------------------------------+ 8 | //| Indicates whether x object is equal y object of the same type. | 9 | //+------------------------------------------------------------------+ 10 | template 11 | bool Equals(T x,T y) 12 | { 13 | //--- try to convert to equality comparable object 14 | IEqualityComparable*equtable=dynamic_cast*>(x); 15 | if(equtable) 16 | { 17 | //--- use specied equality compare method 18 | return equtable.Equals(y); 19 | } 20 | else 21 | { 22 | //--- use default equality comparer operator 23 | return(x==y); 24 | } 25 | } 26 | //+------------------------------------------------------------------+ 27 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/Queue.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Generic/Queue.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Generic/RedBlackTree.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Generic/RedBlackTree.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Graphics/Graphic.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Graphics/Graphic.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/JAson.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/JAson.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Math/Stat/Math.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Math/Stat/Math.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Math/Stat/Stat.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| Stat.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Mql/Lang/Error.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Mql/Lang/Error.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Object.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| Object.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "StdLibErr.mqh" 7 | //+------------------------------------------------------------------+ 8 | //| Class CObject. | 9 | //| Purpose: Base class for storing elements. | 10 | //+------------------------------------------------------------------+ 11 | class CObject 12 | { 13 | private: 14 | CObject *m_prev; // previous item of list 15 | CObject *m_next; // next item of list 16 | 17 | public: 18 | CObject(void): m_prev(NULL),m_next(NULL) { } 19 | ~CObject(void) { } 20 | //--- methods to access protected data 21 | CObject *Prev(void) const { return(m_prev); } 22 | void Prev(CObject *node) { m_prev=node; } 23 | CObject *Next(void) const { return(m_next); } 24 | void Next(CObject *node) { m_next=node; } 25 | //--- methods for working with files 26 | virtual bool Save(const int file_handle) { return(true); } 27 | virtual bool Load(const int file_handle) { return(true); } 28 | //--- method of identifying the object 29 | virtual int Type(void) const { return(0); } 30 | //--- method of comparing the objects 31 | virtual int Compare(const CObject *node,const int mode=0) const { return(0); } 32 | }; 33 | //+------------------------------------------------------------------+ 34 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/ElButton.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/ElButton.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/ElChart.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/ElChart.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Events/Event.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Events/Event.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Events/EventChart.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Events/EventChart.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Events/EventChartEndEdit.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Events/EventChartEndEdit.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Events/EventChartObjClick.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Events/EventChartObjClick.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Events/EventRefresh.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Events/EventRefresh.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Panel/Node.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Panel/Node.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiBuffDbl.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiBuffDbl.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiBuffInt.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiBuffInt.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiEMA.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiEMA.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiGauss.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiGauss.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiMACD.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiMACD.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiMaxMin.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiMaxMin.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiSMA.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiSMA.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/RingBuffer/RiStoch.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/RingBuffer/RiStoch.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/StdLibErr.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| StdLibErr.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #define ERR_USER_INVALID_HANDLE 1 7 | #define ERR_USER_INVALID_BUFF_NUM 2 8 | #define ERR_USER_ITEM_NOT_FOUND 3 9 | #define ERR_USER_ARRAY_IS_EMPTY 1000 10 | //+------------------------------------------------------------------+ 11 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Trade/MarketBook.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Trade/MarketBook.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/WinAPI/errhandlingapi.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| errhandlingapi.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | #include 8 | //+------------------------------------------------------------------+ 9 | //| | 10 | //+------------------------------------------------------------------+ 11 | #import "kernel32.dll" 12 | void RaiseException(uint exception_code,uint exception_flags,uint number_of_arguments,const ulong &arguments[]); 13 | int UnhandledExceptionFilter(EXCEPTION_POINTERS &exception_info); 14 | PVOID SetUnhandledExceptionFilter(PVOID top_level_exception_filter); 15 | uint GetLastError(void); 16 | void SetLastError(uint err_code); 17 | uint GetErrorMode(void); 18 | uint SetErrorMode(uint mode); 19 | PVOID AddVectoredExceptionHandler(uint first,PVOID handler); 20 | uint RemoveVectoredExceptionHandler(PVOID handle); 21 | PVOID AddVectoredContinueHandler(uint first,PVOID handler); 22 | uint RemoveVectoredContinueHandler(PVOID handle); 23 | void RestoreLastError(uint err_code); 24 | void RaiseFailFastException(EXCEPTION_RECORD &exception_record,CONTEXT &context_record,uint flags); 25 | void FatalAppExitW(uint action,const string message_text); 26 | uint GetThreadErrorMode(void); 27 | int SetThreadErrorMode(uint new_mode,uint& old_mode); 28 | #import 29 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/WinAPI/handleapi.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| handleapi.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | 8 | //+------------------------------------------------------------------+ 9 | //| | 10 | //+------------------------------------------------------------------+ 11 | #import "kernel32.dll" 12 | int CloseHandle(HANDLE object); 13 | int DuplicateHandle(HANDLE source_process_handle,HANDLE source_handle,HANDLE target_process_handle,HANDLE &target_handle,uint desired_access,int inherit_handle,uint options); 14 | int GetHandleInformation(HANDLE object,uint& flags); 15 | int SetHandleInformation(HANDLE object,uint mask,uint flags); 16 | #import 17 | 18 | #import "kernelbase.dll" 19 | int CompareObjectHandles(HANDLE first_object_handle, HANDLE second_object_handle); 20 | #import 21 | //+------------------------------------------------------------------+ -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/WinAPI/processenv.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| processenv.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include 7 | 8 | //+------------------------------------------------------------------+ 9 | //| | 10 | //+------------------------------------------------------------------+ 11 | #import "kernel32.dll" 12 | int SetEnvironmentStringsW(string new_environment); 13 | HANDLE GetStdHandle(uint std_handle); 14 | int SetStdHandle(uint std_handle,HANDLE handle); 15 | int SetStdHandleEx(uint std_handle,HANDLE handle,HANDLE &prev_value); 16 | string GetCommandLineW(void); 17 | string GetEnvironmentStringsW(void); 18 | int FreeEnvironmentStringsW(string v); 19 | uint GetEnvironmentVariableW(const string name,ushort &buffer[],uint size); 20 | int SetEnvironmentVariableW(const string name,const string value); 21 | uint ExpandEnvironmentStringsW(const string src,string dst,uint size); 22 | int SetCurrentDirectoryW(const string path_name); 23 | uint GetCurrentDirectoryW(uint buffer_length,ushort &buffer[]); 24 | uint GetCurrentDirectoryW(uint buffer_length,string &buffer); 25 | uint SearchPathW(const string path,const string file_name,const string extension,uint buffer_length,ushort &buffer[],string &file_part); 26 | int NeedCurrentDirectoryForExePathW(const string exe_name); 27 | #import 28 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/WinAPI/winapi.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| winapi.mqh | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #include "windef.mqh" 7 | #include "winnt.mqh" 8 | #include "fileapi.mqh" 9 | #include "winbase.mqh" 10 | #include "winuser.mqh" 11 | #include "wingdi.mqh" 12 | #include "winreg.mqh" 13 | #include "handleapi.mqh" 14 | #include "processthreadsapi.mqh" 15 | #include "securitybaseapi.mqh" 16 | #include "errhandlingapi.mqh" 17 | #include "sysinfoapi.mqh" 18 | #include "processenv.mqh" 19 | #include "libloaderapi.mqh" 20 | #include "memoryapi.mqh" 21 | //+------------------------------------------------------------------+ 22 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Zmq/AtomicCounter.mqh: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| Module: AtomicCounter.mqh | 3 | //| This file is part of the mql-zmq project: | 4 | //| https://github.com/dingmaotu/mql-zmq | 5 | //| | 6 | //| Copyright 2016-2017 Li Ding | 7 | //| | 8 | //| Licensed under the Apache License, Version 2.0 (the "License"); | 9 | //| you may not use this file except in compliance with the License. | 10 | //| You may obtain a copy of the License at | 11 | //| | 12 | //| http://www.apache.org/licenses/LICENSE-2.0 | 13 | //| | 14 | //| Unless required by applicable law or agreed to in writing, | 15 | //| software distributed under the License is distributed on an | 16 | //| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, | 17 | //| either express or implied. | 18 | //| See the License for the specific language governing permissions | 19 | //| and limitations under the License. | 20 | //+------------------------------------------------------------------+ 21 | #property strict 22 | 23 | #include 24 | 25 | #import "libzmq.dll" 26 | intptr_t zmq_atomic_counter_new(void); 27 | void zmq_atomic_counter_set(intptr_t counter,int value); 28 | int zmq_atomic_counter_inc(intptr_t counter); 29 | int zmq_atomic_counter_dec(intptr_t counter); 30 | int zmq_atomic_counter_value(intptr_t counter); 31 | void zmq_atomic_counter_destroy(intptr_t &counter_p); 32 | #import 33 | //+------------------------------------------------------------------+ 34 | //| Atomic counter utility | 35 | //+------------------------------------------------------------------+ 36 | class AtomicCounter 37 | { 38 | private: 39 | intptr_t m_ref; 40 | 41 | public: 42 | AtomicCounter() {m_ref=zmq_atomic_counter_new();} 43 | ~AtomicCounter() {zmq_atomic_counter_destroy(m_ref);} 44 | 45 | int increase() {return zmq_atomic_counter_inc(m_ref);} 46 | int decrease() {return zmq_atomic_counter_dec(m_ref);} 47 | int get() {return zmq_atomic_counter_value(m_ref);} 48 | void set(int value) {zmq_atomic_counter_set(m_ref,value);} 49 | }; 50 | //+------------------------------------------------------------------+ 51 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/Zmq/Zmq.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/Zmq/Zmq.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtrader/ServerMap.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtrader/ServerMap.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtrader/ServiceMap.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtrader/ServiceMap.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtraderMT/Calendar.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtraderMT/Calendar.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtraderMT/Event.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtraderMT/Event.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtraderMT/HistoryInfo.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtraderMT/HistoryInfo.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtraderMT/Search.code-search: -------------------------------------------------------------------------------- 1 | # Query: ejtraderLAbs 2 | # ContextLines: 1 3 | 4 | 7 results - 6 files 5 | 6 | Experts/ejtraderMT.mq5: 7 | 3 #property copyright "Copyright 2021, ejtrader." 8 | 4: #property link "https://github.com/ejtraderLabs" 9 | 5 #property version "3.03" 10 | 11 | Include/ejtraderMT/Broker.mqh: 12 | 1 #property copyright "ejtrader" 13 | 2: #property link "https://github.com/ejtraderLAbs/MQL5-ejtraderMT" 14 | 3 15 | 16 | Include/ejtraderMT/ChartControl.mqh: 17 | 3 #property copyright "ejtrader" 18 | 4: #property link "https://github.com/ejtraderLAbs/MQL5-ejtraderMT" 19 | 5 20 | 21 | Include/ejtraderMT/HistoryInfo.mqh: 22 | 3 #property copyright "ejtrader" 23 | 4: #property link "https://github.com/ejtraderLAbs/MQL5-ejtraderMT" 24 | 5 //+------------------------------------------------------------------+ 25 | 26 | Include/ejtraderMT/StartIndicator.mqh: 27 | 3 //| Gunther Schulz | 28 | 4: //| https://github.com/ejtraderLabs/MQL5-ejtraderMT 29 | 5 //+------------------------------------------------------------------+ 30 | 6 #property copyright "Gunther Schulz" 31 | 7: #property link "https://github.com/ejtraderLAbs/MQL5-ejtraderMT" 32 | 8 33 | 34 | Indicators/ejtraderMTIndicator.mq5: 35 | 7 #property copyright "2021 ejtrader" 36 | 8: #property link "https://github.com/ejtraderLabs" 37 | 9 #property version "1.00" 38 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/ejtraderMT/String.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/ejtraderMT/String.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/hash.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/hash.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/http.mqh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/http.mqh -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/net35/Newtonsoft.Json.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/net35/Newtonsoft.Json.pdb -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/net45/Newtonsoft.Json.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Include/net45/Newtonsoft.Json.pdb -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/requests/classes/_url_parts.mqh: -------------------------------------------------------------------------------- 1 | #property copyright "Copyright © 2021 Artem Maltsev (Vivazzi)" 2 | #property link "https://vivazzi.pro" 3 | #property description "_UrlParts class for requests.mqh" 4 | #property library 5 | 6 | 7 | class _UrlParts { 8 | public: 9 | int port; 10 | string host; 11 | string path; 12 | string parameters; 13 | 14 | bool split(string url) { 15 | int index = StringFind(url, "://"); 16 | if (index == -1) { 17 | Print("requests: ERROR " + url + ": url is wrong"); 18 | return(false); 19 | } 20 | 21 | string protocol = StringSubstr(url, 0, index); 22 | 23 | if (protocol == "http") port = 80; 24 | else if (protocol == "https") port = 443; 25 | else { 26 | Print("requests: ERROR " + protocol + ": protocol is wrong. Available protocols: http, https"); 27 | return(false); 28 | } 29 | 30 | string full_path = StringSubstr(url, index + 3, StringLen(url)); 31 | 32 | index = StringFind(full_path, "/"); 33 | 34 | if (index == -1) { 35 | host = full_path; 36 | path = "/"; 37 | } else { 38 | host = StringSubstr(full_path, 0, index); 39 | path = StringSubstr(full_path, index, StringLen(full_path)); 40 | } 41 | 42 | index = StringFind(full_path, "?"); 43 | if (index == -1) parameters = ""; 44 | else parameters = StringSubstr(full_path, index + 1, StringLen(full_path)); 45 | 46 | return(true); 47 | } 48 | }; -------------------------------------------------------------------------------- /Metatrader/MQL5/Include/requests/classes/response.mqh: -------------------------------------------------------------------------------- 1 | #property copyright "Copyright © 2021 Artem Maltsev (Vivazzi)" 2 | #property link "https://vivazzi.pro" 3 | #property description "Response class for requests.mqh" 4 | #property library 5 | 6 | 7 | class Response { 8 | public: 9 | string text; 10 | string status_code; 11 | string error; 12 | string url; 13 | string parameters; 14 | 15 | Response() {}; 16 | ~Response() {}; 17 | 18 | Response::Response(const Response &r) { 19 | text = r.text; 20 | status_code = r.status_code; 21 | error = r.error; 22 | url = r.url; 23 | parameters = r.parameters; 24 | } 25 | }; -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/AD.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/AD.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ADX.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ADX.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ADXW.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ADXW.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/AMA.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/AMA.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ASI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ASI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ATR.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ATR.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Accelerator.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Accelerator.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Alligator.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Alligator.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Awesome_Oscillator.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Awesome_Oscillator.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/BB.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/BB.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/BW-ZoneTrade.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/BW-ZoneTrade.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Bears.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Bears.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Bulls.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Bulls.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/CCI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/CCI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/CHO.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/CHO.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/CHV.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/CHV.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Canvas/FlameChart.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Canvas/FlameChart.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ColorBars.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ColorBars.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ColorCandlesDaily.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ColorCandlesDaily.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ColorLine.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ColorLine.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Custom Moving Average.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Custom Moving Average.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/DEMA.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/DEMA.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/DPO.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/DPO.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/DeMarker.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/DeMarker.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Envelopes.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Envelopes.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Force_Index.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Force_Index.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/FrAMA.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/FrAMA.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Fractals.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Fractals.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Gator.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Gator.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Gator_2.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Gator_2.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Heiken_Ashi.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Heiken_Ashi.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Ichimoku.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Ichimoku.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/MACD.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/MACD.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/MFI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/MFI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/MI.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/MI.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/MarketFacilitationIndex.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/MarketFacilitationIndex.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Momentum.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Momentum.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/OBV.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/OBV.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/OsMA.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/OsMA.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/PVT.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/PVT.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Panels/ChartPanel/ChartPanel.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Panels/ChartPanel/ChartPanel.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Panels/ChartPanel/ChartPanel.mq5: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| PanelChart.mq5 | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2000-2025, MetaQuotes Ltd." 7 | #property link "https://www.mql5.com" 8 | #property version "1.00" 9 | #property indicator_separate_window 10 | #property indicator_plots 0 11 | #property indicator_buffers 0 12 | #property indicator_minimum 0.0 13 | #property indicator_maximum 0.0 14 | #include "PanelDialog.mqh" 15 | //+------------------------------------------------------------------+ 16 | //| Global Variables | 17 | //+------------------------------------------------------------------+ 18 | CPanelDialog ExtDialog; 19 | //+------------------------------------------------------------------+ 20 | //| Custom indicator initialization function | 21 | //+------------------------------------------------------------------+ 22 | int OnInit(void) 23 | { 24 | //--- create application dialog 25 | if(!ExtDialog.Create(0,"Chart Panel ",0,50,50,390,300)) 26 | return(INIT_FAILED); 27 | //--- run application 28 | if(!ExtDialog.Run()) 29 | return(INIT_FAILED); 30 | //--- succeed 31 | return(INIT_SUCCEEDED); 32 | } 33 | //+------------------------------------------------------------------+ 34 | //| Custom indicator deinitialization function | 35 | //+------------------------------------------------------------------+ 36 | void OnDeinit(const int reason) 37 | { 38 | //--- destroy application dialog 39 | ExtDialog.Destroy(reason); 40 | } 41 | //+------------------------------------------------------------------+ 42 | //| Custom indicator iteration function | 43 | //+------------------------------------------------------------------+ 44 | int OnCalculate(const int rates_total, 45 | const int prev_calculated, 46 | const int begin, 47 | const double &price[]) 48 | { 49 | //--- 50 | 51 | //--- return value of prev_calculated for next call 52 | return(rates_total); 53 | } 54 | //+------------------------------------------------------------------+ 55 | //| ChartEvent function | 56 | //+------------------------------------------------------------------+ 57 | void OnChartEvent(const int id, 58 | const long &lparam, 59 | const double &dparam, 60 | const string &sparam) 61 | { 62 | ExtDialog.ChartEvent(id,lparam,dparam,sparam); 63 | } 64 | //+------------------------------------------------------------------+ 65 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Panels/SimplePanel/SimplePanel.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Panels/SimplePanel/SimplePanel.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ParabolicSAR.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ParabolicSAR.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/Price_Channel.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/Price_Channel.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ROC.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Indicators/Examples/ROC.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Indicators/Examples/ROC.mq5: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| ROC.mq5 | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2000-2025, MetaQuotes Ltd." 7 | #property link "https://www.mql5.com" 8 | #property description "Rate of Change" 9 | //--- indicator settings 10 | #property indicator_separate_window 11 | #property indicator_buffers 1 12 | #property indicator_plots 1 13 | #property indicator_type1 DRAW_LINE 14 | #property indicator_color1 LightSeaGreen 15 | //--- input parameters 16 | input int InpRocPeriod=12; // Period 17 | //--- indicator buffer 18 | double ExtRocBuffer[]; 19 | 20 | int ExtRocPeriod; 21 | //+------------------------------------------------------------------+ 22 | //| Rate of Change initialization function | 23 | //+------------------------------------------------------------------+ 24 | void OnInit() 25 | { 26 | //--- check for input 27 | if(InpRocPeriod<1) 28 | { 29 | ExtRocPeriod=12; 30 | PrintFormat("Incorrect value for input variable InpRocPeriod = %d. Indicator will use value %d for calculations.", 31 | InpRocPeriod,ExtRocPeriod); 32 | } 33 | else 34 | ExtRocPeriod=InpRocPeriod; 35 | //--- indicator buffers mapping 36 | SetIndexBuffer(0,ExtRocBuffer,INDICATOR_DATA); 37 | //--- set accuracy 38 | IndicatorSetInteger(INDICATOR_DIGITS,2); 39 | //--- name for DataWindow and indicator subwindow label 40 | IndicatorSetString(INDICATOR_SHORTNAME,"ROC("+string(ExtRocPeriod)+")"); 41 | //--- sets first bar from what index will be drawn 42 | PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtRocPeriod); 43 | } 44 | //+------------------------------------------------------------------+ 45 | //| Rate of Change | 46 | //+------------------------------------------------------------------+ 47 | int OnCalculate(const int rates_total,const int prev_calculated,const int begin,const double &price[]) 48 | { 49 | if(rates_total 11 | //+------------------------------------------------------------------+ 12 | //| inputs | 13 | //+------------------------------------------------------------------+ 14 | input bool Accumulative=true; 15 | //+------------------------------------------------------------------+ 16 | //| Script program start function | 17 | //+------------------------------------------------------------------+ 18 | int OnStart(void) 19 | { 20 | int k=100; 21 | double arr[10]; 22 | //--- create chart 23 | CHistogramChart chart; 24 | if(!chart.CreateBitmapLabel("SampleHistogramChart",10,10,600,450)) 25 | { 26 | Print("Error creating histogram chart: ",GetLastError()); 27 | return(-1); 28 | } 29 | if(Accumulative) 30 | { 31 | chart.Accumulative(); 32 | chart.VScaleParams(20*k*10,-10*k*10,20); 33 | } 34 | else 35 | chart.VScaleParams(20*k,-10*k,20); 36 | chart.ShowValue(true); 37 | chart.ShowScaleTop(false); 38 | chart.ShowScaleBottom(false); 39 | chart.ShowScaleRight(false); 40 | chart.ShowLegend(); 41 | for(int j=0;j<5;j++) 42 | { 43 | for(int i=0;i<10;i++) 44 | { 45 | k=-k; 46 | if(k>0) 47 | arr[i]=k*(i+10-j); 48 | else 49 | arr[i]=k*(i+10-j)/2; 50 | } 51 | chart.SeriesAdd(arr,"Item"+IntegerToString(j)); 52 | } 53 | //--- play with values 54 | while(!IsStopped()) 55 | { 56 | int i=rand()%5; 57 | int j=rand()%10; 58 | k=rand()%3000-1000; 59 | chart.ValueUpdate(i,j,k); 60 | Sleep(200); 61 | } 62 | //--- finish 63 | chart.Destroy(); 64 | return(0); 65 | } 66 | //+------------------------------------------------------------------+ 67 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/Canvas/Charts/LineChartSample.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/Canvas/Charts/LineChartSample.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/Canvas/Charts/LineChartSample.mq5: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| LineChartSample.mq5 | 3 | //| Copyright 2000-2025, MetaQuotes Ltd. | 4 | //| https://www.mql5.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2000-2025, MetaQuotes Ltd." 7 | #property link "https://www.mql5.com" 8 | #property description "Example of using line chart" 9 | //--- 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| inputs | 13 | //+------------------------------------------------------------------+ 14 | input bool Accumulative=false; 15 | //+------------------------------------------------------------------+ 16 | //| Script program start function | 17 | //+------------------------------------------------------------------+ 18 | int OnStart(void) 19 | { 20 | int k=100; 21 | double arr[10]; 22 | //--- create chart 23 | CLineChart chart; 24 | //--- create chart 25 | if(!chart.CreateBitmapLabel("SampleHistogrammChart",10,10,600,450)) 26 | { 27 | Print("Error creating line chart: ",GetLastError()); 28 | return(-1); 29 | } 30 | if(Accumulative) 31 | { 32 | chart.Accumulative(); 33 | chart.VScaleParams(20*k*10,-10*k*10,20); 34 | } 35 | else 36 | chart.VScaleParams(20*k,-10*k,15); 37 | chart.ShowScaleTop(false); 38 | chart.ShowScaleRight(false); 39 | chart.ShowLegend(); 40 | chart.Filled(); 41 | for(int j=0;j<5;j++) 42 | { 43 | for(int i=0;i<10;i++) 44 | { 45 | k=-k; 46 | if(k>0) 47 | arr[i]=k*(i+10-j); 48 | else 49 | arr[i]=k*(i+10-j)/2; 50 | } 51 | chart.SeriesAdd(arr,"Item"+IntegerToString(j)); 52 | } 53 | //--- play with values 54 | while(!IsStopped()) 55 | { 56 | int i=rand()%5; 57 | int j=rand()%10; 58 | k=rand()%3000-1000; 59 | chart.ValueUpdate(i,j,k); 60 | Sleep(200); 61 | } 62 | //--- finish 63 | chart.Destroy(); 64 | return(0); 65 | } 66 | //+------------------------------------------------------------------+ 67 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/Canvas/Charts/PieChartSample.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/Canvas/Charts/PieChartSample.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/ObjectChart/ObjChartSample.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/ObjectChart/ObjChartSample.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/ObjectSphere/SphereSample.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/ObjectSphere/SphereSample.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/ObjectSphere/SphereSample.mq5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/ObjectSphere/SphereSample.mq5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/OpenCL/Double/BitonicSort.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/OpenCL/Double/BitonicSort.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/OpenCL/Double/FFT.ex5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/Examples/OpenCL/Double/FFT.ex5 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/Examples/OpenCL/Double/Kernels/bitonicsort.cl: -------------------------------------------------------------------------------- 1 | //--- by default some GPU doesn't support doubles 2 | //--- cl_khr_fp64 directive is used to enable work with doubles 3 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 4 | //+-----------------------------------------------------------+ 5 | //| OpenCL kernel | 6 | //| The bitonic sort kernel does an ascending sort. | 7 | //+-----------------------------------------------------------+ 8 | //| R. Banger,K. Bhattacharyya, OpenCL Programming by Example:| 9 | //| A comprehensive guide on OpenCL programming with examples | 10 | //| PACKT Publishing, 2013. | 11 | //+-----------------------------------------------------------+ 12 | __kernel void BitonicSort_GPU(__global double *data,const uint stage,const uint pass) 13 | { 14 | uint id=get_global_id(0); 15 | uint distance = 1<<(stage-pass); 16 | uint left_id =(id &(distance-1)); 17 | left_id+=(id>>(stage-pass))*(distance<<1); 18 | uint right_id=left_id+distance; 19 | double left_value=data[left_id]; 20 | double right_value=data[right_id]; 21 | uint same_direction=(id>>stage)&0x1; 22 | uint temp = same_direction?right_id:temp; 23 | right_id = same_direction?left_id:right_id; 24 | left_id = same_direction?temp:left_id; 25 | int compare_res=(left_value>(stage-pass))*(distance<<1); 15 | uint right_id=left_id+distance; 16 | float left_value=data[left_id]; 17 | float right_value=data[right_id]; 18 | uint same_direction=(id>>stage)&0x1; 19 | uint temp = same_direction?right_id:temp; 20 | right_id = same_direction?left_id:right_id; 21 | left_id = same_direction?temp:left_id; 22 | int compare_res=(left_value 11 | //+------------------------------------------------------------------+ 12 | //| Hello World server in MQL | 13 | //| Binds REP socket to tcp://*:5555 | 14 | //| Expects "Hello" from client, replies with "World" | 15 | //+------------------------------------------------------------------+ 16 | void OnStart() 17 | { 18 | Context context("helloworld"); 19 | Socket socket(context,ZMQ_REP); 20 | 21 | socket.bind("tcp://*:5555"); 22 | 23 | while(!IsStopped()) 24 | { 25 | ZmqMsg request; 26 | 27 | // Wait for next request from client 28 | 29 | // MetaTrader note: this will block the script thread 30 | // and if you try to terminate this script, MetaTrader 31 | // will hang (and crash if you force closing it) 32 | socket.recv(request); 33 | Print("Receive Hello"); 34 | 35 | Sleep(1000); 36 | 37 | ZmqMsg reply("World"); 38 | // Send reply back to client 39 | socket.send(reply); 40 | } 41 | } 42 | //+------------------------------------------------------------------+ 43 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/TaskEvent.mq4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/TaskEvent.mq4 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/TaskSink.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| TaskSink.mq4 | 3 | //| Copyright 2017, Bear Two Technologies Co., Ltd. | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Bear Two Technologies Co., Ltd." 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | 11 | #include 12 | //+------------------------------------------------------------------+ 13 | //| Task sink in MQL (adapted from C++ version) | 14 | //| Binds PULL socket to tcp://localhost:5558 | 15 | //| Collects results from workers via that socket | 16 | //| | 17 | //| Olivier Chamoux | 18 | //+------------------------------------------------------------------+ 19 | void OnStart() 20 | { 21 | //--- 22 | // Prepare our context and socket 23 | Context context; 24 | Socket receiver(context,ZMQ_PULL); 25 | receiver.bind("tcp://*:5558"); 26 | 27 | // Wait for start of batch 28 | ZmqMsg message; 29 | receiver.recv(message); 30 | 31 | // Start our clock now 32 | uint tstart=GetTickCount(); 33 | // Process 100 confirmations 34 | string progress=""; 35 | for(int i=0; i<100; i++) 36 | { 37 | receiver.recv(message); 38 | if((i/10)*10==i) 39 | progress+=":"; 40 | else 41 | progress+="."; 42 | Comment(progress); 43 | } 44 | // Calculate and report duration of batch 45 | uint tend=GetTickCount(); 46 | Print(">>> Total elapsed time: ",tend-tstart," msec"); 47 | } 48 | //+------------------------------------------------------------------+ 49 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/TaskWorker.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| TaskWorker.mq4 | 3 | //| Copyright 2017, Bear Two Technologies Co., Ltd. | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Bear Two Technologies Co., Ltd." 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Task worker in MQL (adapted from C++ version) | 13 | //| Connects PULL socket to tcp://localhost:5557 | 14 | //| Collects workloads from ventilator via that socket | 15 | //| Connects PUSH socket to tcp://localhost:5558 | 16 | //| Sends results to sink via that socket | 17 | //| | 18 | //| Olivier Chamoux | 19 | //+------------------------------------------------------------------+ 20 | void OnStart() 21 | { 22 | //--- Share a single context in the terminal by the key "work" 23 | Context context("work"); 24 | 25 | //--- Socket to receive messages on 26 | Socket receiver(context,ZMQ_PULL); 27 | receiver.connect("tcp://localhost:5557"); 28 | 29 | //--- Socket to send messages to 30 | Socket sender(context,ZMQ_PUSH); 31 | sender.connect("tcp://localhost:5558"); 32 | 33 | //--- Process tasks forever 34 | string progress=""; 35 | while(!IsStopped()) 36 | { 37 | ZmqMsg message; 38 | receiver.recv(message); 39 | //--- Workload in msecs 40 | int workload=(int)StringToInteger(message.getData()); 41 | //--- Do the work 42 | Sleep(workload); 43 | //--- Send results to sink 44 | message.rebuild(); 45 | sender.send(message); 46 | 47 | // Simple progress indicator for the viewer 48 | progress+="."; 49 | Comment(progress); 50 | } 51 | } 52 | //+------------------------------------------------------------------+ 53 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/VersionReporting.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| VersionReporting.mq4.mq4 | 3 | //| Copyright 2016, Li Ding | 4 | //| dingmaotu@hotmail.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2016, Li Ding" 7 | #property link "dingmaotu@hotmail.com" 8 | #property version "1.00" 9 | #property strict 10 | 11 | #include 12 | //+------------------------------------------------------------------+ 13 | //| Report 0MQ version | 14 | //+------------------------------------------------------------------+ 15 | void OnStart() 16 | { 17 | Print(Zmq::getVersion()); 18 | } 19 | //+------------------------------------------------------------------+ 20 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/WeatherUpdateClient.mq4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/WeatherUpdateClient.mq4 -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter1/WeatherUpdateServer.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| WeatherUpdateServer.mq4.mq4 | 3 | //| Copyright 2016, Li Ding | 4 | //| dingmaotu@hotmail.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2016, Li Ding" 7 | #property link "dingmaotu@hotmail.com" 8 | #property version "1.00" 9 | #property strict 10 | 11 | #include 12 | 13 | #define within(num) (int) ((float) num * MathRand() / (32767 + 1.0)) 14 | //+------------------------------------------------------------------+ 15 | //| Weather update server in MQL | 16 | //| Binds PUB socket to tcp://*:5556 | 17 | //| Publishes random weather updates | 18 | //+------------------------------------------------------------------+ 19 | void OnStart() 20 | { 21 | //--- Prepare our context and publisher 22 | Context context; 23 | Socket publisher(context,ZMQ_PUB); 24 | publisher.bind("tcp://*:5556"); 25 | 26 | long messages_sent=0; 27 | //--- Initialize random number generator 28 | MathSrand(GetTickCount()); 29 | while(!IsStopped()) 30 | { 31 | int zipcode,temperature,relhumidity; 32 | 33 | // Get values that will fool the boss 34 | 35 | // MetaTrader Note: 36 | // if RAND_MAX < 100000, which is the case for MetaTrader, 37 | // you may never get the required value 38 | // So 30000 might be a good alternative 39 | zipcode=within(30000); 40 | temperature=within(215) - 80; 41 | relhumidity=within(50) + 10; 42 | 43 | // Send message to all subscribers 44 | ZmqMsg message(StringFormat("%05d %d %d",zipcode,temperature,relhumidity)); 45 | publisher.send(message); 46 | messages_sent++; 47 | 48 | if(messages_sent%1000000==0) 49 | { 50 | PrintFormat("Sent %dM messages now.",messages_sent/1000000); 51 | } 52 | } 53 | } 54 | //+------------------------------------------------------------------+ 55 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter2/MSPoller.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| MSPoller.mq4 | 3 | //| Copyright 2017, Li Ding | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Li Ding" 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Reading from multiple sockets in MQL (adapted from C++ version) | 13 | //| This version uses zmq_poll() | 14 | //| | 15 | //| Olivier Chamoux | 16 | //+------------------------------------------------------------------+ 17 | void OnStart() 18 | { 19 | //--- 20 | Context context; 21 | 22 | // Connect to task ventilator 23 | Socket receiver(context,ZMQ_PULL); 24 | receiver.connect("tcp://localhost:5557"); 25 | 26 | // Connect to weather server 27 | Socket subscriber(context,ZMQ_SUB); 28 | subscriber.connect("tcp://localhost:5556"); 29 | subscriber.subscribe("10001 "); 30 | 31 | // Initialize poll set 32 | PollItem items[2]; 33 | receiver.fillPollItem(items[0],ZMQ_POLLIN); 34 | subscriber.fillPollItem(items[1],ZMQ_POLLIN); 35 | // Process messages from both sockets 36 | while(!IsStopped()) 37 | { 38 | ZmqMsg message; 39 | //--- MQL Note: To handle Script exit properly, we set a timeout of 500 ms instead of infinite wait 40 | Socket::poll(items,500); 41 | 42 | if(items[0].hasInput()) 43 | { 44 | receiver.recv(message); 45 | // Process task 46 | } 47 | if(items[1].hasInput()) 48 | { 49 | subscriber.recv(message); 50 | // Process weather update 51 | } 52 | } 53 | } 54 | //+------------------------------------------------------------------+ 55 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter2/RRBroker.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| RRBroker.mq4 | 3 | //| Copyright 2017, Li Ding | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Li Ding" 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Simple request-reply broker in MQL (adapted from C++ version) | 13 | //| | 14 | //| Olivier Chamoux | 15 | //+------------------------------------------------------------------+ 16 | void OnStart() 17 | { 18 | // Prepare our context and sockets 19 | Context context; 20 | Socket frontend(context,ZMQ_ROUTER); 21 | Socket backend(context,ZMQ_DEALER); 22 | 23 | frontend.bind("tcp://*:5559"); 24 | backend.bind("tcp://*:5560"); 25 | 26 | // Initialize poll set 27 | PollItem items[2]; 28 | frontend.fillPollItem(items[0],ZMQ_POLLIN); 29 | backend.fillPollItem(items[1],ZMQ_POLLIN); 30 | 31 | // Switch messages between sockets 32 | while(!IsStopped()) 33 | { 34 | ZmqMsg message; 35 | bool more=false; // Multipart detection 36 | 37 | Socket::poll(items,500); 38 | 39 | if(items[0].hasInput()) 40 | { 41 | // Process all parts of the message 42 | do 43 | { 44 | frontend.recv(message); 45 | if(message.more()) backend.sendMore(message); 46 | else backend.send(message); 47 | } 48 | while(more); 49 | } 50 | if(items[1].hasInput()) 51 | { 52 | // Process all parts of the message 53 | do 54 | { 55 | backend.recv(message); 56 | if(message.more()) frontend.sendMore(message); 57 | else frontend.send(message); 58 | } 59 | while(more); 60 | } 61 | } 62 | } 63 | //+------------------------------------------------------------------+ 64 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter2/RRClient.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| RRClient.mq4 | 3 | //| Copyright 2017, Li Ding | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Li Ding" 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Request-reply client in MQL (adapted from C++ version) | 13 | //| Connects REQ socket to tcp://localhost:5559 | 14 | //| Sends "Hello" to server, expects "World" back | 15 | //| | 16 | //| Olivier Chamoux | 17 | //+------------------------------------------------------------------+ 18 | void OnStart() 19 | { 20 | Context context; 21 | 22 | Socket requester(context,ZMQ_REQ); 23 | requester.connect("tcp://localhost:5559"); 24 | 25 | for(int request=0; request<10; request++) 26 | { 27 | ZmqMsg message("Hello"); 28 | requester.send(message); 29 | 30 | ZmqMsg reply; 31 | requester.recv(reply,true); 32 | 33 | Print("Received reply ",reply.getData()); 34 | } 35 | } 36 | //+------------------------------------------------------------------+ 37 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter2/RRWorker.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| RRWorker.mq4 | 3 | //| Copyright 2017, Li Ding | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Li Ding" 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Request-reply service in MQL (adapted from C++ version) | 13 | //| Connects REP socket to tcp://localhost:5560 | 14 | //| Expects "Hello" from client, replies with "World" | 15 | //| | 16 | //| Olivier Chamoux | 17 | //+------------------------------------------------------------------+ 18 | void OnStart() 19 | { 20 | Context context; 21 | 22 | Socket responder(context,ZMQ_REP); 23 | responder.connect("tcp://localhost:5560"); 24 | 25 | while(!IsStopped()) 26 | { 27 | // Wait for next request from client 28 | ZmqMsg req; 29 | responder.recv(req); 30 | Print("Received request: ",req.getData()); 31 | 32 | // Do some 'work' 33 | Sleep(1000); 34 | 35 | ZmqMsg reply("World"); 36 | 37 | // Send reply back to client 38 | responder.send(reply); 39 | } 40 | } 41 | //+------------------------------------------------------------------+ 42 | -------------------------------------------------------------------------------- /Metatrader/MQL5/Scripts/ZeroMQGuideExamples/Chapter2/WUProxy.mq4: -------------------------------------------------------------------------------- 1 | //+------------------------------------------------------------------+ 2 | //| WUProxy.mq4 | 3 | //| Copyright 2017, Li Ding | 4 | //| dingmaotu@126.com | 5 | //+------------------------------------------------------------------+ 6 | #property copyright "Copyright 2017, Li Ding" 7 | #property link "dingmaotu@126.com" 8 | #property version "1.00" 9 | #property strict 10 | #include 11 | //+------------------------------------------------------------------+ 12 | //| Weather proxy device MQL (adapted from C++) | 13 | //| | 14 | //| Olivier Chamoux | 15 | //+------------------------------------------------------------------+ 16 | void OnStart() 17 | { 18 | //--- 19 | Context context; 20 | 21 | // This is where the weather server sits 22 | Socket frontend(context,ZMQ_XSUB); 23 | frontend.connect("tcp://192.168.55.210:5556"); 24 | 25 | // This is our public endpoint for subscribers 26 | Socket backend(context,ZMQ_XPUB); 27 | backend.bind("tcp://10.1.1.0:8100"); 28 | 29 | // Subscribe on everything 30 | frontend.subscribe(""); 31 | 32 | // Shunt messages out to our own subscribers 33 | while(!IsStopped()) 34 | { 35 | // Process all parts of the message 36 | ZmqMsg message; 37 | bool more; 38 | do 39 | { 40 | frontend.recv(message); 41 | if(message.more()) backend.sendMore(message); 42 | else backend.send(message); 43 | } 44 | while(more); 45 | } 46 | } 47 | //+------------------------------------------------------------------+ 48 | -------------------------------------------------------------------------------- /Metatrader/MQL5/experts.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/MQL5/experts.dat -------------------------------------------------------------------------------- /Metatrader/Profiles/deleted/01.chr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Profiles/deleted/01.chr -------------------------------------------------------------------------------- /Metatrader/Profiles/deleted/02.chr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Profiles/deleted/02.chr -------------------------------------------------------------------------------- /Metatrader/Profiles/deleted/03.chr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Profiles/deleted/03.chr -------------------------------------------------------------------------------- /Metatrader/Profiles/deleted/04.chr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Profiles/deleted/04.chr -------------------------------------------------------------------------------- /Metatrader/Profiles/deleted/05.chr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Profiles/deleted/05.chr -------------------------------------------------------------------------------- /Metatrader/Terminal.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/Terminal.ico -------------------------------------------------------------------------------- /Metatrader/logs/20250518.log: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/Metatrader/logs/20250518.log -------------------------------------------------------------------------------- /Metatrader/metaeditor64.exe: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6d35e9ab5907c14c42447727feb36bc66a3d83696699ed30c7039c911ee95cb2 3 | size 60826856 4 | -------------------------------------------------------------------------------- /Metatrader/metatester64.exe: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:77abb66cef5616624cb7ce7d9fa28f887bd1465d2f761a60c5407fa2f88d6d57 3 | size 57954856 4 | -------------------------------------------------------------------------------- /Metatrader/terminal64.exe: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ee0871f4ee8e1439de350d3677b2ecd98953d4bfdcc3b46f87ec699cc2a05baa 3 | size 127725264 4 | -------------------------------------------------------------------------------- /Metatrader/uninstall.exe: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a879492dd9d7b168d0538edd1c0dc5604ca43dc0951825b3501818e8b18f4c93 3 | size 23784536 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![example workflow](https://github.com/ejtraderLabs/Metatrader5-Docker/actions/workflows/docker-image.yml/badge.svg) 2 | 3 | 4 | # vnc-alpine NyO0 5 | 6 | This container provides a [VNC](https://en.wikipedia.org/wiki/Virtual_Network_Computing)-enabled and wine container based on Alpine Linux. 7 | 8 | The container is meant to serve a basis for containerised X11 applications wine . It has the following features: 9 | 10 | - Openbox minimal Window Manager 11 | - Graphical login 12 | - wine64 13 | - pyzmq and zmq 14 | - python3 15 | 16 | Based on Alpine Linux, the container is less than 250 MB in size. Most of this is the X11 window system wine python3 and pyzmq. 17 | # Extra: 18 | 19 | - Metatrader 5 64bit 20 | - ejtraderMT expert adviser datafeed [ejtraderMT](https://github.com/ejtraderLabs/ejtraderMT) 21 | 22 | 23 | 24 | ## Usage 25 | 26 | Metatrader 5 on docker and VNC 27 | 28 | ### VNC LOGIN 29 | 30 | ``` 31 | login: root 32 | password: root 33 | ``` 34 | 35 | run and build image named as ejtradermt and run container named as ejtradermt 36 | 37 | ```bash 38 | make run 39 | ``` 40 | 41 | build image named ejtradermt 42 | 43 | ```bash 44 | make build 45 | ``` 46 | 47 | login to shell 48 | 49 | ```bash 50 | make shell 51 | ``` 52 | -------------------------------------------------------------------------------- /assets/fonts.conf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 11 | /usr/share/fonts 12 | 13 | fonts 14 | 15 | ~/.fonts 16 | 17 | 18 | 19 | 20 | mono 21 | 22 | 23 | monospace 24 | 25 | 26 | 27 | 28 | 29 | 30 | sans serif 31 | 32 | 33 | sans-serif 34 | 35 | 36 | 37 | 38 | 39 | 40 | sans 41 | 42 | 43 | sans-serif 44 | 45 | 46 | 47 | 48 | 49 | true 50 | 51 | 52 | 53 | 54 | conf.d 55 | 56 | 57 | 58 | /var/cache/fontconfig 59 | fontconfig 60 | 61 | ~/.fontconfig 62 | 63 | 64 | 65 | 66 | 30 67 | 68 | 69 | 70 | 71 | sans 72 | Noto Sans 73 | 74 | 75 | monospace 76 | Noto Mono 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/bullet.xbm: -------------------------------------------------------------------------------- 1 | #define bullet_width 7 2 | #define bullet_height 7 3 | static unsigned char bullet_bits[] = { 4 | 0x00, 0x00, 0x1c, 0x3e, 0x1c, 0x00, 0x00 }; 5 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/close.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 12 2 | #define close_height 12 3 | static unsigned char close_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xff, 0x07, 5 | 0xff, 0x07, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/desk.xbm: -------------------------------------------------------------------------------- 1 | #define desk_width 10 2 | #define desk_height 10 3 | static unsigned char desk_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/iconify.xbm: -------------------------------------------------------------------------------- 1 | #define iconify_width 10 2 | #define iconify_height 10 3 | static unsigned char iconify_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/max.xbm: -------------------------------------------------------------------------------- 1 | #define max_width 12 2 | #define max_height 12 3 | static unsigned char max_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f, 5 | 0x80, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/max_toggled.xbm: -------------------------------------------------------------------------------- 1 | #define max_toggled_width 10 2 | #define max_toggled_height 10 3 | static unsigned char max_toggled_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 5 | 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc-dark/openbox-3/shade.xbm: -------------------------------------------------------------------------------- 1 | #define shade_width 10 2 | #define shade_height 10 3 | static unsigned char shade_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/bullet.xbm: -------------------------------------------------------------------------------- 1 | #define bullet_width 7 2 | #define bullet_height 7 3 | static unsigned char bullet_bits[] = { 4 | 0x00, 0x00, 0x1c, 0x3e, 0x1c, 0x00, 0x00 }; 5 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/close.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 12 2 | #define close_height 12 3 | static unsigned char close_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xff, 0x07, 5 | 0xff, 0x07, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/desk.xbm: -------------------------------------------------------------------------------- 1 | #define desk_width 10 2 | #define desk_height 10 3 | static unsigned char desk_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/iconify.xbm: -------------------------------------------------------------------------------- 1 | #define iconify_width 10 2 | #define iconify_height 10 3 | static unsigned char iconify_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/max.xbm: -------------------------------------------------------------------------------- 1 | #define max_width 12 2 | #define max_height 12 3 | static unsigned char max_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f, 5 | 0x80, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/max_toggled.xbm: -------------------------------------------------------------------------------- 1 | #define max_toggled_width 10 2 | #define max_toggled_height 10 3 | static unsigned char max_toggled_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 5 | 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-arc/openbox-3/shade.xbm: -------------------------------------------------------------------------------- 1 | #define shade_width 10 2 | #define shade_height 10 3 | static unsigned char shade_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/bullet.xbm: -------------------------------------------------------------------------------- 1 | #define bullet_width 7 2 | #define bullet_height 7 3 | static unsigned char bullet_bits[] = { 4 | 0x00, 0x00, 0x1c, 0x3e, 0x1c, 0x00, 0x00 }; 5 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/close-backup.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 10 2 | #define close_height 10 3 | static unsigned char close_bits[] = { 4 | 0x00, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0xfe, 0x01, 0xfe, 0x01, 5 | 0xfe, 0x01, 0xfc, 0x00, 0x78, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/close.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 12 2 | #define close_height 12 3 | static unsigned char close_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xff, 0x07, 5 | 0xff, 0x07, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/desk.xbm: -------------------------------------------------------------------------------- 1 | #define desk_width 10 2 | #define desk_height 10 3 | static unsigned char desk_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/iconify.xbm: -------------------------------------------------------------------------------- 1 | #define iconify_width 10 2 | #define iconify_height 10 3 | static unsigned char iconify_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/max.xbm: -------------------------------------------------------------------------------- 1 | #define max_width 12 2 | #define max_height 12 3 | static unsigned char max_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f, 5 | 0x80, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/max_toggled.xbm: -------------------------------------------------------------------------------- 1 | #define max_toggled_width 10 2 | #define max_toggled_height 10 3 | static unsigned char max_toggled_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 5 | 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-grey/openbox-3/shade.xbm: -------------------------------------------------------------------------------- 1 | #define shade_width 10 2 | #define shade_height 10 3 | static unsigned char shade_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/bullet.xbm: -------------------------------------------------------------------------------- 1 | #define bullet_width 7 2 | #define bullet_height 7 3 | static unsigned char bullet_bits[] = { 4 | 0x00, 0x00, 0x1c, 0x3e, 0x1c, 0x00, 0x00 }; 5 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/close.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 12 2 | #define close_height 12 3 | static unsigned char close_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x03, 0xff, 0x07, 5 | 0xff, 0x07, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/desk.xbm: -------------------------------------------------------------------------------- 1 | #define desk_width 10 2 | #define desk_height 10 3 | static unsigned char desk_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/iconify.xbm: -------------------------------------------------------------------------------- 1 | #define iconify_width 10 2 | #define iconify_height 10 3 | static unsigned char iconify_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/max.xbm: -------------------------------------------------------------------------------- 1 | #define max_width 12 2 | #define max_height 12 3 | static unsigned char max_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x0f, 5 | 0x80, 0x0f, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/max_toggled.xbm: -------------------------------------------------------------------------------- 1 | #define max_toggled_width 10 2 | #define max_toggled_height 10 3 | static unsigned char max_toggled_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0xe0, 0x03, 5 | 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/mayday-plane/openbox-3/shade.xbm: -------------------------------------------------------------------------------- 1 | #define shade_width 10 2 | #define shade_height 10 3 | static unsigned char shade_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x01, 0xff, 0x03, 0xff, 0x03, 5 | 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/bullet.xbm: -------------------------------------------------------------------------------- 1 | #define bullet_width 10 2 | #define bullet_height 10 3 | static unsigned char bullet_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 6 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/close.xbm: -------------------------------------------------------------------------------- 1 | #define close_width 14 2 | #define close_height 14 3 | static unsigned char close_bits[] = { 4 | 0xe0, 0x01, 0xf8, 0x07, 0xfc, 0x0f, 0xfe, 0x1f, 0xce, 0x1c, 0x0f, 0x3c, 5 | 0x1f, 0x3e, 0x1f, 0x3e, 0x0f, 0x3c, 0xce, 0x1c, 0xfe, 0x1f, 0xfc, 0x0f, 6 | 0xf8, 0x07, 0xe0, 0x01 }; 7 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/desk.xbm: -------------------------------------------------------------------------------- 1 | #define desk_width 14 2 | #define desk_height 14 3 | static unsigned char desk_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 5 | 0xf8, 0x07, 0xf8, 0x07, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00, 6 | 0x00, 0x00, 0x00, 0x00 }; 7 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/iconify.xbm: -------------------------------------------------------------------------------- 1 | #define iconify_width 14 2 | #define iconify_height 14 3 | static unsigned char iconify_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x03, 0xf0, 0x03, 0x00, 0x00, 6 | 0x00, 0x00, 0x00, 0x00 }; 7 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/max.xbm: -------------------------------------------------------------------------------- 1 | #define max_width 14 2 | #define max_height 14 3 | static unsigned char max_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x80, 0x03, 5 | 0x10, 0x03, 0x30, 0x02, 0x70, 0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 6 | 0x00, 0x00, 0x00, 0x00 }; 7 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/shade.xbm: -------------------------------------------------------------------------------- 1 | #define shade_width 14 2 | #define shade_height 14 3 | static unsigned char shade_bits[] = { 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xe0, 0x01, 5 | 0xf0, 0x03, 0xf8, 0x07, 0x00, 0x00, 0xf8, 0x07, 0xf8, 0x07, 0x00, 0x00, 6 | 0x00, 0x00, 0x00, 0x00 }; 7 | -------------------------------------------------------------------------------- /assets/openbox/mayday/thesis/openbox-3/themerc: -------------------------------------------------------------------------------- 1 | # Decorator 2 | window.active.title.bg.color: #2f343f 3 | window.inactive.title.bg.color: #2f343f 4 | window.*.label.text.color: #d8dee8 5 | window.*.button.*.image.color: #d8dee8 6 | 7 | # Borders 8 | window.handle.width: 0 9 | window.client.padding.width: 0 10 | border.width: 0 11 | 12 | # Title 13 | padding.width: 10 14 | padding.height: 8 15 | window.*.title.bg: Solid Flat 16 | window.*.*.bg: Parentrelative 17 | window.label.text.justify: center 18 | 19 | # Menu 20 | menu.border.width: 6 21 | menu.separator.width: 2 22 | menu.separator.padding.width: 10 23 | menu.separator.padding.height: 2 24 | menu.overlap.x: -8 25 | menu.*.bg: flat solid 26 | menu.*.bg.color: #2f343f 27 | menu.*.color: #2f343f 28 | menu.title.text.color: #ffffff 29 | menu.items.text.color: #d8dee8 30 | menu.items.active.disabled.text.color: #707070 31 | menu.items.active.text.color: #d8dee8 32 | menu.title.text.justify: center 33 | menu.items.active.bg.color: #5294e2 34 | 35 | # OSD 36 | osd.border.width: 1 37 | osd.border.color: #2f343f 38 | osd.bg: flat solid 39 | osd.bg.color: #2f343f 40 | osd.label.bg: flat solid 41 | osd.label.bg.color: #2f343f 42 | osd.hilight.bg: flat solid 43 | osd.hilight.bg.color: #ef6b7b 44 | 45 | # Colour Trick 46 | window.active.button.close.unpressed.image.color: #ef6b7b 47 | window.inactive.button.close.unpressed.image.color: #bf616a 48 | -------------------------------------------------------------------------------- /assets/openbox/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | /usr/bin/st 12 | 13 | 14 | 15 | 16 | 17 | yes 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /assets/slim/alpinelinux/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/assets/slim/alpinelinux/background.png -------------------------------------------------------------------------------- /assets/slim/alpinelinux/panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/assets/slim/alpinelinux/panel.png -------------------------------------------------------------------------------- /assets/slim/alpinelinux/slim.theme: -------------------------------------------------------------------------------- 1 | 2 | # Messages 3 | msg_color #FFFFFF 4 | msg_font Sans:size=16:bold 5 | msg_shadow_xoffset 1 6 | msg_shadow_yoffset 1 7 | msg_shadow_color #aaaaaa 8 | 9 | # Screen background style. Valid values: stretch, tile 10 | background_style stretch 11 | 12 | # Input controls 13 | input_panel_x 50% 14 | input_panel_y 50% 15 | input_name_x 160 16 | input_name_y 107 17 | input_pass_x 160 18 | input_pass_y 163 19 | 20 | input_font Sans:size=12 21 | input_color #000000 22 | input_bgcolor #000000 23 | input_fgcolor #ffffff 24 | 25 | # Welcome message 26 | welcome_font Sans:size=20:bold 27 | welcome_color #ffffff 28 | welcome_x 33 29 | welcome_y 55 30 | welcome_msg %host login: 31 | welcome_shadow_xoffset 2 32 | welcome_shadow_yoffset 2 33 | welcome_shadow_color #333333 34 | 35 | 36 | username_msg username: 37 | username_font Sans:size=14:bold 38 | username_color #f5f4fd 39 | username_x 35 40 | username_y 110 41 | 42 | password_msg password: 43 | password_color #f5f4fd 44 | password_x 35 45 | password_y 165 46 | -------------------------------------------------------------------------------- /assets/start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | winecfg 3 | WINEPREFIX=/root/.wine 4 | WINEARCH=win64 -------------------------------------------------------------------------------- /assets/supervisord.conf: -------------------------------------------------------------------------------- 1 | [supervisord] 2 | nodaemon=true 3 | user=root 4 | 5 | [program:slim] 6 | command=slim 7 | autorestart=true 8 | priority=100 9 | 10 | [program:x11vnc] 11 | command=/root/x11vnc-session.sh 12 | autorestart=true 13 | priority=200 14 | 15 | [program:dbus] 16 | command=/usr/bin/dbus-daemon --system --nofork 17 | user=root 18 | autorestart=true 19 | priority=300 20 | 21 | [program:envstart] 22 | command=/root/start.sh 23 | autorestart=true 24 | priority=400 25 | 26 | [unix_http_server] 27 | file = /tmp/supervisor.sock 28 | chmod = 0777 29 | chown= nobody:nogroup 30 | username = $USER 31 | password = $PASSWORD 32 | 33 | [supervisorctl] 34 | serverurl = unix:///tmp/supervisor.sock 35 | username = $USER 36 | password = $PASSWORD 37 | prompt = supervisor 38 | 39 | 40 | [program:metatrader] 41 | command=/usr/bin/wine /root/Metatrader/terminal64.exe /portable 42 | autorestart=true 43 | stdout_logfile=/dev/fd/1 44 | stdout_logfile_maxbytes=0 45 | redirect_stderr=true 46 | 47 | 48 | 49 | 50 | [rpcinterface:supervisor] 51 | supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface 52 | -------------------------------------------------------------------------------- /assets/x11vnc-session.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | /usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -repeat -nopw -wait 5 -permitfiletransfer -tightfilexfer -auth /var/run/slim.auth 3 | #/usr/bin/supervisorctl restart slim 4 | 5 | 6 | -------------------------------------------------------------------------------- /assets/xinit/Xresources: -------------------------------------------------------------------------------- 1 | *foreground: #00cc00 2 | *foreground_bold: #a8a19f 3 | *cursor: #a8a19f 4 | *background: #1b1918 5 | !!*background: rgba(0, 0, 0, .7) 6 | 7 | !! black 8 | *color0: #1b1918 9 | *color8: #766e6b 10 | !! red 11 | *color1: #f22c40 12 | *color9: #f22c40 13 | !! green 14 | *color2: #5ab738 15 | *color10: #5ab738 16 | !! yellow 17 | *color3: #d5911a 18 | *color11: #d5911a 19 | !! blue 20 | *color4: #407ee7 21 | *color12: #407ee7 22 | !! magenta 23 | *color5: #6666ea 24 | *color13: #6666ea 25 | !! cyan 26 | *color6: #00ad9c 27 | *color14: #00ad9c 28 | !! white 29 | *color7: #a8a19f 30 | *color15: #f1efee 31 | 32 | URxvt.intensityStyles: false 33 | URxvt.background: [90]#000000 34 | URxvt.depth: 32 35 | URxvt.font: xft:monospace:size=12 36 | URxvt.scrollBar: false 37 | URxvt.cursorColor: white 38 | 39 | !! Extensions 40 | URxvt.perl-ext-common: default,matcher,resize-font,url-select,keyboard-select 41 | URxvt.colorUL: #4682B4 42 | 43 | !! url-select 44 | URxvt.keysym.M-u: perl:url-select:select_next 45 | URxvt.url-select.launcher: webview 46 | URxvt.url-select.underline: true 47 | 48 | !! keyboard-select: 49 | URxvt.keysym.M-Escape: perl:keyboard-select:activate 50 | 51 | !! resize-font 52 | URxvt.resize-font.smaller: C-Down 53 | URxvt.resize-font.bigger: C-Up 54 | 55 | !! Standard selection using clipboard 56 | URxvt.keysym.Shift-Control-V: eval:paste_clipboard 57 | URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard 58 | URxvt*iso14755: False 59 | 60 | !! Matcher 61 | URxvt.url-launcher: webview 62 | URxvt.matcher.button: 1 63 | 64 | rofi.color-enabled: true 65 | rofi.color-window: #000, #000, #000 66 | rofi.color-normal: #111, #819396, #222, #008ed4, #ffffff 67 | rofi.color-active: #002b37, #008ed4, #003643, #008ed4, #66c6ff 68 | rofi.color-urgent: #002b37, #da4281, #003643, #008ed4, #890661 69 | 70 | rofi.fake-transparency: true 71 | rofi.lines: 3 72 | rofi.bw: 0 73 | rofi.opacity: "10" 74 | rofi.hide-scrollbar: true 75 | rofi.width: 30 76 | -------------------------------------------------------------------------------- /assets/xinit/xinitrc.d/00-terminal-prompt: -------------------------------------------------------------------------------- 1 | export PS1="\e[33m\u:\e[31m\W\e[33m>\e[0m " 2 | -------------------------------------------------------------------------------- /assets/xorg.conf: -------------------------------------------------------------------------------- 1 | Section "Device" 2 | Identifier "Dummy" 3 | Driver "dummy" 4 | VideoRam 256000 5 | Option "IgnoreEDID" "true" 6 | Option "NoDDC" "true" 7 | EndSection 8 | 9 | Section "Module" 10 | Load "dbe" 11 | Load "extmod" 12 | Load "freetype" 13 | Load "glx" 14 | EndSection 15 | 16 | Section "Monitor" 17 | Identifier "Monitor" 18 | HorizSync 15.0-100.0 19 | VertRefresh 15.0-200.0 20 | Option "DPMS" 21 | EndSection 22 | 23 | Section "Screen" 24 | Identifier "Screen" 25 | Monitor "Monitor" 26 | Device "Dummy" 27 | DefaultDepth 24 28 | SubSection "Display" 29 | Depth 24 30 | Modes "1920x1080" "1280x1024" 31 | EndSubSection 32 | EndSection 33 | -------------------------------------------------------------------------------- /assets/xorg.conf.d/00-nopo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ejtraderLabs/Metatrader5-Docker/e598b9ca993841fc52b0d737fb9780c36db5d62a/assets/xorg.conf.d/00-nopo -------------------------------------------------------------------------------- /cloudbuild.yaml: -------------------------------------------------------------------------------- 1 | steps: 2 | - name: 'gcr.io/cloud-builders/docker' 3 | args: ['build', '-t', 'gcr.io/$PROJECT_ID/metatrader5:latest', '.'] 4 | images: 5 | - 'gcr.io/$PROJECT_ID/metatrader5:latest' 6 | options: 7 | default_logs_bucket_behavior: REGIONAL_USER_OWNED_BUCKET # Use this for user-owned logs 8 | --------------------------------------------------------------------------------