Конвертер текста в примитивный код MQL5 по шаблону

Работа завершена

Время выполнения 84 дня

Техническое задание

Необходимо сделать обработчик текстового файла, который будет отформатированный текст по определенным правилам преобразовывать в строку кода следующего формата:

if (Переменная_01>10 && Переменная_n<=55 && Переменная_n+1<=X) Условие_N=true //Информация из скобок(47;53)

Строк может быть много.

Вот так выглядит фрагмент текстового файла

  1) root 605999 277734 1 (0.4583077 0.5416923)  
    2) arr_DonProcVisota< 7.5 520363 245903 1 (0.4725605 0.5274395)  
      4) arr_DonProc>=8.5 96224  44499 0 (0.5375478 0.4624522)  
        8) arr_DonProc>=9.5 39589  16834 0 (0.5747809 0.4252191) *
        9) arr_DonProc< 9.5 56635  27665 0 (0.5115211 0.4884789)  
         18) arr_DonProcVisota< 3.5 19254   8471 0 (0.5600395 0.4399605)  
           36) Part_H4>=3.5 5142   1861 0 (0.6380786 0.3619214) *
           37) Part_H4< 3.5 14112   6610 0 (0.5316043 0.4683957)  
             74) arr_Den_Nedeli>=1.5 10701   4807 0 (0.5507896 0.4492104) *
             75) arr_Den_Nedeli< 1.5 3411   1608 1 (0.4714160 0.5285840) *
         19) arr_DonProcVisota>=3.5 37381  18187 1 (0.4865306 0.5134694)  
           38) arr_DonProcVisota< 5.5 24479  12170 0 (0.5028392 0.4971608)  
             76) Levl_Support_H1< 4.5 22401  10969 0 (0.5103344 0.4896656)  
              152) Levl_Low_D1s1>=-7.5 20841  10051 0 (0.5177295 0.4822705)  
                304) Levl_Low_H1>=-6.5 20412   9786 0 (0.5205761 0.4794239) *
                305) Levl_Low_H1< -6.5 429    164 1 (0.3822844 0.6177156) *
              153) Levl_Low_D1s1< -7.5 1560    642 1 (0.4115385 0.5884615) *
             77) Levl_Support_H1>=4.5 2078    877 1 (0.4220404 0.5779596) *
           39) arr_DonProcVisota>=5.5 12902   5878 1 (0.4555883 0.5444117) *
      5) arr_DonProc< 8.5 424139 194178 1 (0.4578169 0.5421831)  
       10) arr_DonProc< 2.5 87414  41474 0 (0.5255451 0.4744549)  
         20) arr_DonProc< 1.5 35586  15370 0 (0.5680886 0.4319114) *
         21) arr_DonProc>=1.5 51828  25724 1 (0.4963340 0.5036660)  
           42) Part_H4>=3.5 9900   4285 0 (0.5671717 0.4328283) *
           43) Part_H4< 3.5 41928  20109 1 (0.4796079 0.5203921)  
             86) arr_TimeH>=2.5 32482  15936 1 (0.4906102 0.5093898)  
              172) Levl_Close_D1>=5.5 1790    760 0 (0.5754190 0.4245810) *
              173) Levl_Close_D1< 5.5 30692  14906 1 (0.4856640 0.5143360) *
             87) arr_TimeH< 2.5 9446   4173 1 (0.4417743 0.5582257) *
       11) arr_DonProc>=2.5 336725 148238 1 (0.4402346 0.5597654)  
         22) arr_DonProcVisota< 2.5 51021  24374 0 (0.5222751 0.4777249)  
           44) Part_H4>=3.5 15248   6136 0 (0.5975866 0.4024134)  
             88) arr_TimeH>=3 12146   4487 0 (0.6305780 0.3694220) *
             89) arr_TimeH< 3 3102   1453 1 (0.4684075 0.5315925) *
           45) Part_H4< 3.5 35773  17535 1 (0.4901742 0.5098258)  
             90) Levl_High_H4s1< 6.5 33554  16752 1 (0.4992549 0.5007451)  
              180) Povtor_Type_D1>=-3.5 32054  15813 0 (0.5066762 0.4933238)  
                360) arr_DonProcVisota< 1.5 2678   1011 0 (0.6224795 0.3775205) *
                361) arr_DonProcVisota>=1.5 29376  14574 1 (0.4961193 0.5038807) *
              181) Povtor_Type_D1< -3.5 1500    511 1 (0.3406667 0.6593333) *
             91) Levl_High_H4s1>=6.5 2219    783 1 (0.3528616 0.6471384) *
         23) arr_DonProcVisota>=2.5 285704 121591 1 (0.4255838 0.5744162)  
           46) arr_TimeH>=1.5 272159 117390 1 (0.4313287 0.5686713)  
             92) arr_DonProcVisota< 4.5 163759  73296 1 (0.4475846 0.5524154)  
              184) Part_H4>=3.5 30827  15116 1 (0.4903494 0.5096506)  
                368) arr_TimeH>=3 8764   3583 0 (0.5911684 0.4088316) *
                369) arr_TimeH< 3 22063   9935 1 (0.4503014 0.5496986) *
              185) Part_H4< 3.5 132932  58180 1 (0.4376674 0.5623326) *
             93) arr_DonProcVisota>=4.5 108400  44094 1 (0.4067712 0.5932288)  
              186) Levl_High_W1s1>=4.5 38182  16627 1 (0.4354670 0.5645330)  
                372) Levl_High_H4s1>=7.5 3658   1676 0 (0.5418261 0.4581739) *
                373) Levl_High_H4s1< 7.5 34524  14645 1 (0.4241977 0.5758023) *
              187) Levl_High_W1s1< 4.5 70218  27467 1 (0.3911675 0.6088325) *
           47) arr_TimeH< 1.5 13545   4201 1 (0.3101513 0.6898487) *
    3) arr_DonProcVisota>=7.5 85636  31831 1 (0.3717012 0.6282988)  
      6) arr_DonProc< 1.5 10168   5077 1 (0.4993116 0.5006884) *
      7) arr_DonProc>=1.5 75468  26754 1 (0.3545079 0.6454921)  
       14) arr_DonProc>=9.5 10279   4879 1 (0.4746571 0.5253429) *
       15) arr_DonProc< 9.5 65189  21875 1 (0.3355627 0.6644373)  
         30) arr_DonProcVisota< 10.5 44291  15964 1 (0.3604344 0.6395656)  
           60) arr_TimeH>=2.5 19180   7581 1 (0.3952555 0.6047445)  
            120) rPeresek_Up_H1>=1.5 570    213 0 (0.6263158 0.3736842) *
            121) rPeresek_Up_H1< 1.5 18610   7224 1 (0.3881784 0.6118216) *
           61) arr_TimeH< 2.5 25111   8383 1 (0.3338378 0.6661622) *
         31) arr_DonProcVisota>=10.5 20898   5911 1 (0.2828500 0.7171500) *

Интерпретатор вероятно есть в библиотеке R - могу предоставить.

А так этот файл выглядит в виде дерева


Примерно так должен выглядеть код самого левого верхнего листа дерева:

if(arr_DonProcVisota< 7.5 && arr_DonProc>=8.5 && arr_DonProc>=9.5) B=true; //(57 43)

"B" - переменная формирующаяся в зависимости от значений в скобках текстового файла - как правило 3 или 2 варианта - зависит от количества объектов классификации.

Преобразование можно делать не обязательно в MQL5 - подойдет решение на любом языке.

Откликнулись

1
Разработчик 1
Оценка
(50)
Проекты
80
39%
Арбитраж
4
50% / 25%
Просрочено
0
Свободен
2
Разработчик 2
Оценка
(28)
Проекты
60
42%
Арбитраж
1
0% / 100%
Просрочено
5
8%
Свободен
3
Разработчик 3
Оценка
(51)
Проекты
66
30%
Арбитраж
2
0% / 0%
Просрочено
0
Свободен
4
Разработчик 4
Оценка
(37)
Проекты
84
31%
Арбитраж
16
6% / 50%
Просрочено
54
64%
Работает

Информация о проекте

Бюджет
30+ USD
Исполнителю
27 USD