众包的GUI。公开测试。 - 页 18

 
Реter Konow:

澄清一下,这些'节点'是动态的、互动的对象吗,以及它们之间的联系?这不仅仅是一个计划,是吗?如果是这样,我在安德烈-巴里诺夫的图形策略构建器中看到了类似的东西。你是这个意思吗?

节点之间的链接逻辑是不可改变的,并遵循预定的规则,还是随心所欲地创建的轻浮计划?

原则上,我不认为创造它有什么困难。这是一两天或三天的工作。我不需要任何额外的代码。我自己来做,在现在优先考虑的主要事情之后。

是的,这是策略的代表,只是没有安德烈-巴里诺夫的,我自己的发展。

不希望有视觉编辑。将会有自动生成。

"不需要额外的代码"。- 所以可能没有文件形式的策略。所以你想做一个解析器?我们已经有一个了,你为什么还需要它呢 :)?我可以把如何使用该策略的例子发给你,这很简单也很方便。

下面是一个例子。

#include <Greshnik\\Strategy.mqh>

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void OnStart()
  {
   cStrategy *st=new cStrategy();
   st.Read_from_file("Strategy\\Test\\1.txt");  //Читаем с файла
   st.Print_strategy();                         //Вывести в лог
   int count_top_nodes=st.Get_top_nodes_count();//Количество узлов на вершине
   int my_node=-1;
   for(int i1=0; i1<count_top_nodes; i1++)
     {
      int node_id=st.Get_top_node(i1);
      if(node_id<0)
        {
         Print("Узла на вершине нету по индексу:",i1);
        }
      else
        {
         my_node=node_id;
        }
     }
   if(my_node>=0)
     {
      Print("Тип узла: ",EnumToString(st.Get_node_type(my_node)));
      Print("Количество родительских узлов: ",st.Get_parents_nodes_count(my_node));
     }
   delete st;
  }

当出现错误时,你需要看一下日志,那里有俄罗斯的一切。

而在源代码中,一切都有描述。

 
Aliaksandr Hryshyn:

这样一个例子,它并没有反映出我想要的样子,它显示了结构和一些特征。节点也有一些信息要显示。自下而上的方向。

没有额外的代码就没有办法,它允许从文本文件中读取这种结构,并获得有关它的所有信息。

我希望对这个结构有一个很好的介绍。

它需要动态创建图形元素。

下面是一个具有这种结构的文件的例子,你可以看到这个结构的作用:)

这个文件可以被代码读取,并且可以方便地访问结构的所有参数。这里并没有代表所有类型的节点。

我不坚持要求帮助,我知道这需要一些努力。需要一些最佳的节点放置问题,由于结构的可读性不好,按列表放置是不可取的。

该结构没有循环。为了遍历图形,你可以使用递归法,从一个顶点开始,标记你已经去过的节点。然后你选择任何没有标记的节点,并从它那里定义所有的节点,这些节点形成另一个不与主图相连的图,等等。

我本来可以自己做,但现在有很多其他的任务。

这不再是为了彼得。请不要让他分心。
对你来说更重要。

 
Aliaksandr Hryshyn:

是的,这是对战略的介绍,只是不是安德烈-巴里诺夫,他自己的作品。

没有设想过视觉编辑。将会有自动生成。

"不需要额外的代码。"- 所以可能没有文件形式的策略。所以你想做一个解析器?我们已经有一个了,你为什么还需要它呢 :)?我可以把如何使用该策略的例子发给你,这很简单也很方便。

下面是一个例子。

当出现错误时,你需要看一下日志,那里有俄罗斯的一切。

而在源头,一切都有描述。

我可以为所有这样的互动和灵活的计划创建一般的解决方案,但它不是很快。在你的情况下,你需要特定的解决方案,适合于某些想法。我不知道我能不能帮上忙。你需要先创建节点和链接的图形 "机制",然后再针对具体的想法进行调整。我可以创建机制,但进一步的 "微调",将缩小应用范围,使其成为一个单独的项目。也许尼古拉可以帮忙。我现在很忙。

 
Реter Konow:

