Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 908

 


Olá!

Posso definir o comprimento das linhas de extensão Fibonacci em OBJ_EXPANSION? De que depende?

Cumprimentos, Alexander

 
Olá pessoal, vocês podem me dizer se é possível modificar uma posição aberta mudando apenas o comentário da posição? Quando eu fecho parcialmente uma posição, posso fazê-lo, mas não posso mudar apenas o comentário. Por exemplo, ocorreu uma situação no mercado e eu quero acrescentar algumas informações ao comentário da posição aberta
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Tango_X:
Olá a todos! pessoal, vocês podem me dizer se é possível modificar uma posição aberta APENAS MUDANDO O COMENTÁRIO DESTA POSIÇÃO? Quando eu fecho parcialmente uma posição, consigo fazê-lo, mas mudar apenas o comentário não funciona. Por exemplo, ocorreu uma situação no mercado e eu quero acrescentar algumas informações ao comentário da posição aberta

o comentário do pedido não pode ser alterado de forma alguma - da palavra impossible....a o servidor do corretor muda o comentário, que na transição até 0:00 h, em quase todos os lugares no fechamento parcial do pedido, muitas vezes no fechamento total do pedido na história dos pedidos o comentário do pedido será alterado

Você também não pode alterar o comentário sobre o pedido quando ele está parcialmente fechado - o comentário do pedido está disponível apenas uma vez - apenas quando o pedido é enviado para o servidor (abertura do pedido)

assim ;)

 
Igor Makanu:

o comentário do pedido não pode ser alterado de forma alguma - da palavra impossible....a o servidor do corretor muda o comentário, que na transição até 0:00 h, em quase todos os lugares no fechamento parcial do pedido, muitas vezes no fechamento total do pedido na história dos pedidos o comentário do pedido será alterado

Você também não pode alterar o comentário sobre o pedido quando ele está parcialmente fechado - o comentário do pedido está disponível apenas uma vez - apenas quando o pedido é enviado para o servidor (abertura do pedido)

assim ;)

Primeiro você abre uma posição com o comentário "olá" e depois você a fecha parcialmente com o comentário "olá novamente".

Seu comentário?

//+------------------------------------------------------------------+
//|                                              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:

o comentário do pedido não pode ser alterado de forma alguma - a partir da palavra impossible....a o servidor do corretor muda o comentário, que na transição até 0:00 h, em quase todos os lugares no fechamento parcial do pedido, muitas vezes no fechamento total do pedido na história dos pedidos o comentário do pedido será alterado

Você também não pode alterar o comentário sobre o pedido quando ele está parcialmente fechado - o comentário do pedido está disponível apenas uma vez - apenas quando o pedido é enviado para o servidor (abertura do pedido)

assim ;)

Ou simplesmente abrimos uma posição manualmente no gráfico com um comentário e depois fechamos manualmente a posição parcialmente com outro comentário. Eu gostaria de mudar apenas comentários

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

Primeiro é criada uma posição com o comentário "olá" e depois se fecha parcialmente com o comentário "olá novamente".

Seu comentário?

99% das perguntas neste tópico são para a plataforma MT4, você não especificou uma plataforma, então eu respondi com base nas capacidades do MT4.

Infelizmente eu não uso SBTrade.mqh, não posso dizer nada, para mim só escrevo para MT5 usando MT4Orders.mqhhttps://www.mql5.com/ru/code/16006

 
Tango_X:

Primeiro é criada uma posição com o comentário "olá" e depois se fecha parcialmente com o comentário "olá novamente".

Seus comentários?

Este exemplo já está disponível há muito tempo. A classe CTrade agora tem seu próprio métodoPositionClosePartial

 
Por favor, me dê um código para um EA, ele não seria aberto por indicadores, mas por cores de velas e por tempo.
 

Por que uma funçãohttps://www.mql5.com/ru/docs/array/arraymaximum pode ter uma declaração em seus parâmetros

void&   array[]

mas não estou autorizado a declará-lo nos parâmetros da minha função?

O que devo fazer se eu quiser escrever meu próprio ArrayMaximum(), porque MT4 e MT5 têm parâmetros misturados (ou especialmente)?

 
secret:

Por que uma funçãohttps://www.mql5.com/ru/docs/array/arraymaximum pode ter uma declaração em seus parâmetros

mas não estou autorizado a declará-lo nos parâmetros da minha função?

O que devo fazer se eu quiser escrever meu próprio ArrayMaximum() ?

A resposta está aqui.
Razão: