错误、漏洞、问题 - 页 770 1...763764765766767768769770771772773774775776777...3184 新评论 Anatoli Kazharski 2012.07.11 11:22 #7691 maryan.dirtyn:...p.s. 那些告诉我使用标准库 的人请不要打扰,我喜欢知道我的专家在做什么,而不是希望它以后不会变平。 至少可以查看/研究标准库,你可以了解犯了什么错误。一个非常好的机会。 Mario 2012.07.11 11:30 #7692 我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。我不打算使用任何标准的东西,如果你能原谅我的话... Anatoli Kazharski 2012.07.11 11:50 #7693 maryan.dirtyn:我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。我不会使用任何标准的东西,如果你能原谅我......是什么让你对标准库 如此恐惧?看看Trade.mqh 文件里有什么。功能是打开一个位置。//+------------------------------------------------------------------+ //| Open position. | //+------------------------------------------------------------------+ bool CTrade::PositionOpen(const string symbol,const ENUM_ORDER_TYPE order_type,const double volume, const double price,const double sl,const double tp,const string comment) { //--- check stopped if(IsStopped(__FUNCTION__)) return(false); //--- clean ClearStructures(); //--- checking if(order_type!=ORDER_TYPE_BUY && order_type!=ORDER_TYPE_SELL) { m_result.retcode=TRADE_RETCODE_INVALID; m_result.comment="Invalid order type"; return(false); } //--- setting request m_request.action =TRADE_ACTION_DEAL; m_request.symbol =symbol; m_request.magic =m_magic; m_request.volume =volume; m_request.type =order_type; m_request.price =price; m_request.sl =sl; m_request.tp =tp; m_request.deviation =m_deviation; m_request.type_filling=m_type_filling; m_request.comment =comment; //--- action and return the result return(OrderSend(m_request,m_result)); } //---你应该同意,这与你要做的事情没有太大的区别。请注意函数ClearStructures()。如果需要在开仓后设置止损,那么以下功能将帮助你完成。//+------------------------------------------------------------------+ //| Modify specified opened position. | //+------------------------------------------------------------------+ bool CTrade::PositionModify(const string symbol,const double sl,const double tp) { //--- check stopped if(IsStopped(__FUNCTION__)) return(false); //--- clean ClearStructures(); //--- setting request m_request.action=TRADE_ACTION_SLTP; m_request.symbol=symbol; m_request.sl =sl; m_request.tp =tp; //--- action and return the result return(OrderSend(m_request,m_result)); }//---它很简单,一切都很好用。然后你可以根据你的需要增加/改变/实验。 Документация по MQL5: Стандартная библиотека www.mql5.com Стандартная библиотека - Документация по MQL5 Renat Fatkhullin 2012.07.11 11:53 #7694 maryan.dirtyn:我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。我不会使用任何标准的,如果你不介意的话......特别是对你来说。#include <trade\trade.mqh> void OnStart() { CTrade trade; trade.Buy(1.0,"EURUSD",SymbolInfoDouble("EURUSD",SYMBOL_ASK),1.20000,1.50000,"Yeah, baby!"); } 要触摸未知的东西,只需将这段代码插入脚本中,进行编译,然后将光标放在Buy上,按Alt + G。你将开始在所有图书馆的内部进行旅行。同时看一下错误处理。 Anatoli Kazharski 2012.07.11 11:56 #7695 Renat:特别是对你来说。要触摸未知的东西,只需将这段代码插入到脚本中,编译它,然后将光标放在 "购买 "上,按Alt+G。你将开始穿越所有库的内部结构。同时看一下错误处理。"Yeah, baby!" 你甚至可以说出上述内容,一切都会好起来的。))) Mario 2012.07.11 11:57 #7696 我认为没有其他方法可以做到这一点,是吗?#include <trade\trade.mqh> Anatoli Kazharski 2012.07.11 11:58 #7697 maryan.dirtyn:我认为没有其他方法可以做到这一点,是吗? 在主文件中制作类似的函数,你就不需要插入任何东西了。 Mario 2012.07.11 12:04 #7698 这就是我在做的事情))...第六个小时......我无法找出错误所在 不愿意使用标准库 的原因是,标志和全局变量是在函数中使用的,拆开trade.mqh和其他部分似乎不太合理void OnTick(){ if(PositionsTotal()<1){OPEN();}} bool OPEN(){ MqlTradeRequest request; ZeroMemory(request); MqlTradeResult result; ZeroMemory(result); request.symbol = _Symbol; request.action = TRADE_ACTION_DEAL; request.type_filling = ORDER_FILLING_FOK; request.deviation = 100; request.volume = NormalizeDouble(2,2); request.type = ORDER_TYPE_BUY; request.price = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); request.tp = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) + 500*_Point,_Digits); request.sl = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK) - 500*_Point,_Digits); OrderSend(request,result); if(result.retcode==10009 || result.retcode==10008) Print("Succsesful open"); else Print("Error open: ",DoubleToString(GetLastError(),0)," response code: ",result.retcode); return(true);} Renat Fatkhullin 2012.07.11 12:09 #7699 maryan.dirtyn:这就是我在做的事情))...第六个小时......我无法找出错误所在 我不想使用标准库,因为标志和全局变量是在函数中使用的,而且将trade.mqh和其他函数按部分分解似乎不太合理你是在哪个服务器上,用什么符号?我在MetaQuotes-Demo上运行了你的代码,交易很成功。2012.07.11 15:08:36 Trades '1026582': deal #109507221 buy 2.00 EURUSD at 1.22625 done (based on order #115678901) 2012.07.11 15:08:36 Trades '1026582': order #115678901 buy 2.00 / 2.00 EURUSD at 1.22625 done 2012.07.11 15:08:36 Trades '1026582': instant buy 2.00 EURUSD at 1.22627 sl: 1.22127 tp: 1.23127 (deviation: 100) Mario 2012.07.11 12:14 #7700 MetaQuotes-Demo登录:1219233欧元兑美元我刚刚在英镑上试了一下,同样的情况,没有停止,我在测试器中做了所有的事情。建设655(如果有帮助的话) 1...763764765766767768769770771772773774775776777...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
...
p.s. 那些告诉我使用标准库 的人请不要打扰,我喜欢知道我的专家在做什么,而不是希望它以后不会变平。
我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。
我不打算使用任何标准的东西,如果你能原谅我的话...
我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。
我不会使用任何标准的东西,如果你能原谅我......
是什么让你对标准库 如此恐惧?看看Trade.mqh 文件里有什么。
功能是打开一个位置。
//---
你应该同意,这与你要做的事情没有太大的区别。请注意函数ClearStructures()。如果需要在开仓后设置止损,那么以下功能将帮助你完成。
//---
它很简单,一切都很好用。然后你可以根据你的需要增加/改变/实验。
我在过去的6个小时里一直在尝试这样做,我倾向于认为这是不可能的。
我不会使用任何标准的,如果你不介意的话......
特别是对你来说。
要触摸未知的东西,只需将这段代码插入脚本中,进行编译,然后将光标放在Buy上,按Alt + G。
你将开始在所有图书馆的内部进行旅行。同时看一下错误处理。
特别是对你来说。
要触摸未知的东西,只需将这段代码插入到脚本中,编译它,然后将光标放在 "购买 "上,按Alt+G。
你将开始穿越所有库的内部结构。同时看一下错误处理。
"Yeah, baby!"
你甚至可以说出上述内容,一切都会好起来的。)))我认为没有其他方法可以做到这一点,是吗?
#include <trade\trade.mqh>
我认为没有其他方法可以做到这一点,是吗?
这就是我在做的事情))...第六个小时......我无法找出错误所在
不愿意使用标准库 的原因是,标志和全局变量是在函数中使用的,拆开trade.mqh和其他部分似乎不太合理
这就是我在做的事情))...第六个小时......我无法找出错误所在
我不想使用标准库,因为标志和全局变量是在函数中使用的,而且将trade.mqh和其他函数按部分分解似乎不太合理
你是在哪个服务器上,用什么符号?
我在MetaQuotes-Demo上运行了你的代码,交易很成功。
MetaQuotes-Demo
登录:1219233
欧元兑美元
我刚刚在英镑上试了一下,同样的情况,没有停止,我在测试器中做了所有的事情。
建设655(如果有帮助的话)