[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 281

 
Pyro:

塔拉


这很有意思,因为设置订单的价格被规范化为4位数,也就是说,一个点的零头是不可能存在的。为什么会这样呢?是的,它现在可以正常工作了!THX

实际上,归一化必须在计算的时候进行。

   int dg=MarketInfo(Symbol(),MODE_DIGITS);        // Количество цифр после десятичного точки в цене инструмента
   if (NormalizeDouble(OrderOpenPrice()-(p1+more),dg)==0) {
      // ... тут код, если результатом сравнения стал ноль, т.е. сравниваемые величины равны
      }

和你代码中的一些点。

for(int i=1 ; i <= OrdersTotal() ; i++)   // делаете цикл от второго ордера в списке. Почему бы сразу не for(int i=0; i<OrdersTotal(); i++) ?
   {
   if(OrderSelect(i-1,SELECT_BY_POS,MODE_TRADES))  // если выбрали ЛЮБОЙ ордер, пусть он даже открыт другим советником или вручную
      {                                           
      if(OrderOpenPrice()-(p1+more) == 0)          // сравниваете без нормализации
         {
         ordersethigh1=true;                       // желательно флагу ПЕРЕД циклом задать значение false
         break;
         }
      }
   }
     
if((ordersethigh1==false) && (p2-price>pointsclose))  // второе условие тоже не нормализовано
   {
   OrderSend(Symbol(),OP_SELLLIMIT,baselot,p1+more,3,NULL,NULL,"Comment",0001,0,White);
   }
 

Artmedia70


嗯,我是根据你的代码写的。暂时简化了(我正在摸索)。唯一变得清晰的是,一切都需要正常化。这有点像一个启示(一切都在测试器上工作)。我现在正在解决这个问题。

если выбрали ЛЮБОЙ ордер, пусть он даже открыт другим советником или вручную

在这种情况下,我们不需要多余的代码。但我为该工具添加了一个检查。

我有两个变种,都能用。

if(OrderOpenPrice()-(channelhigh+more) <=Point*0.5)

if(NormalizeDouble(OrderOpenPrice()-(channelhigh+more),4) == 0)

谢谢你,它澄清了很多!



 
Pyro:

Artmedia70


好吧,我是根据你的代码写的。暂时简化了(我正在摸索)。唯一变得清晰的是,一切都需要正常化。这有点像一个启示(一切都在测试器上工作)。我现在正在解决这个问题。

在这种情况下,过多的代码是没有必要的。但我为该工具添加了一个检查。

我有两个变种,都能用。


谢谢你,很多事情都已经澄清了!

检查所选订单是什么类型是否多余?如果是买入或卖出指令?如果不检查,你的函数会告诉你有一个挂单(你在检查它是否存在)。你想检查是否有一个挂单,如果有任何类型的订单,你将得到true。即使你手动打开它。有四种类型的挂单。为了避免混淆,最好是在调用函数时,将挂单的类型传入函数,然后检查你选择的订单类型是否与传入函数的类型相符。
(我在第277页的例子中没有这个检查)。它只是简单地检查是否 悬念--如果类型小于1且大于5,我们将继续选择下一个)。

下一步。你的EA可以在一个TF上工作,而在另一个上,另一个EA可以同时工作。他们两人都在为同一个符号工作。另一个EA所开的仓位将被这个EA视为 "是的,有一个订单"。因此,我们需要引入一个MagicNumber检查,以便专家顾问能够区分自己的订单和头寸。

因此,对交易工具的符号、魔法号码和被检查的订单类型的检查并不过分,而是必要的。这是最低限度的,但不是多余的。

 

同志们好!

请教:是否有人遇到过搜索最后关闭 的订单的问题。它是否变得有利可图或无利可图?

你用了什么方法?

预先感谢你。

R.S.我想,这个操作并不困难,但我不知道如何接近它。

 
artmedia70:

因此,对交易工具的符号、魔法号码和被检查的订单类型的检查并不过分,它们是必要的。这是最低限度,但并不过分。

我在这里的错误是,我只在本质上发布了一个功能。当然,会有检查。只是这块代码,它在很多方面都是一个训练片,只不过是EA的一部分。再次感谢您的帮助,朋友们!

 
ramirez17:
我猜这是一个简单的操作,但我不知道如何去做。
你会惊讶于这个问题有多受欢迎。
谷歌查询。
最后关闭的订单 site:mql4.com
 
ramirez17:

同志们好!

请教:是否有人遇到过搜索最后关闭 的订单的问题。它是否变得有利可图或无利可图?

你用了什么方法?

预先感谢你。

s.s. 我想这一操作并不困难,但我不知道如何去做。

https://www.mql5.com/ru/forum/131859/page4#434229

https://www.mql5.com/ru/forum/131859/page4#434230

 
granit77:
你会惊讶于这个问题有多受欢迎。
谷歌查询。
最后关闭的订单 site:mql4.com

好的。我忘记了谷歌。直接去了这里 :)
 
我应该把EA的设定文件放在哪个文件夹里?
 
drm1:
我应该把EA的设定文件放在哪个文件夹里?
专家/预设