//--------------------------------------------------------------------externdoubleLevel=1.3200; // Заданный уровень stringText[101]; // Объявление массива//--------------------------------------------------------------------intinit()// Спец. ф-ия init(){// Присвоение значенийText[1]="один "; Text[15]="пятнадцать ";
Text[2]="два "; Text[16]="шестнадцать ";
Text[3]="три "; Text[17]="семнадцать ";
Text[4]="четыре "; Text[18]="восемнадцать ";
Text[5]="пять "; Text[19]="девятнадцать ";
Text[6]="шесть "; Text[20]="двадцать ";
Text[7]="семь "; Text[30]="тридцать ";
Text[8]="восемь "; Text[40]="сорок ";
Text[9]="девять "; Text[50]="пятьдесят ";
Text[10]="десять "; Text[60]="шестьдесят";
Text[11]="одиннадцать "; Text[70]="семьдесят ";
Text[12]="двенадцать "; Text[80]="восемьдесят ";
Text[13]="тринадцать "; Text[90]="девяносто";
Text[14]="четырнадцать "; Text[100]= "сто";
// Вычисление значенийfor(inti=20; i<=90; i=i+10)// Цикл по десяткам{for(intj=1; j<=9; j++)// Цикл по единицамText[i+j]=Text[i] + Text[j]; // Вычисление значения }return; // Выход из init()}//--------------------------------------------------------------------intstart()// Спец. ф-ия start(){intDelta=NormalizeDouble((Bid-Level)/Point,0);// Превышение //--------------------------------------------------------------------if(Delta>=0)// Цена не выше уровня{Alert("Цена ниже уровня"); // Сообщениеreturn; // Выход из start()}//--------------------------------------------------------------------if(Delta<100)// Цена более 100{Alert("Более ста пунктов"); // Сообщениеreturn; // Выход из start()}//--------------------------------------------------------------------Alert("Плюс ",Text[Delta],"pt."); // Вывод на экранreturn; // Выход из start()}
//---------------------------------------------------------------------
По-моему в условных операторах неправильно проставлены знаки сравнения. Они должны быть с точностью до наоборот. Скажите прав ли я? И если нет, то почему так?
亲爱的,我需要你的帮助。
我正在通过指标优化我的专家顾问,指标的代码如下。
优化的速度很慢,我在EA中做了一个代码,在一个新的条形图上重新计算指标,这不是很合适。
请看一下指标的代码,可以做什么来使重新计算更快。
为什么你认为这是指标的错?
计算字符数,+字体大小,像这样?
字体大小并不能给你带来你需要的知识。你需要画几个物体,一个在另一个之上。只有第一个对象有一个锚点。如何获得第2个和后续对象的锚点?
在用户卸载EA的情况下强制完成EA。
最好是在开始时直接记录数据。
----------------------------------------------------
deinit的运行时间被限制在10秒内。
在测试者中,在正常完成时停止标志没有被设置,所以deinit安静地完成。
----------------------------------------------------也许对任何功能的操作都有10秒的限制?
而这里是提议的解决方案。
为什么你认为这是指标的错?
例如,我优化了AMA,虽然指标很复杂,但优化起来要快得多。
我不会肯定地说,这是指标的错。我在这方面还没有什么经验。
但我如何才能加快它的速度?我在这里做的都对吗?
原则上说,指标使用最后100个柱子计算就足够了,但如果我设置数字100而不是500,数值就会消失。
如果你以这种速度进行优化,其完成的胡须将长到地板上,赚来的木兰也就没有用了)好吧,或者市场将完全不同。下午好。你能告诉我是否有可能以编程方式定义或计算OBJ_TEXT对象的图表上的宽度/高度?
文本可能没有,但请标注
docs.mql4.com/en/constants/objectconstants/enum_object_property
OBJPROP_XSIZE 和 OBJPROP_YSIZE 属性
但是,如何加快它的速度?我在这里做得都对吗?还是有什么地方可以改变?
好吧,你可以立即看到计算有缺陷,比如说加入了一个栏。
限制1将是两个...然后
总之,重新计算的结果是完全错误的...
非常感谢你,祝你有个愉快的一天:) >)
那么在这里你可以立即看到,重新计算搞砸了,比如说增加了一个条形。
限制1将是两个...然后
总之,重新计算的结果是完全错误的...
我打算猜测一下。
limit1=Bars-counted_bars;
应该是这样的吗?
我不知道这里发生了什么。
如果在一般情况下,对我来说,让指标按最后100条计算就足够了。