From 16ebdc4ef4c3db51969b980fbe92fc76c60f3726 Mon Sep 17 00:00:00 2001 From: Adrian Kierzkowski Date: Fri, 24 Feb 2023 15:10:08 +0100 Subject: [PATCH] Fixing MQL4 errors. --- Candle.struct.h | 14 ++++++++++++++ Storage/ValueStorage.indicator.h | 2 +- Tick/Tick.struct.h | 1 + 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Candle.struct.h b/Candle.struct.h index 1e0123a21..360e5d1da 100644 --- a/Candle.struct.h +++ b/Candle.struct.h @@ -257,7 +257,9 @@ struct CandleOCTOHLC : CandleOHLC { // Virtual destructor. Required because of Emscripted warning, despite structure has no virtual methods: // warning: destructor called on non-final 'CandleOCTOHLC' that has virtual functions but non-virtual // destructor [-Wdelete-non-abstract-non-virtual-dtor] +#ifndef __MQL__ virtual ~CandleOCTOHLC() {} +#endif /** * Initializes candle with a given start time, lenght in seconds, first tick's timestamp and its price. @@ -370,7 +372,11 @@ struct CandleTOHLC : CandleOHLC { /* Method to serialize CandleEntry structure. */ template +#ifdef __MQL__ +SerializerNodeType CandleOHLC::Serialize(Serializer &s) { +#else SerializerNodeType CandleOHLC::Serialize(Serializer &s) { +#endif // s.Pass(THIS_REF, "time", TimeToString(time)); s.Pass(THIS_REF, "open", open, SERIALIZER_FIELD_FLAG_DYNAMIC); s.Pass(THIS_REF, "high", high, SERIALIZER_FIELD_FLAG_DYNAMIC); @@ -381,7 +387,11 @@ SerializerNodeType CandleOHLC::Serialize(Serializer &s) { /* Method to serialize CandleEntry structure. */ template +#ifdef __MQL__ +SerializerNodeType CandleTOHLC::Serialize(Serializer &s) { +#else SerializerNodeType CandleTOHLC::Serialize(Serializer &s) { +#endif s.Pass(THIS_REF, "time", time); s.Pass(THIS_REF, "open", THIS_ATTR open, SERIALIZER_FIELD_FLAG_DYNAMIC); s.Pass(THIS_REF, "high", THIS_ATTR high, SERIALIZER_FIELD_FLAG_DYNAMIC); @@ -392,7 +402,11 @@ SerializerNodeType CandleTOHLC::Serialize(Serializer &s) { /* Method to serialize CandleEntry structure. */ template +#ifdef __MQL__ +SerializerNodeType CandleOCTOHLC::Serialize(Serializer &s) { +#else SerializerNodeType CandleOCTOHLC::Serialize(Serializer &s) { +#endif s.Pass(THIS_REF, "is_complete", is_complete, SERIALIZER_FIELD_FLAG_DYNAMIC); s.Pass(THIS_REF, "open_timestamp_ms", open_timestamp_ms, SERIALIZER_FIELD_FLAG_DYNAMIC); s.Pass(THIS_REF, "close_timestamp_ms", close_timestamp_ms, SERIALIZER_FIELD_FLAG_DYNAMIC); diff --git a/Storage/ValueStorage.indicator.h b/Storage/ValueStorage.indicator.h index e01ecdc42..eb52f8b21 100644 --- a/Storage/ValueStorage.indicator.h +++ b/Storage/ValueStorage.indicator.h @@ -75,4 +75,4 @@ C IndicatorBufferValueStorage::Fetch(int _rel_shift) { IndicatorData* _indi = THIS_ATTR indi_candle.Ptr(); return _indi PTR_DEREF GetValue(mode, THIS_ATTR RealShift(_rel_shift)); } -#endif \ No newline at end of file +#endif diff --git a/Tick/Tick.struct.h b/Tick/Tick.struct.h index 2a4b5df7f..4493d31ce 100644 --- a/Tick/Tick.struct.h +++ b/Tick/Tick.struct.h @@ -31,6 +31,7 @@ // Includes. #include "../DateTime.extern.h" +#include "../Std.h" #ifndef __MQL__ /**