初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 958

 

取引履歴にアクセスする際、保留中の注文や ポジションについて、本当に困っています。

保留中の注文がトリガーされてポジションに移動し、正常にクローズ(取引)された場合、履歴キャッシュには注文として、またはポジションとしてどのように保存されるのでしょうか?

ポジションとして、あるいはステータスを通したオーダーとして、どのように対処すればよいのでしょうか?

 
vladzeit:

取引履歴にアクセスする際、保留中の注文や ポジションについて、本当に困っています。

保留中の注文がトリガーされてポジションに移動し、正常にクローズ(取引)された場合、履歴キャッシュには注文として、またはポジションとしてどのように保存されるのでしょうか?

ポジションとして、あるいはステータスを通したオーダーとして、どのように対処すればよいのでしょうか?

ドキュメントのこの 部分を勉強しておくと、役に立つはずです。

まず注文、それが取引になり、次にポジションになる。それはより多くの注文と取引と最後に反対方向に既存の位置に等しいロットで注文をネッティングアカウントである場合、そこから取引とノーポジションです。このポジションを作成、変更、クローズした注文と取引のみが存在します。しかし、それらはすべてポジションIDでつながっている。
Документация по MQL5: Торговые функции / HistorySelectByPosition
Документация по MQL5: Торговые функции / HistorySelectByPosition
  • www.mql5.com
Не следует путать между собой ордера из торговой истории и действующие отложенные ордера, которые отображаются на вкладке "Торговля" в панели "Инструменты". Список ордеров, которые были отменены или привели к проведению торговой операции, можно посмотреть  в закладке "История" на панели "Инструменты" клиентского терминала. Функция...
 

4758

利益またはマージンの算出に失敗した


これはどうしたら直るのでしょうか?

 
Alexey Viktorov:

この セクションのドキュメントを勉強することが助けになるはずです。

まず注文、それが取引になり、次にポジションになる。それはより多くの注文や取引、最後に既存の位置に等しいロットと反対方向の注文をネッティングアカウントである場合、次に、そこから取引とノーポジションです。このポジションを作成、変更、クローズした注文と取引のみが存在します。しかし、それらはすべてポジションIDでつながっている。

アレクセイ入門書も読みましたが、そこに書かれていることよりも、自分の言葉でわかりやすく説明してくれているので...。すべてがクリアでわかりやすい。ありがとうございました)

 
vladzeit:

アレクセイ入門書も読みましたが、そこに書かれていることよりも、自分の言葉でわかりやすく説明してくれているので...。すべてがクリアでわかりやすい。ありがとうございました)

お願いします。




しかし、私は「セクションを勉強する」と言ったのであって、「読む」とは言っていない。全部書いてあるんだけど、この部分のいろんな機能の説明が散りばめられていて、ただのドキュメントで、初心者のための本ではないんだ。他の記事もあります。きっとその中に、それを語る人がいるに違いない。

 
Alexey Viktorov:
お願いします。




しかし、私は「セクションを勉強する」と言ったのであって、「読む」とは言っていない。全部あるのですが、この部分の様々な機能の説明が散りばめられていて、単なるドキュメントであって、初心者向けの入門書ではありません。他の記事もあります。きっとその中に、それを語る人がいるに違いない。

おっしゃるとおり、読むだけでなく、その時々に興味を持ったことを勉強していかなければなりませんね。しかし、私は自分の感情や、動作するアルゴリズムという形で実装された、迅速かつ実用的な結果を得たいという欲求に従っているのです。

そして、この狭いタスクを解決するために必要なものだけをmql5から得ようとしているのです...。その結果、私は教育において多くのギャップを抱えている)

すでに文字は認識できているようですが、単語や文章を作ろうとはしません)。

また、例題や演習を含む正確な教科書がなく、Helpはすでにプログラミングの経験がある人向けに作られており、実際には独自の構文のみを説明しているため、難しい。

もちろん、フォーラムには多くの情報がありますが、すべてが非常に散在しており、mql5の新しい変更のために信頼できないこともあります。

mql4との出会いをきっかけにすればよかったかも...。チュートリアルがもっとあるのは当然として、基本的な経験、アイデアを得た上で、mql5を使い始め、その違いを勉強してください。

私は部分的にそうして、mql4で例を探し、類推してmql5で実装しようとしています。でも、機能や原理が根本的に違うので、余計に分からなくなることもあります))))。

独学者は皆これを経験するらしい)。

上記のお言葉、必ずや考慮します、少なくとも努力します)。

 

ターミナルを更新 した後、Expert Advisorが構築されなくなった。

エラー

'INIT_FAILED' - expression not boolean  

何が問題なのでしょうか?

//+------------------------------------------------------------------+
//| Lots or risk in percent for a deal from a free margin            |
//+------------------------------------------------------------------+
bool LotsOrRisk(const double lots,const double risk,const int digits_adjust)
  {
   if(lots<0.0 && risk<0.0)
     {
      Print(__FUNCTION__,",ERROR: Parameter(\"lots\" or \"risk\") can't be less than zero");
      return(false);
     }
   if(lots==0.0 && risk==0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" == 0.0 and \"risk\" == 0.0");
      return(false);
     }
   if(lots>0.0 && risk>0.0)
     {
      Print(__FUNCTION__,", ERROR: Trade is impossible: You have set \"lots\" > 0.0 and \"risk\" > 0.0");
      return(false);
     }
   if(lots>0.0)
     {
      string err_text="";
      if(!CheckVolumeValue(lots,err_text))
        {
         Print(__FUNCTION__,", ERROR: ",err_text);
         return(false);
        }
     }
   else if(risk>0.0)
     {
      if(m_money!=NULL)
         delete m_money;
      m_money=new CMoneyFixedMargin;
      if(m_money!=NULL)
        {
         if(!m_money.Init(GetPointer(m_symbol),Period(),m_symbol.Point()*digits_adjust))
            return(INIT_FAILED);
         m_money.Percent(risk);
        }
      else
        {
         Print(__FUNCTION__,", ERROR: Object CMoneyFixedMargin is NULL");
         return(INIT_FAILED);
        }
     }
//---
   return(true);
  }
//+------------------------------------------------------------------+

これは、コンパイラが悪態をついている関数です。

return(INIT_FAILED);
 
ilvic:

ターミナルを更新 した後、Expert Advisorが構築されなくなった。

エラー

何が問題なのでしょうか?

これは、コンパイラが悪態をついている関数です。

LotsOrRisk()関数は、boolとして宣言されています。つまり、trueまたはfalseしか返せないということです。

 
Juer:

どうやら私のハードのせいのようです...。と私のシステムです。

システムをVin10にアップグレードし、ビットセクタローカライゼーションでディスクチェックを行いました。まあ、SSDにアップグレードしないといけないんだろうけど。

コンパイルも10分以上かかりました。コンパイルにこんなに時間がかかるなんて、普通じゃないですよね...。

 
こんにちは。
入力したパラメータをチャート上に表示するインジケータは可能でしょうか?もしかしたら、用意された例があるのでは?
理由: