新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1669

 
artem artem #:

我想做什么补充。

1.为了进行开盘交易 检查所有指标条件的对应性(跨越两个慢速(75)(85)的快速(5)和MACD条在同一方向与快速(5)的开盘),只在新蜡烛的开盘价 (每个30分钟蜡烛的第一个刻度) 进行。
  1. 为指标的 "归零 "创造条件比如说 用于快速移动的 (5):如果它比慢速的高 - 那么它是一个买入的信号。如果在那之后,它下降并触及其中之一,或者在慢速移动的(75)和(85 之间--那么来自快速移动指标的信号就像它一样" 归零",并且只要它触及或保持在慢速的之间,就会保持在那个" 零 "位置。如果在那之后 快线向一边 越过两个慢线(包括如果它回到触及慢线之前的那一边)-- 那么它将是这个指标的一个信号 使用MACD,情况类似- 只有 MACD=0才会被认为是 "归零"(例如,如果在第一根蜡烛上,MACD以0.0043开盘,而在第二根蜡烛上以-0.0010 开盘,这意味着第二根蜡烛上 MACD已经" 归零" 并发出了新信号)。然而,有一段时间 快线(5)和MACD应该有点 "平起平坐" - 如果(5)没有改变它相对于慢线的位置,并且MACD在前一根蜡烛上开在错误的区域(没有进场),而在下一根蜡烛上 - 在与快线相同的区域,那么所有的条件已经趋同,应该对订单进行进场。请注意,所有这些应该只在蜡烛的开盘价上进行--只在这一个刻度上进行
  1. 而最后,要让专家顾问等待4个连续的蜡烛开盘

    1. 第1个开盘价--(5)高于(75)和(85)+MACD柱子开在0以上-- 4个确认中的一个
    2.第2根蜡烛的开盘价--(5)超过(75)和(85)+MACD柱子开在0以上-- 4次确认中的2次是
    3.第3根蜡烛的开盘价--(5)超过(75)和(85)+MACD柱子开在0以上-- 4次确认中的3次是
    4.第4根蜡烛的开盘价--(5)超过(75)和(85)+MACD柱在0以上开盘-- 4个确认 的4个-- 在同一根蜡烛(第4根)上开立买入交易
卖出 订单 情况也一样,只是在另一个方向的指标应该打开。有一点很重要-- 如果在第1根蜡烛到第4根蜡烛的任何阶段 指标改变了它们的位置(例如,在第3根开盘的蜡烛上,MACD柱打开时低于0,或者=0)-- 那么一切都会重置,因为在连续第4根蜡烛的开盘时没有检查信号

我使用这些设置--试图做一个指标(红色和蓝色)。

与其他指标相比--它们都有相同的主题

EURUSDH1

 
MakarFX #:

然后找到开盘价min/mac,相加后除以2。如果你买入,在结果中加入点数*点数。

如果卖出,则减去。

马卡尔,如果你能向我更详细地解释:开盘价是多少????

 
EVGENII SHELIPOV #:

马卡尔,如果你能向我更详细地解释:开盘价是多少????

最高和最低订单的开盘价

 
MakarFX #:

最高和最低订单的开盘价

我想知道,订单之间的步骤 "动态 "是否根据波动性而变化?

 
EVGENII SHELIPOV #:

我想知道,订单之间的间距 "动态 "是否因波动性而改变?

我不明白这个问题
 
EVGENII SHELIPOV #:

我想知道,订单之间的间距 "动态 "是否会根据波动率而变化?

还是与此无关?

 
MakarFX #:
我不明白这个问题。

这与计算平均价格相同,但包括地段

 
EVGENII SHELIPOV #:

还是与此无关?

你已经偏离了原来的主题!

你想从盈亏平衡点得到某个 "数字",以便用最大和最小的票据来关闭订单。

因此,你找到这些订单的开盘价,将它们相加并除以2--这将是你应该加减的价格。

 
MakarFX #:

你已经偏离了原来的主题!

你想从盈亏平衡点得到某个 "数字",以便用最大和最小的票据来关闭订单。

因此,你找到这些订单的开盘价,将它们相加,然后除以2,这将是你必须增加或减少点数的价格。

马卡,我知道了。你应该只使用最小和最大手数的权重系数,即你必须根据计算原则和下面描述的原则进行平行计算。我认为这是不合理的。

double   AwerageBuyPrice = 0, AwerageSelPrice = 0;
      if(b >= 2)
         AwerageBuyPrice = NormalizeDouble((BuyPriceMax * BuyPriceMaxLot + BuyPriceMin * BuyPriceMinLot) / (BuyPriceMaxLot + BuyPriceMinLot) + iMinimalProfit * Point(), Digits());
      if(s >= 2)
         AwerageSelPrice = NormalizeDouble((SelPriceMax * SelPriceMaxLot + SelPriceMin * SelPriceMinLot) / (SelPriceMaxLot + SelPriceMinLot) - iMinimalProfit * Point(), Digits());

我的问题很简单:如何指定最小/最大订单在盈亏平衡点后关闭,而不是在货币中的利润,在一定数量的点后

 
EVGENII SHELIPOV #:

是的,Makar,我已经明白了。只有在考虑到最小和最大手数的加权系数的情况下进行计算,即应根据计算原则和下面提到的原则进行平行计算。我认为这是不合理的。

我的问题很简单:代替货币的利润,你可以指定最小/最大订单将在一定数量的点位后的盈亏平衡点关闭

你有一个平均价格函数 "GetAveragePrice()"

做同样的事,但只针对 "max_ticket "和 "min_ticket"。

原因: