标签: mt4

如何编写用矩形标记列出的蜡烛图案的mql4代码(EA)

我是编写mql4代码的新手,如果在以下烛台图案出现时能获得一些绘制矩形的帮助,将不胜感激:

图。1:

图片取自https://imgur.com/a/fRoPzsm

Run code snippet

<blockquote class="imgur-embed-pub" lang="en" data-id="a/fRoPzsm"><a href="//imgur.com/a/fRoPzsm">Demand Zone 1</a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

图2:

图片取自https://imgur.com/a/4E8KE1R

Run code snippet

<blockquote class="imgur-embed-pub" lang="en" data-id="a/4E8KE1R" data-context="false"><a href="//imgur.com/a/4E8KE1R">Demand Zone 2</a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

图3:

图片取自https://imgur.com/a/h6D6o6R

Run code snippet

<blockquote class="imgur-embed-pub" lang="en" data-id="a/h6D6o6R"><a href="//imgur.com/a/h6D6o6R">Hidden Demand Zone</a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

和相应的供应区域,
并以指定的点数止损和止盈开立挂单。

请原谅我不直接包含图像。我没有足够的投票赞成这样做。

以下是链接图像中烛台图案的说明:

需求区

candlestick pattern当出现至少两个或多个连续的看涨蜡烛(最后一个看涨蜡烛的高点为该时间段的高点),然后跟随一个或多个看跌蜡烛的高低比最后一个看涨蜡烛的低点时,将发生一般(需求区域) 。然后最后是形成新高的看涨蜡烛。矩形区域是需求区域,从最后一个看跌蜡烛的开盘价到最低价截取。

隐藏需求区

当一系列连续的看涨蜡烛的蜡烛的低位,低于前一根蜡烛以及其高位和其收盘价重合时,隐藏的需求区域将从看涨蜡烛的低位转向开盘。

此处提供针对需求区域和供应区域的完整说明。

我知道,bullishbearish蜡烛可由下式确定


    if ( ( Open[1] - Close[1] ) > 0)
    {
      // candle is bearish
    } …
Run Code Online (Sandbox Code Playgroud)

mt4 metatrader4 mql4

14
推荐指数
1
解决办法
490
查看次数

MQL4 中的异常处理

Java语言中,可以使用try-catch机制。

它是否存在任何类似的行为 MQL4

此代码引发错误'array out of rangeClose[bar]表达式中 ” ,我无法正确处理它。

任何帮助将不胜感激。

bool isBarClosed( int bar ) {
    bool   barClosed  = true;
    double closePrice = Close[bar];
    int    error      = GetLastError();

    if ( error == 4202 ) {
        barClosed = false;
    }   
    return barClosed;
}
Run Code Online (Sandbox Code Playgroud)

algorithmic-trading mt4 metatrader4 mql4

5
推荐指数
1
解决办法
5065
查看次数

如何在 MQL4 中计算(添加)日期时间值?

使用 MQL4 我在处理datetime.

我想做的是datetime按月或按年排列。

目前我就是这样做的。

datetime myDate;

myDate[0] = D'2010.01.01 00:00';
myDate[1] = D'2010.02.01 00:00';
myDate[2] = D'2010.03.01 00:00';
myDate[3] = D'2010.04.01 00:00';
.
.
Run Code Online (Sandbox Code Playgroud)

不过我想像下面这样做

myDate[0] = D'2010.01.01 00:00';
for (int i = 1;i < 6 ;i+=){
    myDate[i] = myDate[i - 1] + 1year;
}
Run Code Online (Sandbox Code Playgroud)

如果是月份,

myDate[0] = D'2010.01.01 00:00';
for (int i = 1; i < 12 ; i++){
    myDate[i] = myDate[i - 1] + 1month
}
Run Code Online (Sandbox Code Playgroud)

问:如何计算加1month1year

algorithmic-trading mt4 metatrader4 mql4

5
推荐指数
1
解决办法
2万
查看次数

如何创建 C++ DLL(使用 DEV -C++)并在 MT4 脚本中使用(一步一步)

I am trying to create my own DLL with DEV-C++ IDE tool and trying to use it inside MT4 script. I tried to study the example file [MT4_HOME]\MQL4\Scripts\Examples\DLL\DLLSample.cpp available in any MT4 installation and I tried to follow the same logic with other script but without sucess. Below I am describing in great details steps i followed just to be clear. I would like to understand why following the described steps my own dll doesn't work.


System configuration

  1. Laptop with …

c++ dll mt4

5
推荐指数
1
解决办法
3298
查看次数

在 OnTick() 中强制停止 EA

我正在为 backTest 制作一个 EA。

通常程序是这样工作的。

  1. Ontick() 被调用直到某个时间段结束。
  2. OnDeinit() OnTester() 叫做。

但是现在我想停下来OnTick()并转到2)。

像这样,

void OnTick()
{
    if (cnt > 100) {OnTick();OnTester();//Finish program here}
}
Run Code Online (Sandbox Code Playgroud)

我想我可以停止OnInit()(检查用户的初始设置等...)但是我可以停止 EA 吗OnTick()???

总之,我想做的是,

OnTester()从内部调用OnTick()并完成程序。

mt4 mql4

4
推荐指数
1
解决办法
2551
查看次数

如何从 MQL4 中的函数返回数组?

我想从我的函数返回一个数组,我该怎么做?
看!

int GetOrdresVente(){
    int ordrevente;
    int Tabordresvente[];
    for(int j = OrdersTotal() - 1; j >= 0 ; j--){
        if(OrderSelect( j, SELECT_BY_POS ) == true){
            if(OrderSymbol() == Symbol()){
                if(OrderType() == OP_SELL ){
                    ordrevente = OrderTicket();
                    ArrayResize( Tabordresvente, ArraySize( Tabordresvente ) + 1);
                    Tabordresvente[ArrayResize( Tabordresvente, ArraySize( Tabordresvente ) - 1 )] = ordrevente;
                }
            }
        }
    }
    return Tabordresvente;
}
Run Code Online (Sandbox Code Playgroud)

感谢您的回复!

arrays trading algorithmic-trading mt4 mql4

3
推荐指数
1
解决办法
5483
查看次数

如何在 Expert Advisor (EA) 中包含斐波那契水平?

我想在我的专家顾问 (EA) 中访问各种斐波那契水平,例如 23.6%、38.2%、50%、61.8% 和 100%。我如何在我的 EA 中定义这些,以便交易者可以通过输入选择它们?

我试过这个

input double Fibo=23.6;
Run Code Online (Sandbox Code Playgroud)

然而,这是常见的方法吗?是否可以将它们设置为预定义的?

感谢您的帮助!

mt4 metatrader4 metatrader5 mql4 mql5

2
推荐指数
1
解决办法
5734
查看次数

标签 统计

mt4 ×7

mql4 ×6

metatrader4 ×4

algorithmic-trading ×3

arrays ×1

c++ ×1

dll ×1

metatrader5 ×1

mql5 ×1

trading ×1