专家顾问 - 杂项问题 - 页 18

 

Marco vd Heijden:

如果你真的想等待每一个点,你将不得不为每个符号写一个单独的EA,并使用OnTick()函数
但我可以告诉你,我也为微型控制器编程,它们处于无尽的while循环中(永远),直到断电或中断发生。
检查一个条件是真还是假,需要使用最小的布尔数据类型,而你的处理器已经在后台运行的所有进程和图形等方面每秒做了数百万次甚至数十亿次。
当你开始做涉及较大数据类型的重型计算时,这就成了一个问题。

#订单计算和账户信息 的更新 - 关闭

谢谢你的评论。

独立的EA,哦!我真的不喜欢玩多个EA。
也许我将连续使用循环,甚至有时循环也是白搭。

// I hope one of below them will work for me
EventSetMillisecondTimer( 750 );
EventSetTimer( 1 );

我不认为我的电脑这么弱,我希望它能帮助我。
......沉重的计算......嗯,我真的不知道--"订单卖出、买入、盈利、所有头寸 "的计算是沉重还是什么?请问这很重吗?

所以,感谢您的意见。
祝您一切顺利。

 

不,那不是繁重的计算,记住,它的设计是为了处理所有的位置。

下面是一个例子,说明它可以轻松做到的。


所以这里它要求所有符号在所有时间段的交易量,还有第一行是所有可用符号的点差。

现在它必须对所有符号的所有变量从最小到最大进行排序,所以这是个很大的工作量。



或者这个是一个多符号Renko矩阵。

堆积砖块的垂直部分被移除,现在它在水平方向上铺设了40个点的砖块,这使得它适合在一个图表上对所有符号进行相互比较。

它通常是26个独立的Renko图表,这将使它很难将它们全部进行比较,但有了这种类型,它可以在眨眼之间完成。

当然,它必须跟踪26个符号的运动,这也是一个很大的工作,但对于一个好的和快速的计算机来说,并不是真的,所以我希望你能明白这一点。

所有这些都是通过一个快速运行的计时器完成的,我甚至不知道如何在每个符号的基础上编写代码,如果你问我,这将是疯狂的。

 

Marco vd Heijden:

这都是用一个快速运行的计时器完成的,我甚至不知道如何在每个符号的基础上编写代码,如果你问我,那将是疯狂的。

谢谢你的评论。

我只想说,如果我进入这个领域,我知道我肯定会像一个编码器或程序员一样离开那里。(因为如果有人需要这样做,他们可以成为编码员或程序员...)
这需要我花很长的时间。只是一个放弃...

我想我可以关闭这个分题了,因为我担心这将需要我很长的时间。
有时我在这个代码行业中迷失了自己。
无论如何,到目前为止,我从这个代码行业得到了很多东西。

在你的最新评论之后,我想如果我只需要得到终端交易面板 的符号,我可以尝试非常不同的方法(但实际上我的代码知识不能给我这个机会)。
我还在想,我真的是第一个在考虑终端交易面板刻度的人吗?(我不希望是这样。)

我在很久以前看到过一些仪表板EA - 我对这种类型的EA不感兴趣,它对我来说绝对没有用。

非常感谢你试图帮助我。

( 英语不是我的母语 )

 

这需要时间,但不是永远。

而当你变得更聪明时,你也会因为经验而变得更快。

开始是最难的部分。

你可以随心所欲地让它变得简单或复杂。

但从简单的事情开始可能会更容易。

但你的目标是什么,你想成为一个好的编码员吗?还是想成为一个好的交易员?

 

Marco vd Heijden:

这需要时间,但不是永远。
当你变得更聪明时,你也会因为经验而变得更快。
开始是最难的部分。
你可以让它变得简单或复杂,只要你喜欢。
但从简单的事情开始可能会更容易。
但你的目标是什么呢?你想成为一个好的编码员吗?还是想成为一个好的交易员?

是的,你说得对,但我现在没有足够的时间,正如我说的,我担心它会占用我很多时间。

是的,当我开始为我的贸易面板 EA写脚本时,我开始只是简单的事情,但现在我喜欢我的贸易面板EA。是的,这花了我很多时间,但这是值得的。

事实上,今天我并没有想到我会成为编码员和程序员。但这并不意味着我不知道什么是编码员和程序员。
有时我有想法,但我认为做不到,我认为这是不可能的。
原因只有一个,那就是我的代码知识太差。
我也不能写下我的想法,但我不知道为什么?

是的!今天我想成为一名优秀的交易员,而不是编码员。

谢谢你的时间。

 

你可以把它放在一个流程图中,这样会更容易一些。

这里有一个例子。

你可以在http://draw.io,免费做这些东西

draw.io - free flowchart maker and diagrams online
draw.io - free flowchart maker and diagrams online
  • draw.io
