//+------------------------------------------------------------------+//| script program start function |//+------------------------------------------------------------------+int start()
{
/*
Скрипт
========== Lines_RASST ========
Является дополнением к скрипту Lines_Create. (Скрипт Lines_Create создаёт на графике 2 горизонтальные линии с именами UP_LEVEL и DOWN_LEVEL)
Скрипт Lines_RASST выводит на экран сообщение о том, сколько пунктов расстояние между двумя горизонтальными линиями
у которых миена UP_LEVEL и DOWN_LEVEL.
В силу того, что скрипт Lines_RASST имеет задержку в коде, надо не просто кинуть его на график, или не просто сделать
по скрипту двойной клик, надо ещё сразу сделать дополнительный одинарный клик левой кнопкой мыши по окну графика.
Только в этом случае надпись, говорящая о расстоянии появится и через 5 секунд исчезнет сама.
Если скрипт Lines_RASST вызван, а дополнительный клик по окну не сделан, то по прошествии 5 секунд скрипт выгрузится из оперативной
памяти, и Вы ни чего на экране не увидите, ни какой надписи (почему так сделан терминал я не знаю).
*/bool fm;
// --------------- Значения цены на горизонтальных линиях ---------------------------------double UpLevelPrice=ObjectGet("UP_LEVEL",OBJPROP_PRICE1);
double DownLevelPrice=ObjectGet("DOWN_LEVEL",OBJPROP_PRICE1);
// ---------------------------------------------------------------------------------------- //--------- калькулятор расстояний между этими линиями ---------------int Rasst=(UpLevelPrice-DownLevelPrice)/Point;
fm=ObjectCreate("DIAPAZON",OBJ_LABEL,0,0,0);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSetText("DIAPAZON","Канал = "+Rasst+" pt.",24,"Verdana",Blue);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_CORNER,0);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_XDISTANCE,350);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
fm=ObjectSet("DIAPAZON",OBJPROP_YDISTANCE,315);
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
// ------------------------------------------------------------------Sleep(5000);
//-------- удаляем надпись с экрана -----------------------------
fm=ObjectDelete("DIAPAZON");
if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
}
我有几条水平线,我需要在它们之间定义不同组合的配额。我正在寻找一个能完成这项工作的脚本或指标。谢谢你的反馈。
我不是专业的编程人员,所以我很乐意帮忙,但是......
有几条水平线,我需要在不同的组合中确定它们之间的配额,原则上,在这个阶段,我对两条线之间的确定相当满意,其余的我将手动完成。也许有一个现成的脚本或这样一个指标?谢谢你的反馈。
如果你需要,我可以给你准备好的代码。这并不复杂。
这是不正确的,因为字符串double MyKoren(double MyValue=36){ 将变量MyValue初始化为值=36 。这没有意义,因为我们将值=传递给DlyaKornya变量进入子程序 。
这是默认的...如果函数是这样调用的:double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1。
答案清楚吗?
这是默认的...如果函数是这样调用的:double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1。
你得到答案了吗?
我再重复一遍。
... 在其中初始化一个变量,其值=36,可能只有在调用函数 时不指定参数时才会起作用。
...总之,你最好不要使用像double MyKoren(double MyValue=36){这样的结构,而是按照它应该有的样子写--double MyKoren(double MyValue){,否则你会想知道为什么子程序不能正常工作。
请理解,如果你使用像double MyKoren(double MyValue=36){这样的结构,后面再调用像你的double rex=(MyKoren()+1)...失去控制是小事一桩。特别是对于初学者来说。
我再说一遍。
... 在其中初始化一个变量,其值=36,可能只有在调用函数时没有参数的情况下才会起作用。
...总之,你最好不要使用double MyKoren(double MyValue=36){类型的结构,并把它们写成应该的样子--double MyKoren(double MyValue){,否则你会想知道为什么子程序不按规定工作。
请理解,如果你使用像double MyKoren(double MyValue=36){这样的结构,后面再调用像你的double rex=(MyKoren()+1)...失去控制是小事一桩。特别是对于初学者来说。
)))
但你会记住页码的。
否则就会产生密钥。
;)
这是另一个主题 - 我迷路了。请原谅我。
邮件在盘旋。(c) AS普希金
你不应该张贴赃物。
下午好...你能告诉我如何启用如Ilan_19在这里发布的EA吗...关于Alpari五位数 的工作...安装了它,但它没有工作......
下午好...你能告诉我如何启用如Ilan_19在这里发布的EA吗...关于Alpari五位数的工作...安装了它,但它没有工作......
不工作是一个弹性术语...到底是什么原因造成的,发生了什么,等等。
Pilligrim:
不交易...