ATcl - Intérprete Tcl para MT4 - página 8

 

El script está listo y se incluye en la biblioteca ATcl.
En la biblioteca se encuentra en la ruta Libraries/ATcl/app/mq45dist.tcl

Necesita (de repente) tcl, y zip para funcionar :-)

Si lo ejecuta sin parámetros, le pedirá que seleccione cualquier archivo del proyecto y abrirá una consola para mostrar el registro.

Si pasas el nombre del archivo como parámetro, no abrirá ninguna ventana, funcionará como una aplicación de consola.

Adjunto el script tcl.

Además de añadir el script, se han corregido algunos errores,
y relanzó los archivos de la biblioteca en http://nektomk.ru/ru:atcl:install y SourceForge https://sourceforge.net/projects/mt-atcl/

ATcl
  • nektomk.ru
Рад представить вам библиотеку ATcl v1 beta - интерпретатор Tcl для MT4. Расширяте возможности ваших программ MQL, используйте СУБД, дополняйте сетевыми средствами, интегрируйте их с любыми программами используя Tcl.
Archivos adjuntos:
 

Otro, y el más fácil (y más urgente) uso : configuraciones de software/expertos/paneles y cosas. Es decir, todo tipo de archivos de configuración :-)

Con ATcl es muy fácil guardarlo todo en simples archivos de texto.

# комментарии начинаются с # и идут до конца строки

# именованное значение "use_gui"
set use_gui true

# список (вектор) значений
set vector { 1.0 2.0 0.12 }

# список из список (матрица)

set matrix {
  { 1 2 3 }
  { 4 5 6 }
  { 7 8 9 }
}

# хеш ( ключ->значение)
set option(key1) "например строка"
set option(key2) "другая строка"

# можно сразу

array set option {
   key3 0.21
   another_key { можно задавать произвольные значения }

}

y es muy fácil leerlo todo en MT4:

ATcl *tcl=new ATcl;     // создадим новый интерпретатор (их можно много делать)

tcl.Eval("source MQL4/Files/myconfig.tcl"); // прочесть конфигурацию

bool use_gui = tcl.Long("use_gui",0); // взять переменную "use_gui" как long, или вернуть 0 по умолчанию

double vector[];
tcl.ToArray("vector",vector); // копировать список в массив.

double matrix[][3];
tcl.ToArray("matrix",0,matrix[0]); // читать 1-ю строку матрицы
tcl.ToArray("matrix",1,matrix[1]); // и так далее
tcl.ToArray("matrix",2,matrix[2]);

string option_key1=tcl.String("option(key1)",""); // хеши можно читать указывая полное имя
string option_key2=tcl.String("option","key2",""); // или отдельно ключ, значение

delete tcl; // всё прочитали, интерпретатор больше ненужен

Por cierto, como extra, también puede leer las variables de entorno incorporadas/sistema :-)

string APPDATA=tcl.String("env","APPDATA",""); // окружение Windows - %APPDATA%
string TEMP=tcl.String("env","TEMP","");     // рекомендованный каталог для временных файлов %TEMP%

 

Basado en un post en la parte inglesa del foro y para explicar

"Por qué todo esto es necesario y por qué es así".

Esbozado un artículo, en mi opinión resulta bastante bueno y útil. Dedicado a la cuestión de por qué puede ser útil otra lengua y cómo se selecciona.

Primer borrador de la primera parte - http://nektomk.ru/atcl:why ésta entra en el establecimiento de la pregunta y la identificación de los requisitos.

Si hay alguna pregunta, comentario o sugerencia, la responderé y la añadiré :-)

La segunda parte es un debate sobre todas las lenguas y sistemas mencionados. Obviamente, es muy especializado y requiere una formación

 

Hacía tiempo que no escribía tantos textos :-) pero como lo prometí y empecé, tengo que hacerlo...

como continuación de la primera parte sobre la selección de la lengua,

Hice un esbozo de la segunda parte de http://nektomk.ru/atcl:whynot en el que examiné bastantes sistemas.

