[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 189

 

需要知道过去n个条形的最小和最大分形,这里有什么问题吗?请帮助我们!

   for (ii = 0; ii = n; ii++)
      {
         i = iFractals(NULL, 0, MODE_LOWER, ii);
         if (i < StopLos_L) StopLos_L = i;
         i = iFractals(NULL, 0, MODE_UPPER, ii);
         if (i > StopLos_H) StopLos_H = i;
      }

 
solnce600:

我决定采取我认为更简单的路线。

不是删除挂单--而是只在5分钟的蜡烛图还没有结束的时候下挂单

也就是说,只有在满足两个条件的情况下,才可以下挂单。如果满足第一个条件

- 我检查过了,订单已定。

当然,这是因为这个条件永远是真的,根本不可能是假的。它根本不可能是假的,因为它意味着零条根本就存在。

我们应该如何定义第二个条件,即只有在5分钟没有过去的情况下才会设置挂单。如果(---------- && ?????????)

请用文字明确说明条件。目前还不清楚你是想在新的蜡烛 图开始时下挂单还是什么?
 
belozad:

需要知道过去n个条形的最小和最大分形,这里有什么问题吗?请帮助我们!

   for (ii = 0; ii = n; ii++)
      {
         i = iFractals(NULL, 0, MODE_LOWER, ii);
         if (i < StopLos_L) StopLos_L = i;
         i = iFractals(NULL, 0, MODE_UPPER, ii);
         if (i > StopLos_H) StopLos_H = i;
      }



i变量是如何声明的,我们可以看一下吗?
 
alsu:

i变量的声明,我可以看一下吗?


int ii;

double i;

 
belozad:


它应该像这样工作。

   int ii;
   double i;
   double StopLos_L,StopLos_H;

   for (ii = 0; ii <= n; ii++)
      {
         i = iFractals(NULL, 0, MODE_LOWER, ii);
         if (i < StopLos_L || ii==0) StopLos_L = i;
         i = iFractals(NULL, 0, MODE_UPPER, ii);
         if (i > StopLos_H || ii==0) StopLos_H = i;
      } 
 
alsu:

它应该像这样工作。


该死的,这很明显。
ii <=n


alsu - 非常非常感谢 =)

 
artmedia70:
你可以

你能告诉我是否可以在EA中画出所需蜡烛的主体?
我在哪里可以看到如何做到这一点,我真的需要它。
 
beginner:
你能告诉我是否可以在EA中画出所需的蜡烛的主体?
我在哪里可以看到如何做到这一点,我真的需要它。

https://www.mql5.com/ru/code/7835 只是它是一个指标。你必须在EA中使用对象
 
alsu:

当然是这样,因为这个条件永远是真的,根本不可能是假的。因为这意味着零条根本就存在。

请用文字明确说明条件。目前还不清楚,你是想在新的蜡烛图开始时下挂单还是什么?

谢谢你,对不起,我有点糊涂了。 在这种情况下,我不应该下挂单,而应该在Open[0]+30点下市场订单。

但是我们只应该从零蜡烛形成的开始到下一个零蜡烛的形成来设置市场订单。

也就是说,根据我的想法,在5分钟内不设置市价订单,相当于在5分钟内不开立挂单,就会被取消。

我应该怎样写第二个条件?

那我是否正确设置了市价订单的开盘价?

谢谢你。

 int start()

  {
 double Price=Open[0]+300*Point;        
 double SL=Price-300*Point;     
 double TP=Price+150*Point;
 if (Time[0]&& ???????)                         
 int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Price,3,SL,TP );
 
solnce600:

谢谢你,对不起,我有点糊涂了。 在这种情况下,我不应该设置挂单,而应该在Open[0]+30点设置市场订单。

但我们应该只在零烛形成之初到下一个零烛形成之时设置市场订单。

也就是说,根据我的想法,在5分钟内不设置市价订单,相当于在5分钟内不开立挂单,就会被取消。

我应该怎样写第二个条件?

那我是否正确设置了市价订单的开盘价?

谢谢你。


好了,我现在有了。如果当前条形上的价格达到Open[0] + 30,我们就开盘。如果条形图已经结束,Open[0]已经改变,开盘水平也相应地发生了变化。市场上应该只有一种交易,对吗?

然后是这样的。

int start()

{

 double Price=Open[0]+300*Point;        
 double SL=NormalizeDouble (Price-300*Point, Digits);         
 double TP=NormalizeDouble (Price+150*Point, Digits);    
 
 if (OrdesTotal()==0 && Close[0]>=Price)                         
    int Ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,SL,TP );

}

不需要跟踪新的条形图,因为当它形成时,系统会自动给Open[0]添加一个新的值,这意味着新的水平将被正确计算。请注意,"买入 "交易是以当前的"卖出 "价格打开的,而它是以 "买入 "价格关闭(TP和SL)。此外,价格值必须被规范化。