//--- тикет ордера указан только для примера, его нужно получитьulong ticket=1234556;
//--- символ также указан для примера, его нужно получитьstring symbol="EURUSD";
//--- количество знаков после запятойint digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS);
//--- значение пунктаdouble point=SymbolInfoDouble(symbol,SYMBOL_POINT);
//--- получим цену покупкиdouble price=SymbolInfoDouble(symbol,SYMBOL_ASK);
//--- вычислим и нормализуем уровни SL и TP//--- на самом деле они должны вычисляться в зависимости от типа ордераdouble SL=NormalizeDouble(price-1000*point,digits);
double TP=NormalizeDouble(price+1000*point,digits);
//--- зададим срок действия одни суткиdatetime expiration=TimeTradeServer()+PeriodSeconds(PERIOD_D1); //!!!//--- все готово, делаем попытку модифицировать ордер if(!trade.OrderModify(ticket,price,SL,TP,ORDER_TIME_GTC,expiration)) //!!!
{
//--- сообщим о неудачеPrint("Метод OrderModify() потерпел неудачу. Код возврата=",trade.ResultRetcode(),
". Описание кода: ",trade.ResultRetcodeDescription());
}
else
{
Print("Метод OrderModify() выполнен успешно. Код возврата=",trade.ResultRetcode(),
" (",trade.ResultRetcodeDescription(),")");
}
先生们,请告诉我在修改挂单时,如果其有效期已设定,最后两行该怎么写。(例如6小时-)。
request.type_time = ORDER_TIME_SPECIFIED; // 订单将在到期日之前有效。
request.expiration = TimeCurrent()+6*3600;//最后已知的服务器时间 + count*hours
如果寿命不改变,我们是否可以在修改时根本不写任何东西?默认情况下,它将自己死亡。
如果你需要改变它的使用寿命呢?
修改待处理的订单
修改挂单价位的交易请求。7个字是必须的。
-行动
-秩序
-价格
-sl
-tp
-类型_时间
-期满
这是《手册》中的两句话,我无法进入。
type_time
到期时的订单类型。值可以是 ENUM_ORDER_TYPE_TIME中的一个值
到期
挂单的到期时间(对于 ORDER_TIME_SPECIFIED类型的订单 )。
你可以完全省略这两行。
你可以写一个,例如:request.type_time = ORDER_TIME_DAY; 在这种情况下,订单将在1天后被删除。
其他选项:https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_time
Stringrequest.expiration = TimeCurrent()+6*3600;//最后已知服务器时间+小时数*小时
您指定订单的到期时间。
https://www.mql5.com/ru/articles/481
请帮助一个新手。
我已经安装了Alpari mt5,优化工作正常,即所有的图表都在绘制,报告也在生成,历史记录也正常。在我把MT5和Insta安装在同一台电脑上之后,我在那里下载了一些测试历史,现在我在Insta和Alpari都没有图表和优化结果。在我把所有的东西都卸载了,只安装了Alpari之后,优化工作又完美地进行了。 然而,在本地网络的另一台电脑上安装Insta之后,优化结果又丢失了。
在所有情况下都是一样的EA,日志中充斥着最好的resalt信息,只有本地代理被使用。
有没有人在一台电脑或本地网络上同时使用两个或更多的mt5,或者可能遇到过这样的问题?
这两行可能根本就没有写。
你可以写一个,例如:request.type_time = ORDER_TIME_DAY; 在这种情况下,订单将在1天后被删除。
我明白了。我也是这么想的,在修改的时候。
输入int t = 24。
request.expiration = TimeCurrent()+t*3600。
我明白了。我也是这么想的,在修改的时候。
输入int t = 24。
request.expiration = TimeCurrent()+t*3600。
我给了你一个链接https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_time,request.type_time 有4种变体可以使用。
秩序时间(ORDER_TIME_GTC
该订单将在队列中直到
季节_时间_日期
订单只在当前交易日内有效。
指定的订单时间
订单将在到期日之前有效
订单_时间_指定的日期
该命令将在指定日期的00:00之前有效。如果该时间不在一个交易时段,则将在最近的交易时间到期。
并给了你https://www.mql5.com/ru/articles/481 的链接, 该链接给出了使用现成的 CTrade 类https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade 修改订单时的交易请求代码。
代码是这样的。
在这里阅读关于MQL5的时间:https://www.mql5.com/ru/articles/599 。
使用搜索并阅读文章和文件。
大家好!
请不要扔石头,但我找不到任何...
在EA上没有职位空缺...它是这样说的
2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 未能即时买入1.00 EURUSD at 1.36720 sl: 1.06720 tp: 1.46720 [无效的请求]
и
2013.12.23 03:00:01 Core 1 2013.12.20 23:30:00 Alert: Request to place Buy order failed - error code:4756
会是什么呢?
mrequest.action = TRADE_ACTION_DEAL; // 立即执行
mrequest.price = NormalizeDouble(latest_price.ask,_Digits); // 最新的询问价格
mrequest.sl = NormalizeDouble(latest_price.ask - STP*_Point,_Digits); // 止损
mrequest.tp = NormalizeDouble(new_price.ask + TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // 符号
要求。成交量 = 手数; // 交易的手数
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_BUY; // 买入订单
mrequest.type_filling = ORDER_FILLING_FOK; //订单类型--全有或全无
要求。偏差=100; //与当前价格相比的滑移量
//----send order
OrderSend(mrequest,mresult)。
亚美尼亚,请。将代码粘贴 到代码框中。 Ctrl+"5"。 更好的是,在编辑器中按下SRC按钮,粘贴到框中并按[ok]。
这一点并不清楚。:(
亚美尼亚,请。将代码粘贴 到代码框中。 Ctrl+"5"。 更好的是,在编辑器中按下SRC按钮,粘贴到框中并按[ok]。
这一点并不清楚。:(
大家好!
请不要扔石头,但我找不到任何...
在EA上没有职位空缺...它给出了这个
2013.12.23 03:00:01 核心 1 2013.12.20 23:30:00 未能即时买入 1.00 EURUSD at 1.36720 sl: 1.06720 tp: 1.46720 [无效请求] 。
и
2013.12.23 03:00:01 核心 1 2013.12.20 23:30:00 警报:购买订单的请求失败 - 错误代码:4756
会是什么呢?
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.price = NormalizeDouble(latest_price.bid,_Digits); // последняя цена Bid
mrequest.sl = NormalizeDouble(latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(latest_price.bid - TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // символ
mrequest.volume = Lot; // количество лотов для торговли
mrequest.magic = EA_Magic; // Magic Number
mrequest.type = ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего
mrequest.deviation=100; // проскальзывание от текущей цены
//--- отсылаем ордер
OrderSend(mrequest,mresult);
大家好!
请不要扔石头,但我找不到任何...
在EA上没有职位空缺...它给出了这个...
问题是,我需要重做(一点)现成的猫头鹰。