任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 452 1...445446447448449450451452453454455456457458459...1178 新评论 Роман 2014.01.31 06:41 #4511 Profitov: 问题出现了,是否有可能写一个专家顾问或脚本,这将是为了实现例如2%的损失在当天将关闭所有交易? 这是有可能的。 [删除] 2014.01.31 07:02 #4512 帮助 -- 我买了一台新的笔记本电脑,安装了vin.8 -- 我从alpari下载了终端,最后更新了 -- 我加载了以前用过的指标,在MQL4-指标文件夹中,它们出现在那里 -- 但在终端本身的用户中却看不到它们,客户支持也没有说什么直话 -- 怎么办? Vadim Zhunko 2014.01.31 07:25 #4513 galinka: 帮助 -- 我买了一台新的笔记本电脑,安装了vin.8 -- 我从alpari下载了终端,最后更新了 -- 我加载了以前用过的指标,在MQL4-指标文件夹中,它们出现在那里 -- 但在终端本身的用户中却看不到它们,客户支持也没有说什么直话 -- 怎么办? 系统菜单 "文件 "有一个新项目 "打开数据文件夹"。这就是你现在必须把它放在哪里。 [删除] 2014.01.31 07:43 #4514 不能这样做--他们不在航站楼内。 [删除] 2014.01.31 07:51 #4515 我一定是误解了该怎么做--程序文件--我有Alpari--打开----,有文件夹---- MQL4-indikators--我把它们放进去--它们出现--我关闭--我打开终端--它们不在用户文件中 [删除] 2014.01.31 08:05 #4516 也许我的指标中有什么需要改变的地方 [删除] 2014.01.31 08:20 #4517 谢谢你的帮助。 Vitek2010v 2014.01.31 08:44 #4518 1mql:在最后一个extern下面: extern int slippage = 2; //关闭市场头寸时的价格滑移 插入另一个: extern bool total_symb = true; //在所有交易 和每一行: if((OrderSymbol() ==Symbol()) 和 if(OrderSymbol() ==Symbol() 替代这个: if(OrderSymbol() ==Symbol() || total_symb) 在理论上应该工作,检查。 它只关闭了几个激活了头寸的图表。在其他图表上,将关闭4107错误。我已经尝试在extern bool Buy = false; //删除/关闭买入订单的方向。extern bool Sell = false; //delete/close sell order direction.在 true .它没有工作。但是,如果我们把它放在一个没有开仓 的图表上,没有一个关闭,看到错误4107。 TarasBY 2014.01.31 09:27 #4519 Profitov: 问题出现了,是否有可能写一个专家顾问或脚本,这将是为了实现例如2%的损失在当天将关闭所有交易? 已经写好 了。 forexman77 2014.01.31 09:34 #4520 alsu: 所以,在旧版本中,Ticket仍在某处使用。我们必须清理代码... 制作方法如下。 Symb=Symbol(); // Название фин.инстр. Total=0; // Количество ордеров int order[7];//буффер для семи ордеров int ord;//количество ордеров ArrayInitialize(order,0);//обнуляем количество ордеров for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: if (OrderSymbol()!=Symb)continue; // Не наш фин. инструм if (OrderType()>1){Alert("Обнаружен отложенный ордер. Эксперт не работает.");return;} Total++; // Счётчик рыночн. орд if (Total>7){Alert("Более 7 ордеров. Эксперт не работает.");return;} Ticket=OrderTicket(); // Номер выбранн. орд. Tip =OrderType(); // Тип выбранного орд. order [OrderType()]++; // ПОЛУЧАЕМ КОЛИЧЕСТВО ОРДЕРОВ Price =OrderOpenPrice(); // Цена выбранн. орд. SL =OrderStopLoss(); // SL выбранного орд. TP =OrderTakeProfit(); // TP выбранного орд. Lot =OrderLots(); // Количество лотов } } ord=order [OrderType()]; while(true) // Цикл закрытия орд. { if (Tip==0 && Cls_B==true) // Открыт ордер Buy.. { //и есть критерий закр Alert("Попытка закрыть Buy ",Ticket,". Ожидание ответа.."); RefreshRates(); // Обновление данных Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buy if (Ans==true){Alert ("Закрыт ордер Buy ",Ticket);if (ord ==0){Alert ("Закрыты все ордера ",ord);break;}} if (Fun_Error(GetLastError())==1) // Обработка ошибок continue; // Повторная попытка return; // Выход из start() } 这些位置完全关闭。的确,错误0出来了,但码头说,这意味着没有错误。而且我在日志中找不到"所有订单关闭 " 的信息。 我把我修改过的那几行加粗了。它似乎可以工作,我还没有彻底检查。 我不太理解循环的工作原理。假设我在循环的上方和下方以及中间都有代码。如果循环的条件吻合,那么代码只在循环内执行,不会让循环下面的代码行得到执行?考虑到这个例子,break 操作符是否中断了 循环?它是允许循环下面的行被执行,还是程序从头开始计算? 如果我错了,请纠正我:break 中断它所在的循环,而continue 执行它上面的运算符的评估,所以不清楚是否有第二个运算符--它的评估会被中断,还是continue 会中断所有的代码,让程序先执行它? 1...445446447448449450451452453454455456457458459...1178 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
问题出现了,是否有可能写一个专家顾问或脚本,这将是为了实现例如2%的损失在当天将关闭所有交易?
这是有可能的。
帮助 -- 我买了一台新的笔记本电脑,安装了vin.8 -- 我从alpari下载了终端,最后更新了 -- 我加载了以前用过的指标,在MQL4-指标文件夹中,它们出现在那里 -- 但在终端本身的用户中却看不到它们,客户支持也没有说什么直话 -- 怎么办?
我一定是误解了该怎么做--程序文件--我有Alpari--打开----,有文件夹---- MQL4-indikators--我把它们放进去--它们出现--我关闭--我打开终端--它们不在用户文件中
谢谢你的帮助。
在最后一个extern下面:
extern int slippage = 2; //关闭市场头寸时的价格滑移
插入另一个:
extern bool total_symb = true; //在所有交易
和每一行:
if((OrderSymbol() ==Symbol())
和
if(OrderSymbol() ==Symbol()
替代这个:
if(OrderSymbol() ==Symbol() || total_symb)
在理论上应该工作,检查。
它只关闭了几个激活了头寸的图表。在其他图表上,将关闭4107错误。我已经尝试在extern bool Buy = false; //删除/关闭买入订单的方向。
问题出现了,是否有可能写一个专家顾问或脚本,这将是为了实现例如2%的损失在当天将关闭所有交易?
所以,在旧版本中,Ticket仍在某处使用。我们必须清理代码...
制作方法如下。
这些位置完全关闭。的确,错误0出来了,但码头说,这意味着没有错误。而且我在日志中找不到"所有订单关闭 " 的信息。
我把我修改过的那几行加粗了。它似乎可以工作,我还没有彻底检查。
我不太理解循环的工作原理。假设我在循环的上方和下方以及中间都有代码。如果循环的条件吻合,那么代码只在循环内执行,不会让循环下面的代码行得到执行?考虑到这个例子,break 操作符是否中断了 循环?它是允许循环下面的行被执行,还是程序从头开始计算?
如果我错了,请纠正我:break 中断它所在的循环,而continue 执行它上面的运算符的评估,所以不清楚是否有第二个运算符--它的评估会被中断,还是continue 会中断所有的代码,让程序先执行它?