[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 287 1...280281282283284285286287288289290291292293294...537 新评论 Andrey F. Zelinsky 2011.03.30 05:42 #2861 Sorento: 2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725 int Ret[3]; Ret[0]=NormalizeDouble((Ask-Bid)/Point,0); Print (Ret[0]," ",(Ask-Bid)/Point," ask=",Ask," bid=",Bid); 它的工作原理是这样的 VonDo Mix 2011.03.30 05:43 #2862 abolk: 它是这样工作的! 谢谢你! Andrey F. Zelinsky 2011.03.30 05:47 #2863 Sorento: 谢谢你! 一般来说,现在是MT开发者在文档中创建一个章节,并详细解释问题和使用规范化的必要性。 对于这种情况,在文件中只有一个适度的例子没有强调。 int i = 1 / 2.0; // выражение приводится к типу double, затем приводится к целевому типу int, результат: 0 "类型方法" 部分https://docs.mql4.com/ru/basis/types/casting FoxUA 2011.03.30 06:44 #2864 Roger: 致FoxUA。 当订单3(卖出)被关闭时,该订单1(买入)仍然寄语它是在止损时关闭的,因此连续下了2个订单,因为总数=1。 我在寻找解决这个问题的办法,即用什么来取代总1来摆脱这种影响? Lazar Buga 2011.03.30 07:00 #2865 你能告诉我这个脚本是否不仅能在它所连接的图表窗口中开单,而且能在其他货币对上开单,如果它能正确规定你需要在哪些其他货币对上开单? Andrey F. Zelinsky 2011.03.30 07:04 #2866 CreAndr: 你能告诉我这个脚本是否不仅能在它所连接的图表窗口中开单,而且能在其他货币对上开单,如果它能正确规定你需要在哪些其他货币对上开单? 也许 Lazar Buga 2011.03.30 07:17 #2867 abolk: 也许#property show_inputs //-------------------------------------------------------------------- extern double TakeProfit = 1000; extern double Lots = 0.01; extern double StopLoss = 500.0; extern int MagNum = 1974; int slip = 100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { //::::Открытие и выставление ордеров OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); return (0); } 但是这个选项,到底能不能用? 附加的文件: usdsellmulti.mq4 2 kb [Archive!] Any rookie question, [存档!]我将免费撰写任何专家或指标。 [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 [删除] 2011.03.30 07:22 #2868 CreAndr: OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green); 但是这个选项,到底能不能用? 不,你强调的内容将从当前工具中返回。出价、要价、数位等等都应该用MarketInfo明确指定的工具来请求。 Andrey F. Zelinsky 2011.03.30 07:22 #2869 CreAndr: #property show_inputs //-------------------------------------------------------------------- extern double TakeProfit = 1000; extern double Lots = 0.01; extern double StopLoss = 500.0; extern int MagNum = 1974; int slip = 100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { //::::Открытие и выставление ордеров OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); return (0); } 但是这个方案到底能不能用? 它不会。你必须使用MarketInfo 函数 https://docs.mql4.com/ru/common/MarketInfo。 页面上有关于你的问题的例子 Lazar Buga 2011.03.30 07:28 #2870 谢谢你的帮助。 1...280281282283284285286287288289290291292293294...537 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725
它的工作原理是这样的
它是这样工作的!
谢谢你!
一般来说,现在是MT开发者在文档中创建一个章节,并详细解释问题和使用规范化的必要性。
对于这种情况,在文件中只有一个适度的例子没有强调。
"类型方法" 部分https://docs.mql4.com/ru/basis/types/casting
致FoxUA。
当订单3(卖出)被关闭时,该订单1(买入)仍然寄语它是在止损时关闭的,因此连续下了2个订单,因为总数=1。
我在寻找解决这个问题的办法,即用什么来取代总1来摆脱这种影响?
你能告诉我这个脚本是否不仅能在它所连接的图表窗口中开单,而且能在其他货币对上开单,如果它能正确规定你需要在哪些其他货币对上开单?
也许
也许
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
但是这个选项,到底能不能用?
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green);
但是这个选项,到底能不能用?
不,你强调的内容将从当前工具中返回。出价、要价、数位等等都应该用MarketInfo明确指定的工具来请求。
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
但是这个方案到底能不能用?
它不会。你必须使用MarketInfo 函数 https://docs.mql4.com/ru/common/MarketInfo。
页面上有关于你的问题的例子