// Переводит в строку курсstring KursS(double Ku) {
int k, i;
string S; // 8 дробных цифр для составного курса открытия позиции в MT5
S=DoubleToString(NormalizeDouble(Ku,8),8); // Уберем концевые нули
i=StringLen(S)-1;
if (StringSubstr(S,i,1)!="0") return(S); // Их нетfor (k=i-1;k>0;k--) if (StringSubstr(S,k,1)!="0") {S=StringSubstr(S,0,k+1); break;}
i=StringLen(S)-1; // Уберем концевую точкуif (StringSubstr(S,i,1)==".") S=StringSubstr(S,0,i);
return (S);
} // KursS
// Переводит в строку курс Вот так короче!!! Строк меньше и в каждой строке прозрачнее
string Kurs(double Ku)
{
string S="0"; int n=8; // Количество знаков дробной части
while(S[StringLen(S)-1]=='0' && n>=0)
{
S=DoubleToString(Ku,n); // n дробных цифр
n--;
}
return (S);
} // Kurs
另一个问题是如何剪掉多余的零?
以获得0,2
ps小数点后的数字将始终使用不同的方式
另一个问题是如何剪掉多余的零?
以使其成为0.2。
ps小数点后的数字将始终使用不同的方式
有多达8个小数点的数字,根据你的需要进行修正。
重新做了这样的工作--一切都在进行
在源代码中较短,在执行中较长。我赞成快速执行。运行比较脚本,我得到6秒和11秒。归咎于数字到字符串 的操作,最好是做一次。
像这样重做了--它要
你如何理解它的发展?两条横线 是否被创建?在我的日志中没有错误,但在脚本开始后没有出现行。
但奇怪的是,它在AUDCAD上工作并创建了线条,但在AUDCHF和EURUSD上却不工作...。
我想我明白了...它不会出现在已经有水平线的图表上。如果我删除它们并运行脚本,就会出现线条。但它们为什么会出现呢?问题。
禁止重新创建一条线,甚至是另一个具有相同名称 的对象。
任何对象都有一个名字。右键点击图形 --> 对象列表
时间可以保存在水平线的名称中