初学者的问题 MQL5 MT5 MetaTrader 5 - 页 164

 

先生们,请告诉我在修改挂单时,如果其有效期已设定,最后两行该怎么写。(例如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

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

请帮助一个新手。

我已经安装了Alpari mt5,优化工作正常,即所有的图表都在绘制,报告也在生成,历史记录也正常。在我把MT5和Insta安装在同一台电脑上之后,我在那里下载了一些测试历史,现在我在Insta和Alpari都没有图表和优化结果。在我把所有的东西都卸载了,只安装了Alpari之后,优化工作又完美地进行了。 然而,在本地网络的另一台电脑上安装Insta之后,优化结果又丢失了。

在所有情况下都是一样的EA,日志中充斥着最好的resalt信息,只有本地代理被使用。

有没有人在一台电脑或本地网络上同时使用两个或更多的mt5,或者可能遇到过这样的问题?




 
Crucian:

这两行可能根本就没有写。

你可以写一个,例如:request.type_time = ORDER_TIME_DAY; 在这种情况下,订单将在1天后被删除。

我明白了。我也是这么想的,在修改的时候。



输入int t = 24。

request.expiration = TimeCurrent()+t*3600

 
rosomah:

我明白了。我也是这么想的,在修改的时候。



输入int t = 24。

request.expiration = TimeCurrent()+t*3600。

我给了你一个链接https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_type_timerequest.type_time 有4种变体可以使用。


秩序时间(ORDER_TIME_GTC
该订单将在队列中直到

季节_时间_日期
订单只在当前交易日内有效。

指定的订单时间
订单将在到期日之前有效

订单_时间_指定的日期
该命令将在指定日期的00:00之前有效。如果该时间不在一个交易时段,则将在最近的交易时间到期。

并给了你https://www.mql5.com/ru/articles/481 的链接 该链接给出了使用现成的 CTradehttps://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade 修改订单时的交易请求代码

代码是这样的。

//--- тикет ордера указан только для примера, его нужно получить
   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(),")");
     }

在这里阅读关于MQL5的时间:https://www.mql5.com/ru/articles/599 。

使用搜索并阅读文章和文件。


Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 

大家好!

请不要扔石头,但我找不到任何...

在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)。

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация об инструменте - Документация по MQL5
 
Armen:

亚美尼亚,请。将代码粘贴 到代码框中。 Ctrl+"5"。 更好的是,在编辑器中按下SRC按钮,粘贴到框中并按[ok]。

这一点并不清楚。:(

 
MetaDriver:

亚美尼亚,请。将代码粘贴 到代码框中。 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);

 
Armen:

大家好!

请不要扔石头,但我找不到任何...

在EA上没有职位空缺...它给出了这个...

最好按照MQL5中的交易操作 发送订单开仓/下单,这很简单
 
paladin800:
问题是,我需要重做(一点)现成的猫头鹰。
问题是,我需要修改(一点)现成的猫头鹰......:(