错误、漏洞、问题 - 页 256 1...249250251252253254255256257258259260261262263...3184 新评论 [删除] 2011.01.05 19:24 #2551 请告诉我如何声明一个二维动态数组。在帮助中只有一个动态维度的例子。double matrix[][10][20];// 3维动态阵列ArrayResize(matrix,5);// 设置第一个维度的大小。和声明。double matrix[][] 。不起作用,编译器会写:']'- 无效的索引值 tmt0086 2011.01.05 21:13 #2552 帮助,我不明白他不喜欢什么......他一直在写10016(就像止损 没有正确设置),谢谢你#property version "1.00" //+------------------------------------------------------------------+ #define MAGIC_NUMBER 12937 input double BASELOT=0.5; input double stoploss=0.0; input double takeprofit=0.0; //+------------------------------------------------------------------+ int OnInit() { int send; int signalMA=signalMA(); if(signalMA==1) { send=1; Send(send); } else if(signalMA==2) { send=2; Send(send); } return(0); } //+------------------------------------------------------------------+ int signalMA() { int signalMA=0; double inMA6 = iMA(NULL,0,6,0,MODE_SMA,0); double inMA1 = iMA(NULL,0,1,0,MODE_SMA,0); if(inMA6>inMA1) { signalMA=1; } if(inMA6<inMA1) { signalMA=2; } return(signalMA); } //+------------------------------------------------------------------+ void Send(int send) { MqlTick tick; MqlTradeRequest request; MqlTradeResult tradeResult; MqlTradeCheckResult checkResult; static bool br=false; if(!br) { if(send==1) { br=true; request.price=tick.bid; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_SELL; } else if(send==2){ br=true; request.price=tick.ask; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_BUY; } if(br) { request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = BASELOT; request.deviation = 5; request.type_filling = ORDER_FILLING_AON; request.type_time = ORDER_TIME_GTC; request.comment = ""; request.magic = MAGIC_NUMBER; if(OrderCheck(request,checkResult)) { OrderSend(request,tradeResult); } else { Print("Error: ",checkResult.retcode); } } } } //+------------------------------------------------------------------+ Sergey Gritsay 2011.01.05 21:45 #2553 tmt0086:帮助,我不明白他不喜欢什么......一直在写10016(就像止损没有正确设置),谢谢你首先,你的这个函数写得不对。int signalMA() { int signalMA=0; double inMA6 = iMA(NULL,0,6,0,MODE_SMA,0); double inMA1 = iMA(NULL,0,1,0,MODE_SMA,0); if(inMA6>inMA1) { signalMA=1; } if(inMA6<inMA1) { signalMA=2; } return(signalMA); } 它应该是这样的。 我不能告诉你关于停止的错误。//+------------------------------------------------------------------+ #define MAGIC_NUMBER 12937 input double BASELOT=0.5; input double stoploss=0.0; input double takeprofit=0.0; int handleMA1=INVALID_HANDLE; int handleMA2=INVALID_HANDLE; double inMA6[]; double inMA1[]; MqlTick tick; MqlTradeRequest request; MqlTradeResult tradeResult; MqlTradeCheckResult checkResult; //+------------------------------------------------------------------+ int OnInit() { handleMA1=iMA(NULL,0,6,0,MODE_SMA,0); handleMA2= iMA(NULL,0,1,0,MODE_SMA,0); int send; int signalMA=signalMA(); if(signalMA==1) { send=1; Send(send); } else if(signalMA==2) { send=2; Send(send); } return(0); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int signalMA() { int sig=0; if(handleMA1==INVALID_HANDLE) { handleMA1=iMA(NULL,0,6,0,MODE_SMA,0); return(0); } if(handleMA2==INVALID_HANDLE) { handleMA2=iMA(NULL,0,1,0,MODE_SMA,0); return(0); } if(CopyBuffer(handleMA1,0,0,1,inMA6)<1) return(0); if(CopyBuffer(handleMA2,0,0,1,inMA1)<1) return(0); if(!ArraySetAsSeries(inMA6,true)) return(0); if(!ArraySetAsSeries(inMA1,true)) return(0); if(inMA6[0]>inMA1[0]) sig=1; else if(inMA6[0]<inMA1[0]) sig=2; else sig=0; return(sig); } //+------------------------------------------------------------------+ void Send(int send) { static bool br=false; if(!br) { if(send==1) { br=true; request.price=tick.bid; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_SELL; } else if(send==2){ br=true; request.price=tick.ask; request.sl = stoploss; request.tp = takeprofit; request.type=ORDER_TYPE_BUY; } if(br) { request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = BASELOT; request.deviation = 5; request.type_filling = ORDER_FILLING_AON; request.type_time = ORDER_TIME_GTC; request.comment = ""; request.magic = MAGIC_NUMBER; if(OrderCheck(request,checkResult)) { OrderSend(request,tradeResult); } else { Print("Error: ",checkResult.retcode); } } } } //+------------------------------------------------------------------+ Ilyas 2011.01.05 22:14 #2554 -Alexey-:请告诉我如何声明一个二维动态数组。在帮助中只有一个动态维度的例子。double matrix[][10][20];// 3维动态阵列ArrayResize(matrix,5);// 设置第一个维度的大小。和声明。double matrix[][] 。不起作用,编译器写道:']'- 无效的索引值在MQL5中,只有一个动态维度。要使用一个以上的维度,你可以使用结构struct SDynamic { double data[]; }; ... SDynamic Arr2D[]; ... bool Arr2DResize(SDynamic &a2d[],int d1,int d2) { if(ArrayResize(a2d,d1)!=d1) return(false); for(int i=0;i<d1;i++) if(ArrayResize(a2d[i].data,d2)!=d2) return(false); return(true); } ... Arr2DResize(Arr2D,10,10); ... Print(Arr2D[0].data[3]); [删除] 2011.01.05 22:34 #2555 mql5:在MQL5中只有一个动态维度。要使用一个以上的,你可以使用结构 亲爱的 mql5,感谢你的帮助、解释和实际例子。 [删除] 2011.01.06 10:57 #2556 应该去邻近的论坛,但图片有问题(上传不成功),...:(对开发商而言。来自MT4 229报告。这是个错误还是什么? Alexey Da 2011.01.06 11:19 #2557 Interesting:应该去邻近的论坛,但科蒂纳斯有问题(上传时没有成功)......:(根据我的理解,图片已经给出。需要浏览器的版本。 [删除] 2011.01.06 11:41 #2558 alexvd:根据我的理解,给出了一张图片。我需要浏览器的版本。我试着把图片放成Png 和Gif 格式(我也试着把它放成Jpg,用radikal.ru服务)。浏览器Firefox 3.6.13。PS我试图把它放在这个主题中 -新版本的MetaTrader 4客户端终端构建228奇怪的是,Png 似乎存在于那里。 Новая версия MetaTrader 4 Client Terminal build 228 - MQL4 форум www.mql5.com Новая версия MetaTrader 4 Client Terminal build 228 - MQL4 форум Alexey Da 2011.01.06 12:18 #2559 Interesting:开发人员。来自MT4 229报告。这是个错误还是什么?似乎不是这样的。事实证明,只有2次(45次)亏损的交易,而且都是买入。也许我找错了地方? Alexey Da 2011.01.06 12:20 #2560 Interesting:我试着把图片放成Png 和Gif 格式(我也试着把它放成Jpg,用radikal.ru)。火狐3.6.13浏览器。PS我试图把它插入这个主题 -新版本MetaTrader 4客户端终端构建228奇怪的是,Png 似乎存在于那里。尝试清理缓存。我尝试了不同的选项,不同的浏览器--添加是成功的。你是直接在评论中粘贴图片,而不是作为附件? 1...249250251252253254255256257258259260261262263...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请告诉我如何声明一个二维动态数组。在帮助中只有一个动态维度的例子。
double matrix[][10][20];// 3维动态阵列
ArrayResize(matrix,5);// 设置第一个维度的大小。
和声明。
double matrix[][] 。
不起作用,编译器会写:']'- 无效的索引值
帮助,我不明白他不喜欢什么......他一直在写10016(就像止损 没有正确设置),谢谢你
帮助,我不明白他不喜欢什么......一直在写10016(就像止损没有正确设置),谢谢你
首先,你的这个函数写得不对。
它应该是这样的。 我不能告诉你关于停止的错误。
请告诉我如何声明一个二维动态数组。在帮助中只有一个动态维度的例子。
double matrix[][10][20];// 3维动态阵列
ArrayResize(matrix,5);// 设置第一个维度的大小。
和声明。
double matrix[][] 。
不起作用,编译器写道:']'- 无效的索引值
在MQL5中,只有一个动态维度。
要使用一个以上的维度,你可以使用结构
在MQL5中只有一个动态维度。
要使用一个以上的,你可以使用结构
应该去邻近的论坛,但图片有问题(上传不成功),...:(
对开发商而言。
来自MT4 229报告。这是个错误还是什么?
应该去邻近的论坛,但科蒂纳斯有问题(上传时没有成功)......:(
根据我的理解,图片已经给出。
需要浏览器的版本。
根据我的理解,给出了一张图片。
我需要浏览器的版本。
我试着把图片放成Png 和Gif 格式(我也试着把它放成Jpg,用radikal.ru服务)。
浏览器Firefox 3.6.13。
PS
我试图把它放在这个主题中 -新版本的MetaTrader 4客户端终端构建228
奇怪的是,Png 似乎存在于那里。
开发人员。
来自MT4 229报告。这是个错误还是什么?
似乎不是这样的。
事实证明,只有2次(45次)亏损的交易,而且都是买入。
也许我找错了地方?
我试着把图片放成Png 和Gif 格式(我也试着把它放成Jpg,用radikal.ru)。
火狐3.6.13浏览器。
PS
我试图把它插入这个主题 -新版本MetaTrader 4客户端终端构建228
奇怪的是,Png 似乎存在于那里。
尝试清理缓存。我尝试了不同的选项,不同的浏览器--添加是成功的。
你是直接在评论中粘贴图片,而不是作为附件?