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

 
rriaz #:
还有更多的点。爸爸甚至说他不知道密码!( 我明天会去他家,我可以截图或什么的。该软件只安装在手机上

对不起,这更可能是骗子,你需要去找执法部门。

 
Alexey Viktorov #:

这可能是问题所在 吗?尝试定期删除该资源

但这样你就必须动态地创建它。

也就是说,先删除该资源,然后再重新创建它。唯一的问题是,我不知道这将如何运作。或者说,如果它根本就能发挥作用。我将不得不尝试...

没有成功。ResourceCreate只为图片创建一个新文件,所以它没有看到指标。我理解它只是需要定期清除内存。我将尝试使用ZeroMemory的东西

 

大家好。在所有图表上设置正确模式的脚本变成了以下故事。

我开了8个图表,在N1 上都是不同的,下面是一个剥头皮的模板。

8张带有剥头皮模式的开放式图表

我在最左边的图表(澳元/美元)上添加了一个脚本,将所有图表翻译成d1和中期模板,代码如下。

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0)
   {
    if(ChartPeriod(prevChart) != PERIOD_D1)// ЕСЛИ ПЕРИОД ГРАФИКА НЕ Д1
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_D1); // УСТАНАВЛИВАЕМ ПЕРИОД ГРАФИКА КАК Д1
      ChartApplyTemplate(prevChart, tplName); // И УСТАНАВЛИВАЕМ НА ГРАФИК ШАБЛОН СРЕДНЕСРОКА
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/


我已经改变了所有图表的中期模板,除了左边的图表,我在上面添加了脚本。

然后我把脚本放在左边的图表上,以翻译n1 上的图表和剥头皮模式。脚本代码如下

+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
string tplName = "FIBOmAGIC СКАЛЬПИНГ.tpl";
void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+


似乎一切都很好。 剥头皮模式适用于所有图表。但是有一个问题, 如果我把同一个 脚本附在最左边的图表上两次,8个图表中的5个就变成了aud/usd 工具。

在连续两次使用同一脚本后,部分图形成为同一工具的图形

为什么会发生这种情况,除了连续两次通过同一脚本外,如何避免这种情况?

 
DanilaMactep #:

大家好。在所有图表上设置正确模式的脚本变成了以下故事。

我开了8个图表,在N1 上都是不同的,下面是一个剥头皮的模板。

我在最左边的图表(澳元/美元)上添加了一个脚本,将所有图表翻译成d1和中期模板,代码如下。


我已经改变了所有图表的中期模板,除了左边的图表,我在上面添加了脚本。

然后我把脚本放在左边的图表上,以翻译n1 上的图表和剥头皮模式。脚本代码如下


似乎一切都很好。 剥头皮模式适用于所有图表。但是有一个问题, 如果我把同一个 脚本附在最左边的图表上两次,8个图表中的5个就变成了aud/usd 工具。

为什么会发生这种情况,除了连续两次通过同一脚本外,如何避免这种情况?

试试这样的方式

void OnStart()
 {
  long prevChart = ChartFirst();
  while(prevChart >= 0 && IsStopped())
   {
    //if(ChartPeriod(prevChart) != PERIOD_H1)
      ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), PERIOD_H1);// или PERIOD_D1
      ChartApplyTemplate(prevChart, tplName);
    prevChart = ChartNext(prevChart);
   }
 }/******************************************************************/
/*****************************End program****************************/
 
Alexey Viktorov #:

试试这个

这个选项完全没有作用--我在图表上释放了脚本,但什么也没有发生。
 
DanilaMactep #:
这个选项完全没有作用--我在图表上释放脚本,什么也没有发生。

变量的声明是否

string tplName = "FIBOmAGIC СРЕДНЕСРОК.tpl";//ИМЯ ПОДГРУЖАЕМОГО ШАБЛОНА

有可能被删除吗?

 
Alexey Viktorov #:

变量的声明是否

有可能被删除吗?

如果我这样做了,编译器就会大叫未识别的变量。但现在我将再次尝试...
 
Alexey Viktorov #:

变量的声明是否

有可能被删除吗?

我仔细检查了一下,这个变量没有被删除。我编译后,脚本没有任何作用。
 
DanilaMactep #:
这个选项完全没有作用--我在图表上释放脚本,什么也没有发生。

这对你来说不可行吗?

//+------------------------------------------------------------------+
//|                                           ChartApplyTemplate.mq5 |
//|                                  Copyright 2022, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"
//--- покажем окно входных параметров при запуске скрипта
#property script_show_inputs
//----
sinput string Template           = "ADX";          // Имя шаблона(without '.tpl')
sinput ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT; // Период
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   long currChart, prevChart = ChartFirst();
   int i = 0, limit = 100;
   bool errTemplate;
   while(i < limit)
     {
      currChart = ChartNext(prevChart);
      if(TimeFrame != PERIOD_CURRENT)
        {
         ChartSetSymbolPeriod(prevChart, ChartSymbol(prevChart), TimeFrame);
        }
      errTemplate = ChartApplyTemplate(prevChart, Template + ".tpl");
      if(!errTemplate)
        {
         Print("Error ", ChartSymbol(prevChart), "-> ", GetLastError());
        }
      if(currChart < 0)
         break;
      Print(i, ChartSymbol(currChart), " ID =", currChart);
      prevChart = currChart;
      i++;
     }
  }
//+------------------------------------------------------------------+
 
137 Matrix #:

这对你来说不可行吗?

如果我没有记错的话,这就是这一切的开始--我记得没有成功;-)而且我也不知道在代码中把模板名称放在哪里。简而言之,这是一种混乱......。
原因: