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

 
Urain:

MathRand在使用前应先用MathSrand()进行初始化

我建议将TimeLocal()作为MathSrand()的一个参数传递。

需要初始化一次,然后对于32768次查询,MathRand()不被检测。

之后,如果你想要一个新的序列,你可以重新初始化它,否则会发生同样的事情。

你当然可以初始化每个步骤,但你需要监控初始化参数的变化。

否则就是同样的顺序。


这就是我的工作。什么是 "时间锁"?

我在同一个故事上有同样的一套。

 
有没有人给我一个提示...我已经写了第三次了,没有人回答......AccountEquity()上面的一个栏(在过去的一个栏)如何写?
 
vlad123:


这就是我的工作。什么是 "时间锁"?

我在同一个故事上有同样的一套。


教科书上的例子。

datetimeTimeLocal()

该函数返回本地计算机时间,即从1970年1月1日00:00起经过的秒数。
注意:在测试时,本地时间 是模拟的,与模拟的最后已知服务器时间相匹配。

例子。

MathSrand(TimeLocal());
  // Отображает 10 чисел.
  for(int i=0;i<10;i++ )Print("произвольная величина ", MathRand());

 
sllawa3:
谁能告诉我?...AccountEquity() 上面的一个柱子(在过去的一个柱子上)如何写?

答案:不可能。
AccountEquity()返回权益的数量,并不取决于条形图的数量
你不能仅仅通过回滚历史条数来了解它以前的数值。
其价值取决于开仓/平仓、盈利/亏损交易的数量。
为了记录 "股本的历史",创建一个静态数组,并将AccountEquity()的值记录到其中,例如,在每次开盘时。
因此,我们需要滚动浏览数组以获得股权变化的历史。

 
sllawa3:
谁给我一个提示...AccountEquity() 上面的一个柱子(在过去的一个柱子上)如何写?

看起来我们需要在每个新的条形图 上把它存储在一个变量中,比如说这样。

1.将init()函数中的初始权益值存储在一个变量中,例如EquAkk=AccountEquity()。

2.检查新条形图的出现 当然不是在init中 ),如果是,那么
{
LastEqu=EquAkk; //在变量中存储过去(我们需要的)股权值
EquAkk=AccountEquity(); //记录新的股权值(为下一个 "过去 "的值)
}

这样,LastEqu 变量将存储过去条形图的股权值,其值将在下一个条形图被打开时再次被覆盖...

...我自己写的,没有检查,而且我已经睡着了,所以不要踢我太多......
我想我明白了。....

 
ToLik_SRGV:

答案:不可能。
AccountEquity()返回权益的数量,并不取决于条形图的数量。
你不能仅仅通过回滚历史条数来了解它以前的数值。
其价值取决于开仓/平仓、盈利/亏损交易的数量。
为了记录 "股本的历史",创建一个静态数组,并将AccountEquity()的值记录到其中,例如,在每次开盘时。
因此,有可能通过滚动阵列来获得股权变化的历史。



所以,你仍然可以
 
sllawa3:
所以,你仍然可以


好吧,我也写了同样的东西,但我没有用变量,而是提出用数组来代替。

为了记录 "股本的历史",你需要,例如,创建一个静态数组,并在其中记录AccountEquity()的值,例如,在每个栏的开盘时。
因此,应该通过滚动阵列来获得股权变化的历史。

 
伙计们,我搞不清楚如何在图表上设置箭头,一个是过去80天的最高条,另一个是同样80天的最低条。我已经创建了这个代码,但它在集群中抛出箭头...我需要在过去80天的每个 条形图的最小和最大处有一个箭头,然后是接下来的80天,等等。你能给我一个提示吗?
//====================================================================================
   int      NBars,MostHiBar, MostLoBar;
   double   MostHiPrice,MostLoPrice;
   datetime TMostHiBar,TMostLoBar;
   
//-----------------------------------------------------------------
   NBars       = 80;
   MostHiBar   = iHighest(NULL,PERIOD_D1,MODE_HIGH,NBars,0);      // Номер "максимального" бара
   MostLoBar   = iLowest (NULL,PERIOD_D1,MODE_LOW, NBars,0);      // Номер "минимального" бара
   MostHiPrice = iHigh   (NULL,PERIOD_D1,MostHiBar);              // Цена  "максимального" бара
   MostLoPrice = iLow    (NULL,PERIOD_D1,MostLoBar);              // Цена  "минимального" бара
   
   TMostHiBar  = iTime   (NULL,PERIOD_D1,MostHiBar);              // Время открытия "максимального" бара
   TMostLoBar  = iTime   (NULL,PERIOD_D1,MostLoBar);              // Время открытия "минимального" бара

   Comment (
            "\n", 
            "Наибольшая цена за ", NBars, " дней = ", MostHiPrice, "\n",
            "Наименьшая цена за ", NBars, " дней = ", MostLoPrice, "\n",
            "Время наибольш. бара = ", Time[MostHiBar], "\n",
            "Время наименьш. бара = ", Time[MostLoBar]   // сюда пробовал и TMostLoBar вставлять - пофигу...           
           );
           
   SetArrow(241, MediumSpringGreen, "", Time[MostHiBar], High[MostHiBar], 0);
   SetArrow(242, OrangeRed, "", Time[MostLoBar], Low[MostLoBar], 0);
//====================================================================================
//+----------------------------------------------------------------------------+
//|  Автор    : Ким Игорь В. aka KimIV,  http://www.kimiv.ru                   |
//+----------------------------------------------------------------------------+
//|  Версия   : 12.10.2007                                                     |
//|  Описание : Установка значка на графике, объект OBJ_ARROW.                 |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    cd - код значка                                                         |
//|    cl - цвет значка                                                        |
//|    nm - наименование               ("" - время открытия текущего бара)     |
//|    t1 - время открытия бара        (0  - текущий бар)                      |
//|    p1 - ценовой уровень            (0  - Bid)                              |
//|    sz - размер значка              (0  - по умолчанию)                     |
//+----------------------------------------------------------------------------+
void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=0) 
{
  if (nm=="") nm=DoubleToStr(Time[0], 0);
  if (t1<=0) t1=Time[0];
  if (p1<=0) p1=Bid;
  if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
  ObjectSet(nm, OBJPROP_TIME1    , t1);
  ObjectSet(nm, OBJPROP_PRICE1   , p1);
  ObjectSet(nm, OBJPROP_ARROWCODE, cd);
  ObjectSet(nm, OBJPROP_COLOR    , cl);
  ObjectSet(nm, OBJPROP_WIDTH    , sz);
}
//====================================================================================
 
你能告诉我,是否可以在MT中通过止损开仓?例如,将止损放在支撑位/顶点后面,如果它突破了,止损就会打开仓位。
 
Craft:
你能告诉我,是否可以在MT中通过止损开仓?例如,将止损放在支撑/顶点后面,如果突破了,止损就开仓。 。

当然。只是它不叫止损,而是一个挂单。打开你的终端。在里面按F1。在出现的窗口中,打开内容-贸易-订单类型。