[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 777

 
RekkeR:
我有几条水平线,我需要在它们之间定义不同组合的配额。我正在寻找一个能完成这项工作的脚本或指标。谢谢你的反馈。

我不是专业的编程人员,所以我很乐意帮忙,但是......

 
RekkeR

有几条水平线,我需要在不同的组合中确定它们之间的配额,原则上,在这个阶段,我对两条线之间的确定相当满意,其余的我将手动完成。也许有一个现成的脚本或这样一个指标?谢谢你的反馈。

如果你需要,我可以给你准备好的代码。这并不复杂。

//+------------------------------------------------------------------+
//| 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){// тут можно вывести сообщение об ошибке}
}
 
drknn:

这是不正确的,因为字符串double MyKoren(double MyValue=36){ 将变量MyValue初始化为值=36 这没有意义,因为我们将值=传递给DlyaKornya变量进入子程序


这是默认的...如果函数是这样调用的:double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1

答案清楚吗?

 
Sorento:

这是默认的...如果函数是这样调用的: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)...失去控制是小事一桩。特别是对于初学者来说。

 
drknn:


我再说一遍。

... 在其中初始化一个变量,其值=36,可能只有在调用函数时没有参数的情况下才会起作用。

...总之,你最好不要使用double MyKoren(double MyValue=36){类型的结构,并把它们写成应该的样子--double MyKoren(double MyValue){,否则你会想知道为什么子程序不按规定工作。

请理解,如果你使用像double MyKoren(double MyValue=36){这样的结构,后面再调用像你的double rex=(MyKoren()+1)...失去控制是小事一桩。特别是对于初学者来说。

)))

但你会记住页码的。

否则就会产生密钥。

;)

这是另一个主题 - 我迷路了。请原谅我。

邮件在盘旋。(c) AS普希金

 
drknn:
你不应该张贴赃物。
你为什么认为我偷了什么?该指标在互联网上以mql格式免费提供。这与不发布反编译的指数有什么关系?我个人没有反编译过任何东西。我发现了它,我喜欢它,并要求给予提醒。有什么问题呢?
 

下午好...你能告诉我如何启用如Ilan_19在这里发布的EA吗...关于Alpari五位数 的工作...安装了它,但它没有工作......

 
Pilligrim:

下午好...你能告诉我如何启用如Ilan_19在这里发布的EA吗...关于Alpari五位数的工作...安装了它,但它没有工作......

不工作是一个弹性术语...究竟是什么原因造成的,发生了什么事,等等,等等。
 
artmedia70:
不工作是一个弹性术语...到底是什么原因造成的,发生了什么,等等。
没有交易...
 

Pilligrim:

不交易...

他也不需要交易。
原因: