新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 908

 


你好!

我可以在OBJ_EXPANSION中设置斐波那契延伸线 的长度吗?它取决于什么?

问候,亚历山大

 
大家好,能不能告诉我,是否可以只通过改变头寸的评论来修改一个未结头寸?当我部分关闭一个头寸时,我可以做到,但我不能只改变评论。例如,市场上出现了一种情况,我想在未平仓合约的评论中添加一些信息
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Tango_X:
大家好!伙计们,你们能告诉我是否可以通过改变这个职位的评论来修改一个开放的职位?当我部分关闭一个头寸时,我得到了它,但仅仅改变评论并不奏效。例如,市场上出现了一种情况,我想在未平仓合约的评论中添加一些信息

订单评论不能以任何方式改变 - 从字不可能....a,经纪人的服务器改变评论,谁在通过0:00 h的过渡,几乎无处不在的订单部分关闭,往往在订单的历史完全关闭,订单的评论将被改变。

即使在订单部分关闭的情况下,您也不能改变订单注释--订单注释只有一次机会--只有当订单被发送到服务器时(订单打开)。

像这样;)

 
Igor Makanu:

订单评论不能以任何方式改变 - 从字不可能....a,经纪人的服务器改变评论,谁在通过0:00 h的过渡,几乎无处不在的订单部分关闭,往往在订单的历史完全关闭,订单的评论将被改变。

当订单部分关闭时,您也不能改变订单的评论 - 订单评论只有一次 - 只有当订单被发送到服务器时(订单打开)。

像这样;)

首先,你用 "你好 "的评论打开一个仓位,然后用 "再次你好 "的评论部分地关闭它。

你的评论?

//+------------------------------------------------------------------+
//|                                              PositionCloseBy.mq5 |
//|                              Copyright © 2016, Vladimir Karputov |
//|                                           http://wmua.ru/slesar/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2016, Vladimir Karputov"
#property link      "http://wmua.ru/slesar/"
#property description "PositionCloseBy(Sell_Ticket, Buy_Ticket) когда цена Sell_Ticket ниже цены  Buy_Ticket)"
#property description "позиция Buy = 0.01 лот, позиция Sell = 0.02 лота."
#include <Trade\PositionInfo.mqh>
#include <Trade\Trade.mqh>
#property version   "1.00"
//---
CPositionInfo  m_position;                   // trade position object

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class MyClass : public CTrade
  {
public :
   bool              PositionClosePartial(const ulong ticket,const double volume,string const comm, const ulong deviation=ULONG_MAX);
  };

MyClass        m_trade;                      // trading object
bool           BuyIsOpen=false;              // false - позиция Buy ещё не открыта
bool           SellIsOpen=false;             // false - позиция Sell ещё не открыта
bool           CloseBy=false;                // false - CloseBy ещё не выполняли
ulong          BuyTicket=0;                  // тикет позиции Buy
ulong          SellTicket=0;                 // тикет позиции Sell
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   BuyTicket=0;
   SellTicket=0;

//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---

  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(!BuyIsOpen)
     {
         if(m_trade.Buy(0.20,NULL,0,0,0,"hello:)"))
           {
            if(m_trade.ResultRetcode()==TRADE_RETCODE_DONE && m_trade.ResultDeal()!=0)
              {
               BuyTicket=m_trade.ResultDeal();
               BuyIsOpen=true;
              }
           }
     }
//---
   if(BuyIsOpen && !CloseBy)
     {
           if(m_trade.PositionClosePartial(PositionGetTicket(0),0.05,"hello adain:)",1))
           {
            Print("PositionCloseBy -> true. Result Retcode: ",m_trade.ResultRetcode(),
                  ", description of result: ",m_trade.ResultRetcodeDescription(),"===== ",PositionGetString(POSITION_COMMENT));
            CloseBy=true;
           }
         else
           {
            Print("PositionCloseBy -> false. Result Retcode: ",m_trade.ResultRetcode()," "
                  ", description of result: ",m_trade.ResultRetcodeDescription());
           }
     }
  }
//+------------------------------------------------------------------+
//| Partial close specified opened position (for hedging mode only)  |
//+------------------------------------------------------------------+
bool MyClass::PositionClosePartial(const ulong ticket,const double volume, const string comm, const ulong deviation)
  {
//--- check stopped
   if(IsStopped(__FUNCTION__))
      return(false);
//--- for hedging mode only
   if(!IsHedging())
      return(false);
//--- check position existence
   if(!PositionSelectByTicket(ticket))
      return(false);
   string symbol=PositionGetString(POSITION_SYMBOL);
//--- clean
   ClearStructures();
//--- check filling
   if(!FillingCheck(symbol))
      return(false);
//--- check
   if((ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
     {
      //--- prepare request for close BUY position
      m_request.type =ORDER_TYPE_SELL;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_BID);
     }
   else
     {
      //--- prepare request for close SELL position
      m_request.type =ORDER_TYPE_BUY;
      m_request.price=SymbolInfoDouble(symbol,SYMBOL_ASK);
     }
//--- check volume
   double position_volume=PositionGetDouble(POSITION_VOLUME);
   if(position_volume>volume)
      position_volume=volume;
//--- setting request
   m_request.action   =TRADE_ACTION_DEAL;
   m_request.position =ticket;
   m_request.symbol   =symbol;
   m_request.comment  = comm;
   m_request.volume   =position_volume;
   m_request.magic    =m_magic;
   m_request.deviation=(deviation==ULONG_MAX) ? m_deviation : deviation;
//--- close position
   return(OrderSend(m_request,m_result));
  }
Блог слесаря-ремонтника и механика по наладке оборудования | Советы для ремонтников
Блог слесаря-ремонтника и механика по наладке оборудования | Советы для ремонтников
  • wmua.ru
С первого раза даже не поверил, что в таком небольшом чемоданчике можно разместить столько электроинструмента! В общем, как говорится, лучше один раз увидеть: С Праздником 8 Марта! С Праздником Весны! Милые дамы, женщины, мамы и бабушки. Поздравляю Вас с праздником весны, праздником жизни. Спасибо Вам за то, что Вы у нас есть. Спасибо Вам за...
 
Igor Makanu:

订单评论不能以任何方式改变 - 从字不可能....a,经纪人的服务器改变评论,谁在通过0:00 h的过渡,几乎无处不在的订单部分关闭,往往在订单的历史完全关闭,订单评论将被改变。

当订单部分关闭时,您也不能改变订单的评论 - 订单评论只有一次 - 只有当订单被发送到服务器时(订单打开)。

像这样;)

或者我们只是在图表上用一个注释手动开仓,然后用另一个注释部分手动平仓。我只想修改评论

Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Tango_X:

首先创建了一个带有 "你好 "注释的位置,然后用 "再次你好 "的注释部分关闭。

你的评论?

本主题中99%的问题都是针对MT4平台的,你没有指定平台,所以我根据MT4的功能来回答。

不幸的是,我没有使用SBTrade.mqh,我不能说什么,对我来说,我只用 MT4Orders.mqh为MT5编写 https://www.mql5.com/ru/code/16006

 
Tango_X:

首先创建了一个带有 "你好 "注释的位置,然后用 "再次你好 "的注释部分关闭。

您的意见?

这个例子已经有很长时间了。CTrade类现在有自己的方法PositionClosePartial

 
请给我一个EA的代码,它不会按指标打开,而是按蜡烛的颜色和时间框架打开。
 

为什么一个函数https://www.mql5.com/ru/docs/array/arraymaximum,其参数中可以有一个声明

void&   array[]

但我不允许在我的函数的参数中声明它?

如果我想写自己的ArrayMaximum(),因为MT4和MT5的参数混在一起(或特别),该怎么办?

 
secret:

为什么一个函数https://www.mql5.com/ru/docs/array/arraymaximum,其参数中可以有一个声明

但我不允许在我的函数的参数中声明它?

如果我想写自己的ArrayMaximum(),我应该怎么做?

答案就在这里
原因: