MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 908

 


こんにちは。

OBJ_EXPANSIONでフィボナッチ拡張 線の長さを設定できますか?何に依存するのか?

アレクサンダー

 
こんにちは、皆さん、ポジションのコメントだけを変更してオープンポジションを 修正することが可能かどうか教えてください。ポジションを部分的に閉じるときはできるのですが、コメントだけ変更することができないのです。例えば、マーケットにある状況が発生し、オープンポジションのコメントに情報を追加したい場合
Совершение сделок - Торговые операции - MetaTrader 5
Совершение сделок - Торговые операции - MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
Tango_X:
こんにちは!皆さん、このポジションのコメントだけを変更して、オープンポジションを 修正することが可能かどうか教えてください。ポジションを部分的にクローズすると、完了するのですが、コメントだけを変更してもうまくいきません。例えば、マーケットにある状況が発生し、オープンポジションのコメントに情報を追加したい場合

注文コメントはどのように変更することはできません - 言葉から不可能...ブローカーのサーバーは、0:00 hを介して移行で、ほとんどどこでも注文の一部終了時に、しばしば注文の履歴の順序の完全閉鎖でコメントを変更する注文コメントが変更されます。

注文のコメントは、注文がサーバーに送信されるとき(注文開始)に一度だけ利用可能です。

このように;)

 
Igor Makanu:

注文コメントはどのように変更することはできません - 言葉から不可能...ブローカーのサーバーは、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:

注文コメントはどのように変更することはできません - 言葉から不可能...ブローカーのサーバーは、0:00 hを介して移行で、ほとんどどこでも注文の一部終了時に、しばしば注文の履歴の順序の完全閉鎖でコメントを変更する注文コメントが変更されます。

注文のコメントは、注文がサーバーに送信されるとき(注文開始)に一度だけ利用可能です。

このように;)

あるいは、チャート上で1つのコメントを付けて手動でポジションをオープンし、別のコメントを付けて手動で部分的にクローズ するだけです。コメントのみ変更したい

Совершение сделок - Торговые операции - 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[]

が、関数のパラメータで宣言してはいけないのでしょうか?

MT4とMT5でパラメータがごっちゃになっているので、自分でArrayMaximum()を書きたい場合はどうしたらいいのでしょうか(わざとなのでしょうか)。

 
secret:

なぜ関数https://www.mql5.com/ru/docs/array/arraymaximum は、そのパラメータに宣言を持つことができるのか

が、関数のパラメータで宣言してはいけないのでしょうか?

自分でArrayMaximum()を書きたい場合はどうすればいいのでしょうか?

その答えがここに あります。