[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 947

 

伙计们,请提供建议,我在实施TrailingStop....(试图编写一个EA)时遇到困难。

我使用的是带有追踪止损功能的Alpari MT4平台(即我可以设置18点的追踪止损)。澄清的问题是,在开立订单时,是否可以使用平台功能(例如,以编程方式放入TrailingStop tick)?

 
001:

它似乎在工作,但由于某些原因,它打开了两个相反的位置。


因此,你对某些事情感到困惑--这些是我的 "雪崩 "代码的剪报--为你做了些许改动。对我来说,一切工作都很顺利。另外看一下这里(类似的片段)--一切工作正常,看看你的错误,它很好...... 这是Avalanche的基本版本--这里都有详细介绍--为你自己(因为你需要),我相信特别

重做并不困难,有一个类似的片段...

附加的文件:
av02.mq4  17 kb
 
artmedia70:
这个逻辑就像2x2一样简单。
1. 首先 你要确定前一个姿势在脚上是封闭的
2.然后检查是否有 已经打开的相反位置
然后,在你确定它还没有出现 后--你打开它(在停止时关闭的相反位置)。

这里有一个小小的遗漏。当相反的位置打开,然后在停止或采取关闭,打开的条件将再次出现。而我需要一个时间。
 

我得到的数据对吗?我问这个问题是因为它不起作用。编译过程中没有错误。这就是为什么我认为这个逻辑有问题。看看吧。

图中只显示了两根钢筋,尽管还有更多。

FX鱼指标。我需要买入信号--在第一个柱状图上,柱状图高于买入水平,第一个柱状图上的柱状图高于第二个柱状图。

卖出时 - 在第一个柱状图上,柱状图低于卖出水平,并且第一个柱状图低于第二个柱状图的柱状图。

我的代码是这样写的

      double fx_fishUp1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,1);
      double fx_fishUp2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,2);
      double fx_fishDn1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,1);
      double fx_fishDn2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,2);
      
      if(fx_fishUp1-UpLevel>0 && fx_fishUp1-fx_fishUp2>0){fx_fUp=true; fx_fDown=false;}
      if(DnLevel-fx_fishDn1<0 && fx_fishDn2-fx_fishDn1<0){fx_fDown=true; fx_fDown=false;}


      if(fx_fUp) res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);    
        
      if(fx_fDown) res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
                 
附加的文件:
fxdfish.mq4  5 kb
 
还有一个问题。我附上了FX鱼的文件。它在指标文件夹里有相同的名字,但在我附上后,出现了新的名字FXdFish.mq4。
 
Roman.:


所以你对一些事情感到困惑--这些是我的 "雪崩 "代码的剪报--给你做了小的修改。对我来说,这一切都很正常。额外看一下这里(类似的片段)--一切工作正常,寻找你的错误,一切都很好......。这是雪崩的基本版本--这里的一切都很详细--对于你自己(如你需要),我相信,一个特殊的

难以重塑,这样的片段是存在的......


这是我得到的东西。我删除了。

1.lot = NormalizeLots(lot); 放一个固定的0.1

2.我修复了如果(lastType == OP_SELL)OrderSend(Symbol(), OP_BUY, lots,...); 因为我先测试长线。

这就是全部。

附加的文件:
2.mq4  3 kb
 
001:

这里有一个小小的遗漏。当相反的姿势打开,然后在停止或采取时关闭,将有条件再次打开。而我需要一个时间。


写下正常的开放条件,一个时间意味着什么--每天,每秒,在一般的交易中。

制定正常的开仓条件,并写下,例如--输入一个时间限制,比方说,如果在一天内已经有一个订单被打开,那么随后的订单将不会打开--这是每天交易一次--EA的时间限制--已经在这个主题中发布,使用搜索,例如制定以下代码的开仓条件,即如果在这个时间范围已经交易,那么随后的订单将不会打开,等等。具体制定你需要的东西,而不是不可理解的 "一次",这一次是一生中的一次?制定正常的交易条款,而不是把你的脑子搞坏。更不用说网站了--这个线程已经有了这一切......

2. Подскажите, пожалуйста, как сделать, чтобы советник прекращал торговать в 21 ч00 мин и потом начинал только в 01 ч00 мин следующего дня. 

int start()
  { 

   if (Hour()>20 && Hour<2) return(0);

.....

  }
 
Roman.:


写下正常的开放条件,一个时间意味着什么--每天,每秒,在一般的交易中。

制定正常的开仓条件,并写下,例如--输入一个时间限制,比方说,如果在一天内已经有一个订单被打开,那么随后的订单将不会打开--这是每天交易一次--EA的时间限制--已经在这个主题中发布,使用搜索,例如制定以下代码的开仓条件,即如果在这个时间范围已经交易,那么随后的订单将不会打开,等等。具体制定你需要的东西,而不是不可理解的 "一次",这一次是一生中的一次?制定正常的交易条款,而不是把你的脑子搞坏。更不用说网站了--这个线程已经有了这一切......

001:

试图实现一个简单的翻转。当达到一个停止位置时 --> 打开相反的位置。我不能让它 打开对面的位置,而不打开其他任何东西。请告知。

当一个位置到达一个停止点时 。有一个位置,它有一个停止。当价格达到止损点时,打开相反的位置。不要在第一个位置打开其他东西。
 
001:
当一个位置到达一个停止点时 。有一个位置,它有一个停止。当价格达到止损点时,打开相反的位置。不要在第一个位置打开其他东西。

网站https://www.mql5.com/go?link=http://www.kimiv.ru// 有一个功能,它准确地定义了一个订单如何被止损关闭。也就是说,当你连接这个功能时,你应该规定条件,如果该仓位在达到止损后被关闭,如果是这样,你应该打开相反的仓位,并将其单次打开的条件加入你的基本仓位的条件中......
 
是否有任何关于程序中使用的所有元素名称的补充文件?例如:case、switch、os、bool、++、==,有了一些知识,你开始编造自行车,然后发现有一个特殊的函数可以解决这个问题。 正如我在教程中理解的那样,不是所有的东西,如何寻找一些你根本猜不到的东西?