KimIV的有用功能 - 页 78

 
granit77 писал(а)>>

有多少人就有多少意见。令人欣慰的是,我的意见与komposterPrival的 链接上的意见相吻合。

作为一个建议:在你的案例中,如果你的EA中有两个魔力,你可以使用为该对和TF产生的魔力及其负值。

好主意。

   if( UpDn)
      Magic_№= GetMagic(StringConcatenate("Expert",Symbol()), TF);
   else
      Magic_№=- GetMagic(StringConcatenate("Expert",Symbol()), TF);
 
你有什么脚本可以在测试器中模拟开仓 吗? 例如,手动交易的系统,我把所需的指标放在图表上,并运行专家顾问--使测试器工作。从指数形成的信号,我在图表上发送脚本,它模拟开仓交易。以此类推,每个信号。然后我看看策略是否盈利。
 
berserker >> :
你知道是否有任何脚本可以在测试器中模拟开仓。 例如,手动交易系统,我把必要的指标放在图表上,并运行任何专家顾问 - 使测试器工作。从indyuki形成的信号,我把脚本扔在图表上,它模拟开仓交易,并为每个信号等,然后我看盈利的策略或不。

可视化测试。手动交易。 以及指标和信号的视觉盈利能力测试

 
berserker >> :
你知道是否有任何脚本可以在测试器中模拟开仓。 例如,手动交易系统,我把必要的指标放在图表上,并运行任何专家顾问 - 使测试器工作。从indyuki形成的信号,我把脚本扔在图表上,它模拟开仓交易,并为每个信号等,然后我看盈利的策略或不。
https://forum.mql4.com/ru/20511
 
我想获得从时间x(小时分钟)到时间y(小时分钟)的价格高点的值。在当前时间,我对这个范围的值感兴趣,如果它已经过去了,如果没有,则是前一个。 难道没有人有这种类型的发展吗?
double HourlyHigh(string _smb,int StHour,int StMin,int EndHour,int EndMin)
{
 int _hour,_minute;
 double max;
 max=0;
 _hour=TimeHour(iTime(_smb,1,0)); 
 if (_hour>= EndHour+1)
  for (int i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&& max<iHigh(_smb,1, i)&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1,0)))
       max=iHigh(_smb,1, i);//&&TimeMinute(iTime(_smb,1,i))>=StMin&&TimeMinute(iTime(_smb,1,i))<=EndMin
 else
    for ( i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1, i-1440)))
       max=iHigh(_smb,1, i);
   return ( max);     
}
double HourlyLow(string _smb,int StHour,int StMin,int EndHour,int EndMin)
{
 int _hour,_minute;
 double min;
 min=9999.0;
 _hour=TimeHour(iTime(_smb,1,0)); 
 if (_hour>= EndHour+1)
  for (int i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1,0)))
       min=iLow(_smb,1, i);
 else
    for ( i=2880; i>=0; i--)
   if (TimeHour(iTime(_smb,1, i))>= StHour&&TimeHour(iTime(_smb,1, i))<= EndHour&& min>iLow(_smb,1, i)&&TimeDay(iTime(_smb,1, i))==TimeDay(iTime(_smb,1, i-1440)))
       min=iLow(_smb,1, i);
  return ( min);
  
}
我尝试了一些方法,但由于某些原因,我在输出中得到了0。而且它同时在寻找高点和低点。
 
zfs писал(а)>>
我想获得从时间x(小时分钟)到时间y(小时分钟)的高价值。难道没有人有这种类型的发展吗?我尝试了一些方法,但由于某些原因,我在输出中得到了0。而且它同时在寻找高点和低点。

你试过iHighest和iLowest功能吗?你所要做的就是将所需的时间转化为指数,你就会得到你所要的结果......

 
kharko >> :

你试过iHighest和iLowest功能吗?你所要做的就是把所需的时间转换成索引,你就会得到你所要的结果...

谢谢你。我将尝试一下。

 
granit77 >> :

有多少人就有多少意见。我的与komposter在Prival的链接上的意见不谋而合,这很让人心动。

我现在已经放弃了使用mejic中的图表周期。

有时我想在专家顾问运行时切换TF,但这种生成方法会立即 "启动另一个EA"。


我尝试使用extern TimeFrame来代替Period(),这样EA就能在任何周期的图表上同样工作。

 

再一次,一个大的 "Ahem..."。

我在周末注意到这个(对我来说)与时间有关的不愉快的事情。

StrToTime("01:25")

假设所有时间都是相对于服务器时间计算的

(或其最后的已知值)(好吧,当然除了TimeLocal())。

然而,事实并非如此,我已经浪费了很多时间,试图弄清楚

错误过滤的原因...:(((你活到老学到老......。


SZY: 如果有一个内置的函数可以直接计算出某一时间的价格,那就很有用了。

我目前正在这样做。

double shvr=iLow(Symbol(),15,iBarShift(Symbol(),15,StrToTime("01:25")));
 
kombat писал(а)>>

所以你不必猜测。>> 检查...

Print(TimeToStr(StrToTime("01:25"), TIME_DATE| TIME_MINUTES));