mql5语言的特点、微妙之处以及技巧 - 页 63 1...565758596061626364656667686970...247 新评论 Pavel Verveyko 2018.01.03 16:27 #621 请教一下,4有这样的功能,如何在MQL5中实现它?设置标志以隐藏 专家顾问所调用的指标。void HideTestIndicators ( bool hide // флаг ); Konstantin Nikitin 2018.01.03 17:02 #622 fxsaber:这需要一个 "分接 "EA并联运行,即需要一个辅助图表。例子中的情况有些不同:有一个图表,一些EA已经在上面运行。而我们希望有时通过指标传递OrderSend而不打开新的指标。当然,在没有DLL的情况下,这样的图表是可以通过的。为此,我在猫头鹰的接单可能性面板上找到了角落,有时我在手动模式下投放订单,但它们会随着猫头鹰的接单而去。 fxsaber 2018.01.03 18:45 #623 康斯坦丁-尼基丁。我已经增加了在猫头鹰中下单的可能性,有时我在手动模式下单,但它们会按照猫头鹰的方式进行。最初,当指标本身在OBJ_CHART 上运行Order-script时,这是一个技巧。 fxsaber 2018.01.08 06:29 #624 后缀运算符(运算符++和运算符--)被定义为 关于交易、自动交易系统和测试交易策略的论坛 需要帮助来发现一些轻微的错误。 whroeder1, 2014.07.07 11:37前缀运算符++ 后缀运算符++ RaRev* RaRev::operator++(void){ // prefix RaRev RaRev::operator++(int){ // postfix Alexey Volchanskiy 2018.01.08 08:48 #625 帕维尔-韦尔维科。 请指示,在4中有这样的功能,但如何在MQL5中实现它?设置标志以隐藏专家顾问所调用的指标。这就是它的样子,请看帮助。MQL5参考指南 / 自定义指标 / 示例中的指标样式 / DRAW_NONE fxsaber 2018.01.09 10:20 #626 对于MQL4的专家来说,有一种古老的方法可以在MQL5中使用TF,以通常的方式工作 关于交易、自动交易系统和测试交易策略的论坛 测试 "CopyTicks"。 fxsaber, 2016.10.19 07:59 // Позволяет, как в MT4, работать с таймсериями: Open[Pos], High[Pos], Low[Pos], Close[Pos], Time[Pos], Volume[Pos].// А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume.#define DEFINE_TIMESERIE(NAME,FUNC,T) \ class CLASS##NAME \ { \ public: \ static T Get( const string Symb, const int TimeFrame, const int iShift ) \ { \ T tValue[]; \ \ return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \ } \ \ T operator []( const int iPos ) const \ { \ return(CLASS##NAME::Get(_Symbol, _Period, iPos)); \ } \ }; \ \ CLASS##NAME NAME; \ \ T i##NAME( const string Symb, const int TimeFrame, const int iShift ) \ { \ return(CLASS##NAME::Get(Symb, TimeFrame, iShift)); \ } DEFINE_TIMESERIE(Volume, TickVolume, long) DEFINE_TIMESERIE(Time, Time, datetime) DEFINE_TIMESERIE(Open, Open, double) DEFINE_TIMESERIE(High, High, double) DEFINE_TIMESERIE(Low, Low, double) DEFINE_TIMESERIE(Close, Close, double)也许有人会发现MQL4的方法在处理tick历史方面也很有用// Позволяет работать с тиковой историей в MQL4-стиле struct TICK_HISTORY { const string Symb; TICK_HISTORY( const string sSymb = NULL ) : Symb(sSymb) { } const MqlTick operator []( const int Pos ) const { static const MqlTick NullTick = {0}; static MqlTick Ticks[]; return((::CopyTicks(this.Symb, Ticks, COPY_TICKS_INFO, 0, Pos + 1) > Pos) ? Ticks[::ArraySize(Ticks) - Pos - 1] : NullTick); } }; const TICK_HISTORY Tick;应用if (Tick[0].bid > Tick[100].bid) // сравниваем текущий и исторический тики Print("Hello World!"); if (High[0] > Close[100]) // https://www.mql5.com/ru/forum/42122/page24#comment_2904023 Print("Hello World!"); 初学者的问题 MQL5 MT5 MetaTrader 测试 "CopyTicks"。 Questions from Beginners MQL5 Pavel Verveyko 2018.01.10 02:43 #627 阿列克谢-沃尔昌斯基。 似乎是这样的,请看帮助。MQL5参考指南 / 自定义指标 / 示例中的指标样式 / DRAW_NONE 非常感谢,我将尝试,SD说IndicatorRelease应该这样做 Konstantin 2018.01.11 06:58 #628 谁遇到过,在结构中排列字段的正确方式是什么,在排列方面。struct A { uchar arr[20]; // тут поля заполнители double val; }; struct B { double val; // тут поля заполнители uchar arr[20]; }; 结构中的对齐方式应该是从上到下,但我们有一个内存分配为20个元素的数组,所以方式A似乎是正确的方式。 Denis Kirichenko 2018.01.11 08:39 #629 fxsaber: 对于MQL4的专家来说,在MQL5中,有一种古老的方法来处理TF的问题// Позволяет, как в MT4, работать с таймсериями: Open[Pos], High[Pos], Low[Pos], Close[Pos], Time[Pos], Volume[Pos]. // А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume. #define DEFINE_TIMESERIE(NAME,FUNC,T) \ class CLASS##NAME \ { \ public: \ static T Get( const string Symb, const int TimeFrame, const int iShift ) \ { \ T tValue[]; \ \ return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \ } \ \ T operator []( const int iPos ) const \ { \ return(CLASS##NAME::Get(_Symbol, _Period, iPos)); \ } \ }; \ \ CLASS##NAME NAME; \ \ T i##NAME( const string Symb, const int TimeFrame, const int iShift ) \ { \ return(CLASS##NAME::Get(Symb, TimeFrame, iShift)); \ } DEFINE_TIMESERIE(Volume, TickVolume, long) DEFINE_TIMESERIE(Time, Time, datetime) DEFINE_TIMESERIE(Open, Open, double) DEFINE_TIMESERIE(High, High, double) DEFINE_TIMESERIE(Low, Low, double) DEFINE_TIMESERIE(Close, Close, double)应用...把整个班级放到一个宏里的好方法。太糟糕了,你不能在调试器中使用这样的类 :-() Koldun Zloy 2018.01.11 16:56 #630 康斯坦丁。遇到过如何在结构中定位字段的人,在对齐方面。 结构中的对齐方式应该是从上到下,但我们有一个数组,分配的内存不足20个元素,所以方式A是有点正确的如果你指的是MQL,则没有对准。如果你指的是C++,结构B会更好。但在任何情况下,C++的对齐方式都取决于程序员。 1...565758596061626364656667686970...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
设置标志以隐藏 专家顾问所调用的指标。
这需要一个 "分接 "EA并联运行,即需要一个辅助图表。
例子中的情况有些不同:有一个图表,一些EA已经在上面运行。而我们希望有时通过指标传递OrderSend而不打开新的指标。
当然,在没有DLL的情况下,这样的图表是可以通过的。
为此,我在猫头鹰的接单可能性面板上找到了角落,有时我在手动模式下投放订单,但它们会随着猫头鹰的接单而去。
我已经增加了在猫头鹰中下单的可能性,有时我在手动模式下单,但它们会按照猫头鹰的方式进行。
最初,当指标本身在OBJ_CHART 上运行Order-script时,这是一个技巧。
后缀运算符(运算符++和运算符--)被定义为
关于交易、自动交易系统和测试交易策略的论坛
需要帮助来发现一些轻微的错误。
whroeder1, 2014.07.07 11:37
请指示,在4中有这样的功能,但如何在MQL5中实现它?
设置标志以隐藏专家顾问所调用的指标。
这就是它的样子,请看帮助。
关于交易、自动交易系统和测试交易策略的论坛
测试 "CopyTicks"。
fxsaber, 2016.10.19 07:59
// А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume.
#define DEFINE_TIMESERIE(NAME,FUNC,T) \
class CLASS##NAME \
{ \
public: \
static T Get( const string Symb, const int TimeFrame, const int iShift ) \
{ \
T tValue[]; \
\
return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \
} \
\
T operator []( const int iPos ) const \
{ \
return(CLASS##NAME::Get(_Symbol, _Period, iPos)); \
} \
}; \
\
CLASS##NAME NAME; \
\
T i##NAME( const string Symb, const int TimeFrame, const int iShift ) \
{ \
return(CLASS##NAME::Get(Symb, TimeFrame, iShift)); \
}
DEFINE_TIMESERIE(Volume, TickVolume, long)
DEFINE_TIMESERIE(Time, Time, datetime)
DEFINE_TIMESERIE(Open, Open, double)
DEFINE_TIMESERIE(High, High, double)
DEFINE_TIMESERIE(Low, Low, double)
DEFINE_TIMESERIE(Close, Close, double)
也许有人会发现MQL4的方法在处理tick历史方面也很有用
应用
似乎是这样的,请看帮助。
非常感谢,我将尝试,SD说IndicatorRelease应该这样做
谁遇到过,在结构中排列字段的正确方式是什么,在排列方面。
结构中的对齐方式应该是从上到下,但我们有一个内存分配为20个元素的数组,所以方式A似乎是正确的方式。对于MQL4的专家来说,在MQL5中,有一种古老的方法来处理TF的问题
应用...
把整个班级放到一个宏里的好方法。太糟糕了,你不能在调试器中使用这样的类 :-()
遇到过如何在结构中定位字段的人,在对齐方面。
结构中的对齐方式应该是从上到下,但我们有一个数组,分配的内存不足20个元素,所以方式A是有点正确的如果你指的是MQL,则没有对准。
如果你指的是C++,结构B会更好。
但在任何情况下,C++的对齐方式都取决于程序员。