如何在MQL4 / MT4中以一定条件存储和获取先前具有一定条件的蜡烛的开盘价,收盘价?

时间:2020-11-10 15:56:19

标签: mql4 trading algorithmic-trading metatrader4 forex

Pullback area

嗨,我如何存储和获取前一个封闭蜡烛的高价和开盘价的价值,因为该价格会在每个前一个封闭蜡烛的价格上不断变化?想法是当条件真正存储“打开”和“高”的值时,从某个条件获得“高”和“打开”。 技术术语称为回撤区域。

double high=0,open=0,
AskPrice=MarketInfo(OrderSymbol(),MODE_ASK),
BidPrice=MarketInfo(OrderSymbol(),MODE_BID);

bool sellcondition = Open[1] > Close[1] && High[1] > Open[1] && Close[1] > Low[1];

if( sellcondition )
{
  open=Open[1];
  high=High[1];
}

if(Bid > open && Bid < high)
{
  OrderSend(Symbol(),OP_SELL,0.01,BidPrice,3,0, 0,"",0,0,clrRed);
}

1 个答案:

答案 0 :(得分:0)

如果您将highopen声明为全局范围静态变量,然后仅在条件满足时才为其分配值满足,则在任何将来的柱上,它们将包含上次满足条件的“高”和“开盘”值。例如,您的代码段可以进行如下修改:

static double high=0,open=0,
AskPrice=MarketInfo(OrderSymbol(),MODE_ASK),
BidPrice=MarketInfo(OrderSymbol(),MODE_BID);

bool sellcondition = Open[1] > Close[1] && High[1] > Open[1] && Close[1] > Low[1];

if( sellcondition )
{
  open=Open[1];
  high=High[1];
}

if(Bid > open && Bid < high)
{
  OrderSend(Symbol(),OP_SELL,0.01,BidPrice,3,0, 0,"",0,0,clrRed);
}