谁能帮助解决机器人的问题,为什么它不工作了? - 页 6 1234567 新评论 [删除] 2016.02.16 19:33 #51 那么错在哪里,至少让我看看? [删除] 2016.02.16 19:36 #52 这是我对MT4 ECN、ND、STP的函数...一年中没有一个错误//+----------------------------------------------------------------------------+//|开单功能(BeerGod)|//+----------------------------------------------------------------------------+//| 参数。|//| sy - 仪器名称("" - 当前符号)|//| op - 操作|| //| ll - lot|//| sl--停止水平 |//| tp - 采取的水平 |//| mn - 魔法数字 |//+----------------------------------------------------------------------------+bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0){double MinLl = MarketInfo(Symbol(),MODE_MINLOT);double MaxLl = MarketInfo(Symbol(),MODE_MAXLOT);ll = NormalizeDouble(ll,2);如果(ll<MinLl)ll=MinLl;否则ll=ll。如果(ll>MaxLl)ll=MaxLl;否则ll=ll。if (op == 0) // BUY opening{// 检查是否有免费的资金如果((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134)){Print(sy," ",ll," It is impossible to open order Buy,not enough money." )。return(0);}RefreshRates()。// 打开订单int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comment,MagicNumber,0,BuyColor)。如果(ticketbuy<0)Print(sy," OpenPosition.OrderSend Buy fail #",GetLastError())。否则Print(sy," OpenPosition. OrderSend Buy successfully");// 睡眠(暂停)。// 修改订单(设置止盈和止损)。如果(sl !=0 || tp !=0){//------计算的SL和TP价格必须被规范化double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS)double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS))。//---- 如果输入值为零,则将修改后的价格替换为零如果(sl == 0)BSLoss = 0。如果(tp == 0)BTProfit = 0。bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor)。if(!resbuy)Print(sy," OpenPosition.OrderModify购买失败#",GetLastError())。否则Print(sy," OpenPosition. OrderModify Buy successfully");}}if (op == 1) // 打开卖出。{// 检查是否有免费资金如果((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) ||(GetLastError()==134)){Print(sy," ",ll," It is impossible to open order Sell, not enough money." )。return(0);}RefreshRates()。// 打开订单int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comment,MagicNumber,0,SellColor);如果(Ticketsell<0)Print(sy," OpenPosition.OrderSend Sell失败#",GetLastError())。否则Print(sy," OpenPosition. OrderSend Sell successfully");// 睡眠(暂停)。// 修改订单(设置止盈和止损)。如果(sl !=0 || tp !=0){//----计算出的SL和TP价格必须被规范化double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS)double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS))。//---- 如果输入值为零,则将修改后的价格替换为零如果(sl == 0)SSLoss = 0。如果(tp == 0)STProfit = 0。bool ressell = OrderModify (tasksell,OrderOpenPrice(),SSLoss,STProfit,0,StopColor)。if(!ressell)Print(sy," OpenPosition.OrderModify Sell失败#",GetLastError())。否则Print(sy," OpenPosition. OrderModify Sell successfully");}}return(True)。}//结束 Who can help with [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 [删除] 2016.02.16 19:38 #53 P.S. 主持人,代码不能通过按钮插入。 Vladimir Karputov 2016.02.16 19:42 #54 Vladimir Zubov: P.S. 版主,代码不能通过按钮插入。我正在提供免费(不收费)的在线Skype课程,讲授代码插入:) if (sl == 0) SSLoss = 0; [删除] 2016.02.16 19:45 #55 Karputov Vladimir:我在Skype上提供免费的(不收费的)关于代码插入 的在线课程 :)//+----------------------------------------------------------------------------+ //| Функция открытия ордера (BeerGod) | //+----------------------------------------------------------------------------+ //| Параметры: | //| sy - наименование инструмента ("" - текущий символ) | //| op - операция | //| ll - лот | //| sl - уровень стоп | //| tp - уровень тейк | //| mn - MagicNumber | //+----------------------------------------------------------------------------+ bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0) { double MinLl = MarketInfo(Symbol(),MODE_MINLOT); double MaxLl = MarketInfo(Symbol(),MODE_MAXLOT); ll = NormalizeDouble(ll,2); if (ll < MinLl) ll = MinLl; else ll = ll; if (ll > MaxLl) ll = MaxLl; else ll = ll; if (op == 0) // Открытие BUY { // Проверяем доступность свободных средств if((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134)) { Print(sy," ",ll," It is impossible to open the order Buy, not enough money."); return(0); } RefreshRates(); // Открываем ордер int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comments,MagicNumber,0,BuyColor); if(ticketbuy<0) Print(sy," OpenPosition. OrderSend Buy fail #",GetLastError()); else Print(sy," OpenPosition. OrderSend Buy successfully"); // Sleep (Pause); // Модифицируем ордер (выставляем тейкпрофит и стоплосс) if (sl !=0 || tp !=0) { //--- Вычисленные значения цен SL и TP должны быть нормализованы double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); //--- Если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0) BSLoss = 0; if (tp == 0) BTProfit = 0; bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor); if(!resbuy) Print(sy," OpenPosition. OrderModify Buy fail #",GetLastError()); else Print(sy," OpenPosition. OrderModify Buy successfully"); } } if (op == 1) // Открытие Sell { // Проверяем доступность свободных средств if((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) || (GetLastError()==134)) { Print(sy," ",ll," It is impossible to open the order Sell, not enough money."); return(0); } RefreshRates(); // Открываем ордер int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comments,MagicNumber,0,SellColor); if(ticketsell<0) Print(sy," OpenPosition. OrderSend Sell fail #",GetLastError()); else Print(sy," OpenPosition. OrderSend Sell successfully"); // Sleep (Pause); // Модифицируем ордер (выставляем тейкпрофит и стоплосс) if (sl !=0 || tp !=0) { //--- Вычисленные значения цен SL и TP должны быть нормализованы double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT),(int)MarketInfo(sy,MODE_DIGITS)); //--- Если входящие значения ноль то заменяем цену модификации на ноль if (sl == 0) SSLoss = 0; if (tp == 0) STProfit = 0; bool ressell = OrderModify (ticketsell,OrderOpenPrice(),SSLoss,STProfit,0,StopColor); if(!ressell) Print(sy," OpenPosition. OrderModify Sell fail #",GetLastError()); else Print(sy," OpenPosition. OrderModify Sell successfully"); } } return (True); } //End [删除] 2016.02.16 19:46 #56 Karputov Vladimir:我在Skype上提供免费的(不收费的)关于代码插入 的在线课程 :) 如果我只是粘贴代码,是的,但如果我写更多,代码就消失了 [删除] 2016.02.16 20:04 #57 有一个错误的地方,当计算PHP和MQL时,如果你需要汇编,那么请帮助。 Sergey Gritsay 2016.02.17 06:54 #58 GIM: 谢谢你!完成了,如果你有任何关于代码编写的问题,也可以当面或通过Skype进行咨询 附加的文件: GIM.mq4 9 kb GIM 2016.02.17 12:38 #59 Sergey Gritsay:准备好了,如果你有任何关于代码的问题,请发电子邮件或Skype 警报》发出的信息是:没有价格。等待新的蜱虫... Sergey Gritsay 2016.02.17 12:50 #60 GIM: 警报》发出的消息是:没有价格。我们等待着新的蜱虫...我有一个模拟账户,运行良好,第一次就开了一笔交易。我需要更多细节。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是我对MT4 ECN、ND、STP的函数...
一年中没有一个错误
//+----------------------------------------------------------------------------+
//|开单功能(BeerGod)|
//+----------------------------------------------------------------------------+
//| 参数。|
//| sy - 仪器名称("" - 当前符号)|
//| op - 操作|
| //| ll - lot|
//| sl--停止水平 |
//| tp - 采取的水平 |
//| mn - 魔法数字 |
//+----------------------------------------------------------------------------+
bool OpenPosition(string sy, int op, double ll, double sl=0, double tp=0, int MagicNumber=0)
{
double MinLl = MarketInfo(Symbol(),MODE_MINLOT);
double MaxLl = MarketInfo(Symbol(),MODE_MAXLOT);
ll = NormalizeDouble(ll,2);
如果(ll<MinLl)ll=MinLl;否则ll=ll。
如果(ll>MaxLl)ll=MaxLl;否则ll=ll。
if (op == 0) // BUY opening
{
// 检查是否有免费的资金
如果((AccountFreeMarginCheck(sy,OP_BUY,ll)<=0) || (GetLastError()==134))
{
Print(sy," ",ll," It is impossible to open order Buy,not enough money." )。
return(0);
}
RefreshRates()。
// 打开订单
int ticketbuy = OrderSend(sy,OP_BUY,ll,MarketInfo(sy,MODE_ASK),Slippage,0,0,Comment,MagicNumber,0,BuyColor)。
如果(ticketbuy<0)
Print(sy," OpenPosition.OrderSend Buy fail #",GetLastError())。
否则
Print(sy," OpenPosition. OrderSend Buy successfully");
// 睡眠(暂停)。
// 修改订单(设置止盈和止损)。
如果(sl !=0 || tp !=0)
{
//------计算的SL和TP价格必须被规范化
double BSLoss = NormalizeDouble(MarketInfo(sy,MODE_ASK)-sl*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS)
double BTProfit = NormalizeDouble(MarketInfo(sy,MODE_ASK)+tp*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS))。
//---- 如果输入值为零,则将修改后的价格替换为零
如果(sl == 0)BSLoss = 0。
如果(tp == 0)BTProfit = 0。
bool resbuy = OrderModify (ticketbuy,OrderOpenPrice(),BSLoss,BTProfit,0,StopColor)。
if(!resbuy)
Print(sy," OpenPosition.OrderModify购买失败#",GetLastError())。
否则
Print(sy," OpenPosition. OrderModify Buy successfully");
}
}
if (op == 1) // 打开卖出。
{
// 检查是否有免费资金
如果((AccountFreeMarginCheck(sy,OP_SELL,ll)<=0) ||(GetLastError()==134))
{
Print(sy," ",ll," It is impossible to open order Sell, not enough money." )。
return(0);
}
RefreshRates()。
// 打开订单
int ticketsell = OrderSend(sy,OP_SELL,ll,MarketInfo(sy,MODE_BID),Slippage,0,0,Comment,MagicNumber,0,SellColor);
如果(Ticketsell<0)
Print(sy," OpenPosition.OrderSend Sell失败#",GetLastError())。
否则
Print(sy," OpenPosition. OrderSend Sell successfully");
// 睡眠(暂停)。
// 修改订单(设置止盈和止损)。
如果(sl !=0 || tp !=0)
{
//----计算出的SL和TP价格必须被规范化
double SSLoss = NormalizeDouble(MarketInfo(sy,MODE_BID)+sl*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS)
double STProfit = NormalizeDouble(MarketInfo(sy,MODE_BID)-tp*MarketInfo(sy,MODE_POINT), (int)MarketInfo(sy,MODE_DIGITS))。
//---- 如果输入值为零,则将修改后的价格替换为零
如果(sl == 0)SSLoss = 0。
如果(tp == 0)STProfit = 0。
bool ressell = OrderModify (tasksell,OrderOpenPrice(),SSLoss,STProfit,0,StopColor)。
if(!ressell)
Print(sy," OpenPosition.OrderModify Sell失败#",GetLastError())。
否则
Print(sy," OpenPosition. OrderModify Sell successfully");
}
}
return(True)。
}
//结束
P.S. 版主,代码不能通过按钮插入。
我正在提供免费(不收费)的在线Skype课程,讲授代码插入:)
我在Skype上提供免费的(不收费的)关于代码插入 的在线课程 :)
我在Skype上提供免费的(不收费的)关于代码插入 的在线课程 :)
谢谢你!
完成了,如果你有任何关于代码编写的问题,也可以当面或通过Skype进行咨询
准备好了,如果你有任何关于代码的问题,请发电子邮件或Skype
警报》发出的消息是:没有价格。我们等待着新的蜱虫...
我有一个模拟账户,运行良好,第一次就开了一笔交易。我需要更多细节。