交易中的机器学习:理论、模型、实践和算法交易 - 页 2236

 

带有python程序的mql5专家顾问功能的最终版本。

顾问中有2个功能,一个是更新文件中的时间,第二个是读取文件中的实际交易信号,这是在python程序中形成的。

void OnTick()
  {
   if(!isNewBar())
      return;
   file_refresh_time();
   sig =StringToDouble(file_read_signal());
}

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string  file_refresh_time()
  {
   string time  = TimeToString(TimeCurrent());
   bool read =false;
   string file_buff[];
   ArrayResize(file_buff,1);
   file_buff[0] = time;
   ArrayResize(file_buff,2);
   file_buff[1] = "not_actual";
   ArrayResize(file_buff,3);
   file_buff[2] = DoubleToString(sig);

   while(1)
     {
      int h=FileOpen("test.txt",FILE_WRITE|FILE_ANSI|FILE_TXT|FILE_COMMON);
      if(h==INVALID_HANDLE)
        {
         continue;
        }
      if(h!=INVALID_HANDLE)
        {
         for(int i=0; i<ArraySize(file_buff); i++)
            FileWrite(h,file_buff[i]);

         FileClose(h);

         break;
        }

     }
   return("0");
  }

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string  file_read_signal()
  {
   string sg="0.5";
   bool read =false;
   while(1)
     {
      if(read==false)
        {
         string time  = TimeToString(TimeCurrent());
         int h=FileOpen("test.txt",FILE_READ|FILE_ANSI|FILE_TXT|FILE_COMMON);
         if(h==INVALID_HANDLE)
           {
            continue;
           }
         if(h!=INVALID_HANDLE)
           {
            int cnt=0;
            while(!FileIsEnding(h))
              {
               string str=FileReadString(h);
               StringTrimLeft(str);
               StringTrimRight(str);
               if(cnt == 1 && str == "actual")
                 {
                  read =true;
                 }

               if(read ==true && cnt == 2)
                 {
                  sg =str;
                 }
               cnt++;
              }
            FileClose(h);
            if(read ==true)
              {
               FileClose(h);
               break;
              }
           }

        }

     }
   return(sg);
  }

在Python程序中,在 "非实际 "状态下,将进行当前时间 的读取、实际信号的计算并将其记录在文件中。

terminal_dir = "C:/Users/AdmNB0225/AppData/Roaming/MetaQuotes/Terminal/Common/Files/"
a=0
old_rez = 0
rez = []
while True:

    try:
        with open(terminal_dir+'test.txt', 'r') as file:
            rez = [row.strip() for row in file]
    except IOError:
        pass

    if rez != old_rez and len(rez)!=0:
        print(rez)
        if rez[1] == "not_actual":
            rez[1] = "actual"
            date = rez[0]
            date = datetime.strptime(date, '%Y.%m.%d %H:%M')
            rez[2] = get_signal(date)


            try:
                with open(terminal_dir + 'test.txt', 'w') as file:
                    file.writelines(str(i)+'\n' for i in rez)
            except IOError:
                pass

    old_rez = rez
    # time.sleep(2)

这种胶水的速度不是很快,但它可以独立工作。在策略测试器中,在演示模式下,它是有效的,我还没有在真实模式下试过。如果有任何问题或想法可以改进,请写,否则主题就会停滞不前......

[删除]  
welimorn:

带有python程序的mql5专家顾问功能的最终版本。

顾问中有2个功能,一个是更新文件中的时间,第二个是读取文件中的实际交易信号,这是在python程序中形成的。

在python程序中,在 "not_actual "状态下,进行当前时间 的读取、实际信号的计算以及在文件中的记录。

这种胶水的速度不是很快,但它可以独立工作。在策略测试器中,在演示模式下,它是有效的,我还没有在真实模式下试过。如果有,问题或想法,因为它是可能的改善,写,和该主题作为停滞......

当我转向更复杂的递归类型模型时,我被笔记本的速度拖累了。似乎无法研究其他合理的东西。

有一个新的好的视频适配器)需要在新年得到它。

 
Maxim Dmitrievsky:

当我转向更复杂的递归类型模型时,我被我的笔记本电脑的速度所吸引。似乎无法研究其他合理的东西。

有一个新的视频适配器)需要在新的一年给自己买一份礼物。

为什么要用笔记本电脑?任务很重。

[删除]  
Valeriy Yastremskiy:

为什么要用笔记本电脑?任务很重。

因为你不能在晚上把桌面放在你的肚子上,放在沙发上。

它没有那么重,但一个有两个移动核心的超极本并不出色。

他们甚至不需要显卡,只需要一个好的CPU。

 
Maxim Dmitrievsky:

因为你不能在晚上把桌面放在你的肚子上,在沙发上。

它没有那么重,但一个拥有2个移动核心的超极本并不出色。

事实上,你甚至不需要显卡,只需要一个好的CPU。

在平板电脑上,从普通电脑上翻译图像,从电脑上的鼠标收音机+键盘

 
Maxim Dmitrievsky:

因为你不能在晚上把桌面放在你的肚子上,在沙发上。

它没有那么重,但一个有两个移动核心的超极本并不出色。

事实上,你甚至不需要显卡,只需要一个好的CPU。

肚量大、任务重))))对于这些任务,一个农场也无妨)))。五个i9,32gb内存和一个轻型ssdc)))))

 

如果你训练地狱般的目标,这些能力又有什么用呢...。

结果是显而易见的,即使是100个i9s。

Aleksey Vyazmikin:

同样的梯度被用于提升。这只是扩大知识和适合MO的方法的信息。

你可能已经忘记了,但我完全没有看到。

 
mytarmailS:

好吧,那又怎样,你是不是做了什么? 还是只是扔了视频就忘了?

不,我没有,我不能解决这样的问题--这是一个复杂的算法,我必须自己写提升。

 
Aleksey Vyazmikin:

不,我没有,我不能解决这样的问题--这是一个复杂的算法,我需要自己写升压。

它已经写了很久,你可以在5行....。

摆脱它没有mql,它所能做的就是打开/关闭交易

 
Maxim Dmitrievsky:

当我转向更复杂的递归类型模型时,我被我的笔记本电脑的速度所吸引。似乎无法研究其他合理的东西。

挑选了一个新的好的电子游戏)得为我在除夕夜买一个。

我有同样的问题。我必须将kotier的所有图形解释存储在50x50像素的图像中))做一个更小的图像是没有意义的,准确性会下降太多。 更大的图像会增加卷积层宽度和网络深度,这将大大增加训练时间。我也在攒钱买一台新机器......同时,我正在努力遏制对GPU的学习。