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

 
Сергей:

我完全理解你,但你错了。

放上倒置的逗号,你就得到了。

'EURUSD' - 预期名称 MyIndi 3 (MA).mq4 61 14

而这里的引文在哪里呢?

欧元兑美元'。

 
Artyom Trishkin:

倒装的逗号在哪里?


我的代码中的引号是双引号,在错误中我得到了单引号,我对此无能为力。

我在向窗口输出数据方面没有问题。问题出在错误的输出上。与其说是 "平坦",不如说是 "Attenthion!",反之亦然。该算法是初级的,我不知道我在哪里搞砸了......。

我在编译方面也没有问题。用代码#3437发布。

 

该指标本身https://cloud.mail.ru/public/6Ney/gTq1xMcMd

我在这里提出了日元图表改变结果的问题

这里是一个关于交易、自动交易系统和策略测试的论坛。

如果我想在这个论坛上发一个问题,我会在这里回答。新手的任何问题,不要把论坛弄得乱七八糟。没有你就无处可去 - 6.

Sergey, 2017.08.13 22:06

伙计们,你们能否告诉我,为什么当我把基于MA的多货币指标 附加到所有有日元的货币对上时,显示出错误的结果?它在其他对上工作正常。

这里所说的指标是https://cloud.mail.ru/public/CAXu/p3uD3UzBJ 。当时我的问题没有得到任何帮助,你现在能帮助我吗?
 
Сергей:

我的代码中有双引号,但在错误中我得到了单引号,我对此无能为力。

我在向窗口输出数据方面没有问题。问题出在错误的结果上。与其说是 "平坦",不如说是 "Attenthion!",反之亦然。该算法是初级的,我不知道我在哪里搞砸了......。

我在编译方面也没有问题。用代码#3437发布。

为了让人们猜测,并能正确理解你在说什么,在你进入的帖子编辑器 中都有这方面的选项。

你可以把代码作为一个文件附上(底部有"添加文件")。

你可以将代码输出为代码。

例如:

//+------------------------------------------------------------------+
//| Выводит в журнал список свечей серии                             |
//+------------------------------------------------------------------+
void CSeriesCollection::PrintListCandlesSeries(const uint num_candle)
  {
   int total=m_series.Total();
   ::Print("====== "+TextByLanguage("Список свечей тайм-серии","List of time series candles")+" ======");
   for(int i=0; i<total; i++){
      CCandleObject* candle=m_series.At(i);
      if(candle!=NULL){
         datetime time=candle.Time();
         if(time<TimeCurrent()-PeriodSeconds()*num_candle) continue;
         string tm=TimeToString(candle.Time());
         this.PrintCandle(candle);
         }
      }
   ::Print("====== "+TextByLanguage("Список свечей тайм-серии","List of time series candles")+" ======");
  }
//+------------------------------------------------------------------+

你也可以将日志行作为代码显示(你可以从终端日志中复制它,并将它作为代码粘贴在这里(SRC按钮))。

2017.10.20 04:04:09.014 Свеча NZDUSD 2017.10.20 00:00, open: 0.70296, high: 0.70360, low: 0.70260, close: 0.70355, vol tick: 87, размер: 100, тело: 59, верх. тень: 5, нижн. тень: 36, тип: Бычья

那么人们就不会对你所谈论的内容产生误解。

而把人们送到第三方资源中去下载不知道是什么的东西--是不太友好的,对吗?

 
Сергей:
...

编译方面也没有问题。用代码#3437发布。

好吧,你可以点击#3437,选择 "复制链接",并将链接粘贴到你的帖子中(也是在帖子编辑器中)--这样人们就不必浏览他们真正不需要的地方了;)

 
Artyom Trishkin:

而把人们引向第三方资源,让他们从那里下载任何东西,这不是很友好,是吗?


请原谅我不识字。


MyIndi 1 MultiValue on MultiTimeFrames。在底部,它显示了购买点的数量。

MyIndi 2 与第一个相同,但删除了不必要的数据。在底部增加了数据--这是不同时间段每分钟的平均价格变化。

MyIndi 3是多种货币。它是基于一个单一的MA,有一个转变。当达到MA的差异时,它显示 "警告!"。


当连接到带有日元的图表上时,所有这三种方法都不正确(出于某种原因)。MyIndi 3完全不能正常工作,尽管代码非常简单。

当然,在所有这些问题中,我都找不到问题所在,因为我是新手......如果有人有时间搞清楚并提供帮助,我将非常感激。
附加的文件:
MyIndi.mq4  54 kb
MyIndi_2.mq4  38 kb
 
Сергей:

请原谅我不识字。


MyIndi 1 在多时间框架上的多货币。在底部,它显示了购买点的数量。

MyIndi 2 与第一个相同,但删除了不必要的数据。在底部增加了数据--这是不同时间段每分钟的平均价格变化。

MyIndi 3是多种货币。它是基于一个单一的MA,有一个转变。当达到MA的差异时,它显示 "警告!"。


当连接到带有日元的图表上时,所有这三种方法都不正确(出于某种原因)。MyIndi 3完全不能正常工作,尽管代码非常简单。

当然,我也不能在所有的人中找到错误,因为我在这方面是个新手。如果有人有时间理解和帮助,我将非常感激。

看看"点",日元是不同的。使用MarketInfo。例如 double EUR_point=MarketInfo("EURUSD",MODE_POINT)。

 
Nauris Zukas:

请看一下 "点",日元是不同的。使用MarketInfo。例如 double EUR_point=MarketInfo("EURUSD",MODE_POINT)。

谢谢你,我会试试的。我有一个想法,那就是问题所在,但不知道如何解决。


这很有帮助!非常感谢你,好心人!=)

我在开始时补充说

      double USD_point=MarketInfo("EURUSD",MODE_POINT);
      double JPY_point=MarketInfo("USDJPY",MODE_POINT); 

并根据我处理的对子(有或没有日元)使用一个或另一个变量。

 
Nauris Zukas:

看点,日元是不同的。使用MarketInfo。例如 double EUR_point=MarketInfo("EURUSD",MODE_POINT)。

最好是直接去。

Point
SymbolInfoDouble(Symbol(),SYMBOL_POINT)
 
Vitaly Muzichenko:

马上就好。


我认为@Nauris Zukas 提出的变体将适合于多货币。

而你的变体对单一货币来说是更好的,因为它从它所连接的图表中获取数据。