[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 42

 
TarasBY:

在指标调用中缺少一个变量--缓冲区!!!。


它正在工作,再次感谢。
 

向行家们提问。

在真实图表上有一个代码,注释是正确的。在策略测试器中,所有的值都等于2147483647。

这里有什么问题吗?

或者我们应该在检查中加入EMPTY_VALUE

我们是否应该总是将从指标中获得的数据归一化,以便在5位数内进行相互比较?

double adxLastBuy,adxLastSell,adxLast;

for (int i=0; i<Bars; i++)
{
   adxLastBuy=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,i); if (adxLastBuy>0) break;
   
}
for (int j=0; j<Bars; j++)
{
   
   adxLastSell=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,j); if (adxLastSell>0) break;
}

for (int k=0; k<Bars; k++)
{
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,0,k); if (adxLast>0) break;
   adxLast=iCustom(NULL,0,"Adx_crossing",ADXbars,CountBars,1,k); if (adxLast>0) break;
}



 Comment("Цена последнего ADX Покупки: ", adxLastBuy, " Цена последнего ADX продажи: ", adxLastSell, " Последний сигнал ", adxLast );
 
Twilight:

向行家们提问。

在真实图表上有一个代码,注释是正确的。在策略测试器中,所有的值都等于2147483647。

这里有什么问题吗?

或者我们应该在检查中加入EMPTY_VALUE?

我们是否应该总是将从指标中获得的数据归一化,以便在5位数内进行相互比较?

使用iCustom 时,它是强制性的。喜欢。
if(signal!=0 && signal!=EMPTY_VALUE){
   BuySignal=true;
}
 
嗯......还有一个问题......蜂鸣声有时听起来像是设置在News.wav代码中,更多时候是响起Alert.wav。

#property copyright "Copyright © 2012"
#property link      "Не ссать  против ветра "
 
 extern bool       Будильник      = true ;
 extern string SoundFile      =  "News.wav";
 
int start ()                                  
{
 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 
if (Будильник ==true)
{

  {
 if ( a > b ) 
       
 {  
  Alert("BUY
  PlaySound(SoundFile);
  Sleep(100000);
  }
 }
}


return(0);}
 
odiseif:
嗯......还有一个问题......蜂鸣声有时听起来像是设置在News.wav代码中,更多时候是响起Alert.wav。

能否请你告诉我错误在哪里?
 

请帮助我,告诉我如何在两到三行内实现EA代码。

当有信号出现时(例如,两个MAs的交叉点)

1.专家顾问确定信号的时间(以小时、分钟为单位),存储它。

2.倒数一分钟。

接下来,准备做一些事情(如开立一个订单)。
 
Twilight:

向行家们提问。

在真实图表上有一个代码,注释是正确的。在策略测试器中,所有的值都等于2147483647。

这里有什么问题吗?

或者我们应该在检查中加入EMPTY_VALUE?

我们是否应该总是将从指标中获得的数据归一化,以便在5位数内进行相互比较?

指标缓冲区有一个 "空值 "的概念。它(默认)等于EMPTY_VALUE,但可以使用SetIndexEmptyValue()函数来改变它。这是缓冲区在图表中不画的值(如果它真的画的话)。如果有必要,需要检查的是缺失的值。
 
odiseif:
嗯......还有一个问题......蜂鸣声有时听起来像News.wav代码,更多时候是Alert.wav的声音。

这里写了一些胡话。

 double  a=iCustom(NULL,0,"HMA_Russian_Color",5,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0); 
 double  b=iCustom(NULL,0,"HMA_Russian_Color",8,MODE_LWMA,PRICE_MEDIAN,"Uptrend[]",0);

阅读关于iCustom()

 
Andrey-F:

请帮助我,告诉我如何在两到三行内实现EA代码。

当有信号出现时(例如,两个MAs的交叉)。

1.专家顾问确定信号的时间(以小时、分钟为单位),存储它。

2.倒计时1分钟。

接下来,准备做一些行动(如开立一个订单)。

一个全局变量 中,你写下了收到信号时的时间值。

    if (Signal) gdt_TimeSignal = TimeCurrent();

然后倒数你的一分钟(你可以这样做)。

    if (gdt_TimeSignal != 0) if (iBarShift (NULL, 1, gdt_TimeSignal) == 1)
    {
        //---- Открываете ордер
        OrderSend ();
        gdt_TimeSignal = 0;
    }

这是跟踪事件发生后的时间的一个解决方案。

 
TarasBY:

在一个全局变量中,写入信号发生时的时间值。

然后倒数你的一分钟(你可以这样做)。

这是跟踪某些事件发生后的时间的一种解决方案。



或者,你可以在信号到达后设置任何时间
if (Signal) gdt_TimeSignal = TimeCurrent();
//
//
//
if (TimeCurrent()-gdt_TimeSignal >=60)
     {
     //
     }
原因: