初学者的问题 MQL5 MT5 MetaTrader 5 - 页 109 1...102103104105106107108109110111112113114115116...1503 新评论 vik1991 2013.03.29 10:52 #1081 如果你没有存款,如何提取你所赚的钱。 Anton Ivanov 2013.03.29 11:10 #1082 vik1991: 如果你没有存款,你如何提取你所赚的钱? 我想知道你是如何在没有初始存款的情况下在市场上赚钱的 karlen 2013.03.30 13:38 #1083 在MQL5中是否可以将命令并行化?例如,将一个命令的执行发送到另一个核心。换句话说,程序将继续被执行,某个函数 将在它自己的上下文中运行,而不干扰(占用时间)主程序。谢谢你。 Документация по MQL5: Основы языка / Функции www.mql5.com Основы языка / Функции - Документация по MQL5 panker 2013.03.30 17:04 #1084 karlen:你能在MQL5中并行化命令吗?例如,将一个命令的执行发送到另一个内核。换句话说,程序将继续被执行,某个函数 将在它自己的上下文中运行,而不干扰(占用时间)主程序。谢谢你。没有。唉,MQL5编译器不支持多线程。这样的任务只能通过使用一个dll来实现。 panker 2013.03.30 17:07 #1085 试图实现一个简单的感知器。最简单的网络都会进入昏迷状态。问题出在学习算法上,但我找不到它。请给我一个提示,好吗?//+------------------------------------------------------------------+ //| Perceptron.mqh | //| Copyright 2012, MetaQuotes Software Corp. | //| panker | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, MetaQuotes Software Corp." #property link "panker" //+------------------------------------------------------------------+ //+ Класс однослойного перцепторна | //+------------------------------------------------------------------+ class CSNeuron { public: double out_err[];//Ошибки для входов double Out(double &_inp[]);// Основная функция вывода void Education(double err);// Фун-ция обучения CSNeuron(); bool Load(string name); bool Save(string name); void Init(int inp_count);//Фун-ция инициализации private: bool init; //Синглтон инициализации int arr_size;//Размер массива перцептрона double inp[]; //Входы нейронов double ans[]; //Ответы каждого нейрона double weight[];//Веса нейронов double last_out;//Последний результат double l_err; //Последняя ошибка double k_study; //Коэффициент обучения double summ_akt;//Коэффициент приведения результата long count_mid; struct ToSave { bool init; int arr_size; double last_out, l_err, k_study; }; double Aktiv(double x);//Функция активации double RND(); //Рандомная машина }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CSNeuron::CSNeuron(void) { init=false; k_study=0.00001; count_mid=0; }; //+------------------------------------------------------------------+ //| Фун-ция инициализации | //+------------------------------------------------------------------+ void CSNeuron::Init(int inp_count) { init=true; max_akt=inp_count; min_akt=-1*inp_count; ArrayResize(inp,inp_count,0); ArrayResize(weight,inp_count,0); ArrayResize(out_err,inp_count,0); ArrayResize(ans,inp_count,0); ArrayInitialize(ans,0); ArrayInitialize(inp,0); ArrayInitialize(out_err,0); for(int i=0;i<inp_count;i++) { weight[i]=RND(); } k_study=1/(double)inp_count; } //+------------------------------------------------------------------+ //| Рандомная машина | //+------------------------------------------------------------------+ double CSNeuron::RND(void) { double rnd=(double)rand()/32727; if(rnd==1 || rnd==0)RND(); return(rnd); } //+------------------------------------------------------------------+ //| Основная функция вывода | //+------------------------------------------------------------------+ double CSNeuron::Out(double &_inp[]) { arr_size=ArraySize(_inp); double l_out=0; if(!init)Init(arr_size); ArrayCopy(inp,_inp,0,0,arr_size); for(int i=0;i<arr_size;i++) { ans[i]=inp[i]*weight[i]; double d; d=ans[i]; l_out+=ans[i]; } last_out=l_out; l_out=Aktiv(l_out); return(l_out); } //+------------------------------------------------------------------+ //| Функция активации | //+------------------------------------------------------------------+ double CSNeuron::Aktiv(double x) { double y=0;double mid_plus_akt,mid_min_akt; summ_akt+=MathAbs(x);count_mid++; mid_plus_akt=summ_max_akt/(double)count_mid; mid_min_akt=-1*mid__plus_akt; if(mid_min_akt-mid_min_akt==0)mid_min_akt=0.0001; y=((x-mid_min_akt)*1.98)/(mid_plus_akt-mid_min_akt)-0.99; return(y); } //+------------------------------------------------------------------+ //| Фун-ция обучения | //+------------------------------------------------------------------+ void CSNeuron::Education(double err) { /*if(k_study<=10 && k_study>=0.00000001) { double x=k_study/0.1; double y=k_study*0.1; if(x>=10)if(MathAbs(l_err)<MathAbs(err))k_study*=0.1; if(y<=0.00000001)if(MathAbs(l_err)>=MathAbs(err))k_study/=0.1; if(MathAbs(l_err)<MathAbs(err))k_study/=0.1; if(MathAbs(l_err)>MathAbs(err))k_study*=0.1; } l_err=err;*/ for(int i=0;i<arr_size;i++) { out_err[i]=err*weight[i]; weight[i]=weight[i]+err*k_study*weight[i]*inp[i]; } }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CSNeuron::Save(string name) { string name_str=name+"_str"; string name_arr1=name+"_ans"; string name_arr2=name+"_weight"; int handle1=FileOpen(name_str,FILE_WRITE|FILE_BIN); int handle2=FileOpen(name_arr1,FILE_WRITE|FILE_BIN); int handle3=FileOpen(name_arr2,FILE_WRITE|FILE_BIN); if(handle1==INVALID_HANDLE) { int x=0;while(x<1) { Print("Can not save file ",name_str);Sleep(10000); } } if(handle2==INVALID_HANDLE) { int x=0;while(x<1) { Print("Can not save file ",name_arr1);Sleep(10000); } } if(handle3==INVALID_HANDLE) { int x=0;while(x<1) { Print("Can not save file ",name_arr2);Sleep(10000); } } ToSave s_data; s_data.arr_size=arr_size; s_data.init=init; s_data.k_study=k_study; s_data.l_err=l_err; s_data.last_out=last_out; if(FileWriteStruct(handle1,s_data,-1)<=0){ Print("Something is wrong! Dont save s_data!");return(false); } if(FileWriteArray(handle2,ans,0,WHOLE_ARRAY)<=0){ Print("Something is wrong! Dont save ans!");return(false); } if(FileWriteArray(handle3,weight,0,WHOLE_ARRAY)<=0){ Print("Something is wrong! Dont save weight!");return(false); } FileClose(handle1); FileClose(handle2); FileClose(handle3); //Print(name," files was succesfully saved"); return(true); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ bool CSNeuron::Load(string name) { string name_str=name+"_str"; string name_arr1=name+"_ans"; string name_arr2=name+"_weight"; int handle1=FileOpen(name_str,FILE_READ|FILE_BIN); int handle2=FileOpen(name_arr1,FILE_READ|FILE_BIN); int handle3=FileOpen(name_arr2,FILE_READ|FILE_BIN); if(handle1==INVALID_HANDLE||handle2==INVALID_HANDLE||handle3==INVALID_HANDLE) { int x=0;while(x<1) { Print("Can not load file ",name);return(false); } } ToSave l_data; if(FileReadStruct(handle1,l_data,-1)<=0)Print("Something is wrong! Dont load Data!"); if(FileReadArray(handle2,ans,0,WHOLE_ARRAY)<=0)Print("Something is wrong! Dont load Data!"); if(FileReadArray(handle3,weight,0,WHOLE_ARRAY)<=0)Print("Something is wrong! Dont load Data!"); arr_size=l_data.arr_size; init=l_data.init; k_study=l_data.k_study; l_err=l_data.l_err; last_out=l_data.last_out; Init(arr_size); FileClose(handle1); FileClose(handle2); FileClose(handle3); //Print(name," files was succesfully load"); return(true); } vik1991 2013.03.31 12:33 #1086 felidae: 我正在使用我的处理器资源来进行计算。 我想知道,你是如何在没有初始存款的情况下在市场上赚钱的? vik1991 2013.03.31 12:45 #1087 为什么当我有服务运行时,处理器根本没有加载0%的负载,但在两天的工作中慢慢地只赚了0.01 Maksudjon Sayfuddinov 2013.04.01 00:05 #1088 请告诉我,我已经在MT4上注册并激活了一个信号,但由于某些原因,它不能工作!但在MT4上的杂志部分留下了以下铭文"('3054391':信号 - 通过代理连接到78.140.156.176:443失败)",这可能是什么? Anton Ivanov 2013.04.01 10:40 #1089 vik1991: https://www.mql5.com/ru/users/felidae/accounting/chooseout vik1991 2013.04.01 13:55 #1090 felidae:https://www.mql5.com/ru/users/felidae/accounting/chooseout 该链接已经过期。 1...102103104105106107108109110111112113114115116...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果你没有存款,你如何提取你所赚的钱?
在MQL5中是否可以将命令并行化?例如,将一个命令的执行发送到另一个核心。换句话说,程序将继续被执行,某个函数 将在它自己的上下文中运行,而不干扰(占用时间)主程序。谢谢你。
你能在MQL5中并行化命令吗?例如,将一个命令的执行发送到另一个内核。换句话说,程序将继续被执行,某个函数 将在它自己的上下文中运行,而不干扰(占用时间)主程序。谢谢你。
没有。唉,MQL5编译器不支持多线程。
这样的任务只能通过使用一个dll来实现。
试图实现一个简单的感知器。
最简单的网络都会进入昏迷状态。问题出在学习算法上,但我找不到它。
请给我一个提示,好吗?
我想知道,你是如何在没有初始存款的情况下在市场上赚钱的?
请告诉我,我已经在MT4上注册并激活了一个信号,但由于某些原因,它不能工作!但在MT4上的杂志部分留下了以下铭文"('3054391':信号 - 通过代理连接到78.140.156.176:443失败)",这可能是什么?
https://www.mql5.com/ru/users/felidae/accounting/chooseout