我可以创建一个通用的解决方案,用于各种互动和灵活的方案,但这是一个漫长的过程。在你的案例中,你需要一个适合特定想法的具体解决方案。我不知道我能不能帮上忙。你需要先创建节点和链接的图形 "机制",然后再针对具体的想法进行调整。我可以创建机制,但进一步的 "微调",将缩小应用范围,使其成为一个单独的项目。也许尼古拉可以帮忙。我现在很忙。

很好。

 
Nikolai Semko:

这不再是为了彼得。请不要让他分心。
对你来说更重要。

是的,就是这样。

 
Aliaksandr Hryshyn:

这样一个例子,它并没有反映出我想要的样子,它显示了结构和一些特征。节点也有一些信息要显示。自下而上的方向。

没有额外的代码就没有办法,它允许从文本文件中读取这种结构,并获得有关它的所有信息。

我希望对这个结构有一个很好的介绍。

它需要动态创建图形元素。

下面是一个具有这种结构的文件的例子,你可以看到这个结构的作用:)

这个文件可以被代码读取,并且可以方便地访问结构的所有参数。这里并没有代表所有类型的节点。

我不坚持要求帮助,我知道这需要一些努力。需要一些最佳的节点放置问题,由于结构的可读性不好,按列表放置是不可取的。

该结构没有循环。为了遍历图形,你可以使用递归法,从一个顶点开始,标记你已经去过的节点。然后你选择任何没有标记的节点,并从它那里定义所有的节点,这些节点形成另一个不与主图相连的图,等等。

我可以自己做这些事,只是现在有很多其他任务。

有一些经典的图形可视化工具:http://www.graphviz.org/documentation/,又名https://en.wikipedia.org/wiki/DOT_(graph_description_language)。

也就是说,你必须根据你的结构生成一个图形的.dot文件,然后运行渲染器(有几个可供选择)。

如果我没弄错的话,.dot文件可以在yEd(https://www.yworks.com/products/yed) 中打开,用鼠标进行修正 :-)

PS.至少可以说,图形可视化并不是一项非常容易的任务 :-)它仍然在世界范围内被解决...

 
所以我希望有一个MQL解决方案。好吧,我得自己来 :)。
 

我们只能猜测彼得的工具所生成的代码将如何与程序的其他部分联系起来。

"内核、标记".....,没有评论。

我了解以下类型的标记:xml、html、json、xaml等等。

我理解继承性,它既可以修改源控件,也可以订阅它们的事件,而不需要潜入控件的源代码。

Peter使用程序化编程,所以把一个控件称为一个对象,因为在Peter中没有先验的对象,是不可能的。

这意味着你不能即时改变它们,更不能将它们与数据联系起来......。

我们等待...我们正在等待,看看结果如何。但如果彼得生成ex4而不是mqh,那就更好了,这样我们就不必在......中挖掘。内核。

 
Алексей Барбашин:

我们只能猜测彼得的工具所生成的代码将如何与程序的其他部分联系起来。

"内核、标记".....,没有评论。

我了解以下类型的标记:xml、html、json、xaml等等。

我理解继承性,它既可以修改源控件,也可以订阅它们的事件,而不需要潜入控件的源代码。

Peter使用程序化编程,所以把一个控件称为一个对象,因为在Peter中没有先验的对象,是不可能的。

这意味着你不能即时改变它们,更不能将它们与数据联系起来......。

我们等待...我们正在等待,看看结果如何。但如果彼得生成ex4而不是mqh,那就更好了,这样我们就不必在......中挖掘。内核。

这很有趣 :)所有的内核都塞满了物体。

阿列克谢,你答应过要帮我测试的。这名编辑能看到曙光,是你的功劳。你激励我完成这项工作。

一旦我把编辑器挂起来(星期二),我们将一起创建一个由按钮、复选框和输入字段 组成的简单面板,并把它连接到一个简单的专家顾问。而且所有问题都会马上得到答复)。

 
Aliaksandr Hryshyn:
所以我想在MQL中找到一个解决方案。 好吧,我得自己来 :)。

是时候走出沙盒了:-)一个婴儿铲子是不够的...

不同的任务需要不同的工具

另一方面:你可以用锤子敲打螺丝(甚至显微镜)。