Incluso las personas alejadas de ATcl y de las ideas de ampliar las capacidades de MQL pueden encontrarlo útil y no carente de interés.

Se publicará junto con la primera parte en los blogs locales. Sólo hay que hacer una "pausa" y releer + corregir la gramática y los giros del lenguaje :-)

actualización: la primera parte también está publicada en los blogs locales https://www.mql5.com/ru/blogs/post/718610 para que puedas leerla sin salir del sitio

выбор языка, часть 2
  • nektomk.ru
Взял смелость и в статье объединяю большие «числогрызы» в одну главу. Они не решат наших задач про «взаимодействие с миром», про GUI, и так далее, но они востребованя. На них, с их помощью, благодаря им делаются и отрабатываюся торговые стратегии. Начну с R, так получилось что с практикой его применения в MT знаком очень плотно. Фактически это...
 
Basado en la correspondencia - instrucciones de instalación máximamente detalladas

1. Necesitas instalar Tcl 32 bits para Windows

Lamentablemente ActiveState recientemente (hace un mes o dos) dejó de soportar 32 bits y
ha eliminado el instalador de las descargas disponibles. Ha sido la distribución más conveniente para Windows
y ATcl se desarrolló sobre él. Todavía no he probado otras distribuciones, pero lo comprobaré este fin de semana.

------------------------------
Instalación de Tcl 32 bits en Windows
------------------------------

1.1 Distribución de BAWT

1.1.1 Descargue la distribución desde importación de funciones desde DLL".
BAWT - Downloads
  • Paul Obermeier
  • www.bawt.tcl3d.org
BAWT - Build Automation With Tcl
 

Buenas tardes interesado en tu proyecto, pero hay un problema con MT4 borrando tanto los EAs como los indicadores, podrías por favor avisar cual es el posible motivo.

 
kovtynmen:

Buenas tardes interesado en tu proyecto, pero hay un problema con MT4 borrando tanto los EAs como los indicadores, podrías por favor avisar cual es el posible motivo.

No entiendo el problema ;-)

¿Qué quieres decir con que "elimina tanto los EA como los indicadores"?

 
Maxim Kuznetsov:

No entiendo el problema ;-)

¿que significa "borrar tanto los EAs como los indicadores"? explica el punto, si puedes con capturas de pantalla

Sí, claro, aquí están las capturas de pantalla del registro

Panel de expertos en comercio

Indicador personalizado CawtExcel

 
kovtynmen:

Sí, por supuesto, aquí están las capturas de pantalla del registro


1. cuando ejecute el Asesor Experto/indicador, asegúrese de que ha activado la importación desde DLL

2. En la instrucción anterior se destaca - si ha instalado la distribución BAWT, debe copiar tcl86.dll a tcl86t.dll en el directorio c:/tcl/bin, es decir, añadir la letra t al nombre de la dll

no debería haber ningún otro problema, excepto el de permitir el uso de la DLL en el terminal y el nombre de la DLL del distribuidor - sólo en el VDS limpio, poner MT4, poner BAWT y la biblioteca ATcl de sourceforge (no "variante-en-desarrollo", pero disponible públicamente). El vuelo es normal

 
Maxim Kuznetsov:

1. cuando ejecute el EA/indicador asegúrese de que la importación desde la DLL está activada

2. En la instrucción anterior se destaca - si tiene la distribución BAWT, necesita copiar tcl86.dll a tcl86t.dll en el directorio c:/tcl/bin, es decir, añadir la letra t al nombre de la dll

no debería haber ningún otro problema, excepto el de permitir el uso de la DLL en el terminal y el nombre de la DLL del distribuidor - sólo en VDS limpio, poner MT4, poner BAWT y la biblioteca ATcl de sourceforge (no "variante-en-desarrollo", pero disponible públicamente). El vuelo está bien

Gracias, ya he probado todo esto y el resultado es el mismo. Mañana volveré a probar todo junto con el mt4. Aunque existe la posibilidad de que sea algo con los derechos de acceso en win 10.