[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 27

 
volshebnik:
是的,非常感谢你的精彩说明。我已经在所有TF中实施了优化。我将让我知道在对不同的细分市场进行优化+测试后的结果。


你问的是能否以编程方式列举和优化可能的TF,以便在专家顾问中 获得其指标值。这可以通过以下方式实现--例如

下面是执行该操作的文件中专家顾问的一些代码片断--那里的一切都有注释描述。

......
extern int t_trend_period=7;
......

int trend_period=GetPeriod(t_trend_period); // это ф-ия для определения ТФ согласно заданному значению t_trend_period - заданному во внешней переменной (диапазон от 0 до 7)

double t_stoch_main=iStochastic(NULL,trend_period,t_Kperiod,t_Dperiod,t_slowing,MODE_SMA,0,MODE_MAIN,0);
......

// сама ф-ия выбота ТФ для оптимизации по всем периодам 
int GetPeriod(int period)
{int periodres;
 switch(period)
  {
   case 1: periodres=1;break;
   case 2: periodres=5;break;
   case 3: periodres=15;break;
   case 4: periodres=30;break;
   case 5: periodres=60;break;
   case 6: periodres=240;break;
   case 7: periodres=1440;break;
   default: periodres=1;break;
  }
return(periodres);
}

愿别人能发现它的作用。

附加的文件:
 

请指教!如何使,比方说,在每小时的时间框架(H1)中打开了一个新的条形,在这个条形中时间被计算了大约50分钟,50分钟后将有一个信号。我听说过 "睡眠"。

 
anton777:

请指教!如何使,比方说,在每小时的时间框架(H1)中打开了一个新的条形,在这个条形中时间被计算了大约50分钟,50分钟后将有一个信号。我听说过 "睡眠"。

int minutes=50; 

if(TimeCurrent()>=iTime(NULL,PERIOD_H1,0)+minutes*60){

   /// 

}
 

我有一个奇怪的事情--图表上的自定义指标 和EA内部的数字完全不同。该指标是MetaStock的LinearReg的MQL类似物。其写法如下

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Magenta

extern int  RPeriod = 20;

int shift = 0, cnt = 0,loopbegin = 0;
bool first = True;
int prevbars = 0;
double sum =0, WT = 0;
int i = 0;

double val1[];

int init()
{
SetIndexBuffer(0,val1);
   return(0);
}

int start()
{
   if (RPeriod<1) 
   {
   return(0);
   }
   loopbegin=Bars-RPeriod-1;
   for (shift=loopbegin; shift>=0; shift--)
   {
      sum=0;
      for (i=RPeriod; i>=1; i--)
      {
         sum=sum+(i-(RPeriod+1)/3)*Close[RPeriod-i+shift];
      }
      WT = sum*6/(RPeriod*(RPeriod+1));

           val1[shift] = WT;
        }
   return(0);
}
当它被连接到图表上时,显示的结果与MetaStock完全相同。但只要它被连接到交易专家顾问,它的值就会高于1.4(在它的indicator_chart_window属性),在欧元兑美元,报价约为1.29。自然,MetaStock的再现交易系统不能工作,事实证明,他们总是持有相同的立场。如果我点击EA结果,这个指标的线条仍然很远,但如果我简单地重新编译,图表立即变得正确,就像在MetaStock中一样。我搞不清楚为什么会有这样的区别。
 

亲爱的专家们,你们好!

我想请求您的帮助!我想试着做我的第一个专家顾问,有任务...
1-Pips
2-М5
3-可以设置停止和收回的参数。
4--在每次达到这个水平时,有可能(可选择)加入位置逆转,而不是起飞。
通过热键手动停止它,比方说。
5 - 绝对没有诱因。
就这样吧,我希望我没有下载。
事实上,我至少需要一些来源的nitsy,或布局,好了,这不会是很复杂的,我是如此acrome脚本没有做任何事情,那就是,tokmo准备改造主要是为了自己。
我希望得到您的帮助

 
Mr.Ross:

你们好!

我想请求您的帮助!我想试着做我的第一个专家顾问,有任务...
1-Pips
2-М5
3-可以设置停止和收回的参数。
4--在每次达到这个水平时,有可能(可选择)加入位置逆转,而不是起飞。
通过热键手动停止它,比方说。
5 - 绝对没有诱因。
就这样吧,我希望我没有下载。
事实上,我至少需要一些来源的nitsy,或布局,好了,这不会是很复杂的,我是如此acrome脚本没有做任何事情,那就是,tokmo准备改造主要是为了自己。
我希望得到您的帮助

https://www.mql5.com/ru/articles/1413
 
Mr.Ross:

我想请求您的帮助!

如果你不了解编程部分,我们会帮助你,但不要忘记:"拯救溺水者--溺水者自己"=你展示的部分代码 有不清楚的地方,1.5千行的代码--放弃它,自己整理出来;)
 
Ilya81:

我有一个奇怪的事情

尝试直观地比较一些简单的指标和专家顾问通过iCustom()从该指标接收的数据。 我认为MovingAverage是一个好的实验指标。

你一定是错误地使用了iCustom()函数

 
Integer:

非常感谢您!
 

如果有人在instaforex mt4工作,也许他们已经遇到了问题。

他们在演示中是四位数,在真实中是五位数,但非常奇怪--出价和要价都四舍五入到四位数。


这里有这样一个代码。

   if (Poz_Up)
      {
         ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,NormalizeDouble(Bid-300*Point,Digits),NormalizeDouble(Ask+300*Point,Digits),Komment,0,Green);
      }
   if (Poz_Dn)
      {
         ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,3,NormalizeDouble(Ask+300*Point,Digits),NormalizeDouble(Bid-300*Point,Digits),Komment,0,Green);
      }

我有一种感觉,我不知道该怎么做。当我开仓时,它给出了SL&TP,然后是300pp,然后是3000pp,好像我只是想知道每次我得到一个新的数字是什么。

谁能建议一下如何解决这个问题,有没有人遇到过类似的情况,还是只有我一个人?