【问题标题】:How to store & get the open,close price from previous closed candle with a certain condition in MQL4 / MT4?在 MQL4 / MT4 中,如何在一定条件下存储和获取先前关闭蜡烛的开盘价、收盘价?
【发布时间】:2021-02-22 14:10:41
【问题描述】:

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

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);
}

【问题讨论】:

  • 不完全清楚你的问题是什么。看起来您的代码 sn-p 准确地描述了您的问题。
  • 如何存储条形数组而不计算条形,因为条件可能出现在随机条形上?通常我看到示例人们通过过滤 i=0 的循环来做到这一点; i
  • 你的意思是想问如何记住一些符合特定条件的柱的 OHLC 参数,然后在稍后的时间,可能的 N 柱之后,能够检查是否确实存在这样的bar 并且它具有记住的 OHLC 参数?
  • 是的,先生,正确,但只有当前柱线[0](当前市场价格买价)会在特定条件下执行前一些柱线的记忆OHLC的交易。-->(如何记忆OHLC适合特定条件的某些条形的参数)
  • 我建议你编辑这个问题,所以它会问这个问题。否则会很混乱。

标签: mql4 trading algorithmic-trading metatrader4 forex


【解决方案1】:

如果您将 highopen 声明为 global scopestatic 变量,然后仅在满足您的条件时为它们分配值,那么在任何未来柱,它们将包含最后一次满足条件的最高价和开盘价。比如你的代码sn-p可以修改如下:

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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 2020-02-23
    相关资源
    最近更新 更多