datetime prevdaytime; // здесь храним время предыдущего дня
datetime time[]; // сюда будем получать новое текущее время
double open[]; // сюда будем получать текущие цены открытия
//+------------------------------------------------------------------+voidOnTick()
{
CopyTime(_Symbol,PERIOD_D1,0,1,time); // получаем время дневного бара
if(time[0]!=prevdaytime) // если время дневного бара отличается от предидущего
{
CopyOpen(_Symbol,PERIOD_D1,0,1,open); // копируем новую цену open
Print("Time: ",TimeToString(time[0],TIME_DATE)," | Price Open: ",DoubleToString(open[0],_Digits)); // выводим в журнал
prevdaytime=time[0]; // запоминаем последнее время нового бара
}
}
//+------------------------------------------------------------------+
仅仅阅读参考资料而不设定目标(即使是非常简单的目标)并没有任何作用。这就像躺在沙发上看照片学习空手道一样 :)
参考文献正是这个意思,有例子。傻瓜式的教科书,如280页的《如何获得邮件》是浪费时间。一切都可以在10-15分钟内解释清楚
我从来没有学过编程,但我想写一个EA。
与专业人员交谈。不要为了好的想法而不惜一切代价。每个人都应该在自己的位置上。
下午好,男孩和女孩。
这里有一些全局变量
我想在日志中获得开盘价。
但我收到一些奇怪的废话。
怎么了?
像这样。
听起来是这样的。
我没有学过外科,但我想做外科,所以这里有一把斧头、一个钻头和一把锉刀。这有什么不对吗?
是的,我目前正被VK中的一个人折磨着。他不会编程,但想写一个黄牛。他说他要把其他节目的碎片做成一个节目。
然后是客户,他决定如果你把EA中所有的优点改为缺点,反之亦然,他就会停止漏水,开始切白菜了))。
请告知如何做得更好?
当然,作为一个独立的功能。在kodobase里有很好的例子。一般来说,有一条规则,如果某段代码执行了一个有意义的动作,它必须在一个单独的函数中实现。
你可以在OnTick中写一个100500-screen sheet,然后你会觉得从这个垃圾面条代码中吐出来。
我仍然有很多工作要做,但总的来说,这很好。
谢谢你对一些事情的提示。
偏离主题。
谢尔盖,你是如何发布信号的? 是用即兴的手段进行纯粹的手工交易 吗?
伙计们,我想我已经有了一些 ,当然,我还需要打磨它,但总的来说,它是不错的。 谢谢你们在这里和那里的评论。
所以,这个人不懂编程,但却写了一个专家顾问。而我们在这里气喘吁吁,由于某种原因研究MQL ))
那就更好了 :)