draw.io (formerly Diagramly) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit diagram maker, and more. draw.io can import .vsdx, Gliffy™ and Lucidchart™ files .
 
Marco vd Heijden:

你可以把它放在一个流程图中,这样会更容易一些。
这里有一个例子。
你可以在http://draw.io 免费制作

哇,谢谢你与我分享。
当我有时间的时候,我会试试的。

谢谢你,伙计。

 

#Spread Lines - Open

问: 如果我使用几个趋势线对象,我是否应该为每个对象使用'ObjectMove'函数?
我只是在为它们寻找智能方法,请给我建议或用例子帮助我。

ObjectMove( name, 0, Time[0], Bid );
ObjectMove( name, 1, Time[0] + ( PeriodSeconds( NULL ) * 1 ), Bid );

如你所知,如果我使用TrendLine对象做展线,TrendLine对象的大小可能会在不同的图表时间段 和尺度上发生变化。
问: ,我怎样才能通过实例了解到这一点?

问: 另外,我需要在我的EA的交易面板上写那个脚本,请问您有什么建议?

提前感谢。

 

你是指在价格水平上移动的垂直线,在时间轴上移动的水平线,还是沿着这两个方向移动的角度的趋势线?

你可以通过ObjectMove()来移动它们,或者删除它们并绘制新的。

如果它与时间框架有关,你可以使用几页前发布的时间框架切换。

我总是在OnDeinit()切换到不同的时间框架时删除所有的东西,然后在OnInit()或一个单独的绘制函数()中绘制新的。

如果你想只画展线,在任何时间段都是一样的,所以你可以在OnInit()中创建两到三个,然后在OnTick()中移动它们。

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
          
   ObjectCreate("Ask",OBJ_HLINE,0,0,Ask);ObjectSetInteger(0,"Ask",OBJPROP_COLOR,clrGold);ObjectSetInteger(0,"Ask",OBJPROP_WIDTH,1);
   ObjectCreate("Bid",OBJ_HLINE,0,0,Bid);ObjectSetInteger(0,"Bid",OBJPROP_COLOR,clrGold);ObjectSetInteger(0,"Bid",OBJPROP_WIDTH,1);
   ObjectCreate("Center",OBJ_HLINE,0,0,(Ask+Bid)/2);

   ObjectSetInteger(0,"Ask",OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,"Bid",OBJPROP_SELECTABLE,false);
   ObjectSetInteger(0,"Center",OBJPROP_SELECTABLE,false);

   ObjectSetInteger(0,"Ask",OBJPROP_BACK,true);
   ObjectSetInteger(0,"Bid",OBJPROP_BACK,true);
   ObjectSetInteger(0,"Center",OBJPROP_BACK,true);

   ObjectSetInteger(0,"Center",OBJPROP_COLOR,clrDeepSkyBlue);
   ObjectSetInteger(0,"Center",OBJPROP_WIDTH,1);
   ObjectSetInteger(0,"Center",OBJPROP_STYLE,STYLE_DASH);

//---

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+


//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   ObjectMove("Ask",0,0,Ask);
   ObjectMove("Bid",0,0,Bid);
   ObjectMove("Center",0,0,(Ask+Bid)/2);
  }
//+------------------------------------------------------------------+


很简单,还是你有什么别的想法?

 

Marco vd Heijden:

很简单,还是你有什么别的想法?

#传播线--关闭

谢谢你的精彩评论,这对我帮助很大。

不,我不需要为这个函数使用垂直线和水平线。(但我将在OrderOpenPrice()行中使用水平线)。

我需要用TrendLine对象来做什么,比如点差价格线-买入和卖出线。
(当我的代码知识为零时--我对价差线的设计有想法--但我认为这是不可能的,直到我看到一个改变价差线的指标--我受到启发,所以我已经开始尝试自己做了--即使那个指标是免费的--我不喜欢使用别人做的EA和指标--没有 "新闻指标" )

N( 你注意 到了): 如果它与时间框架有关,你可以使用 几页前发布的 时间框架切换。
N:我总是在OnDeinit()切换到不同的时间框架时删除所有的东西,然后在OnInit()或一个单独的绘制函数()中绘制新的

哦!当然,我会试试这个。
我想指出的是。
正如我提到的,到目前为止,我为我的指标和EA做了很多事情,所有这些对我来说都是完美的,但如果你问你是怎么做的?
哦!我不记得我是怎么做的了,所以,我只想说,我会检查一下后面的几页...。

我想研究一下如何绘制新的线......,因为到目前为止我看到一个问题,当我切换时间框架时,TrendLine不能正确移动。

---

我正在尝试下面的代码,用于点差线--买入和卖出线。
问: 你提到的那个帖子,那个帖子是否可以解决我下面的代码问题,请问?(我还没有试过。)
问: 另外,你能不能让我知道下面的代码有什么问题?

S: ( 我已经解决了这个问题。)

先谢谢你。