KimIV的有用功能 - 页 97

 

终端有一个设置等距通道 的选项,你可以设置它而不是画趋势线。

这里有一个类似于趋势线设置的函数

// установка равноудалённого канала
void SetСhannel(string nm,datetime t1,double p1,datetime t2,double p2,datetime t3,double p3,color cl=Red,int st=0,int wd=1,bool ry= False){
// Параметры:
// nm - наименование               (  ""  - текущее время)
// t1,t2,t3 - время открытия бара  (  0   - Time[10]
// p1,p2,p3 - ценовой уровень      (  0   - Low[10])
// cl - цвет линий
// st - стиль линий                (  0   - простая линия)
// wd - ширина линий               (  1   - по умолчанию)
// ry - луч                        (False - по умолчанию)

  if( nm=="") nm=TimeToStr(TimeCurrent(), TIME_DATE| TIME_SECONDS);
  if(ObjectFind( nm)<0){
   ObjectCreate( nm,OBJ_CHANNEL,0, t1, p1, t2, p2, t3, p3);
   ObjectSet( nm, OBJPROP_COLOR, cl);
   ObjectSet( nm, OBJPROP_STYLE, st);
   ObjectSet( nm, OBJPROP_WIDTH, wd);
   ObjectSet( nm, OBJPROP_RAY, ry);
  }
  ObjectSet( nm, OBJPROP_TIME1, t1);
  ObjectSet( nm, OBJPROP_PRICE1, p1);
  ObjectSet( nm, OBJPROP_TIME2, t2);
  ObjectSet( nm, OBJPROP_PRICE2, p2);
  ObjectSet( nm, OBJPROP_TIME3, t3);
  ObjectSet( nm, OBJPROP_PRICE3, p3);
}
 
Roger писал(а)>>

它似乎在右边。

哎呀......。

 
DECIDE >>:

в терминале есть возможность установки равноудалённого канала, можно вместо отрисовки трендовых линий устанавливать его

вот составил функцию по подобию установки трендовой линии

有趣的

如何设置线条之间的距离?

 

距离是自己设定的,你只需要指出三个点t1,p1,t2,p2,t3,p3

我放弃了这个功能(它有一条短线),画趋势线 更容易,更有指导意义

 
DECIDE >>:

растояние само устанавливается, надо только указать три точьки t1, p1, t2, p2, t3, p3

отказался я от этой функции(там одна линия короткая), проще, нагляднее просто трендовые линии рисовать

设置线条之间的距离

第二条线应该相对于第一条线(趋势线)移位,并在水平方向上 与之平行,移位幅度为一定的条数--例如,移位5条。

这也是一个等距通道,根据基线设置和趋势方向,向上或向下切割尖峰。

 

该函数从重复的数组中删除零,并返回数组中最小值的索引。

int ArrMin(double & x[]){
  while( x[ArrayMinimum( x)]==0){
    for(int i=ArrayMinimum( x); i<ArraySize( x)-1; i++){
      x[ i]= x[ i+1];
    }
    ArrayResize( x,ArraySize( x)-1);
  }
  return(ArrayMinimum( x));
}
 

大家下午好!

我不知道这个问题是否已经讨论过了......但我想建议为EA制作一个功能,使其在固定的余额下工作。

这对于优化EA 是必要的。

我们这里的情况是这样的:当我们启动EA时,它开始赚钱,AccountBalance开始增加,EA使用的余额也越来越多。

如果我们引入一个变量,如Valance,并在其中设置一个金额,EA将 "看到 "并只为这个金额购买。这将使我们认为,每次EA开始工作时,它都会认为自己只有余额资金可供支配,在整个测试期间,我们将能够相信,如果我们在任何一天切换EA,排除真实余额变化的因素,EA将如何工作。

通过这个变量的优化,专家顾问今后的工作将更加正常。

唯一要做的事情就是编写这样一个函数。

这是我所知道的一切。

外来的双倍余额=10000。

int init() {

//在EA操作的开始时修复余额

Balance=AccountBalance。

返回(0)。

}

int start {

//-------------------------

???

//-------------------------

}

而写什么呢?我不知道。如果EA有一个函数,它使用AccountBalance计算给定手数的可能开仓订单数量,你可以直接用一个变量替换AccountBalance(),但不是所有的EA都明确这样做。

 

Не знаю, может этот вопрос уже обсуждался... Но я хотел предложить сделать функцию для работы советника с фиксированным балансом.

我是这样解决这个问题的

我有很多不同的专家顾问,当我启动任何一个专家顾问时,一天中的第一次,账户余额被存储在一个全局变量 中,基于此,专家顾问计算出手数和由此产生的收入,在图表的注释中显示信息(产量:某某%)。

 
DECIDE писал(а)>>

我有很多不同的EA,当我启动任何一个EA时,一天中的第一次,账户余额被保存在一个全局变量中,在此基础上,EA计算出手数和由此产生的收入,在图表中的评论中显示信息(收益率:某某%)。

你能和我们分享一下如何做到这一点的细节吗?

 

нужна мне такая возможность - параллельного горизонтального смещения (копирования, переноса...) трендовой линии на определенное кол-во баров

Geronimo,在我的个人或ICQ:9773190中更详细地描述一下算法,我们不要把线程弄得太乱。

任何我可以帮助的方式

分享一下如何做到这一点的细节?

Nail_Saby, 我描述了要点,你可以用不同的方式来实现它,这取决于你的需求方式和具体内容。