記事"MQL5でのトレードオペレーション - 簡単です"についてのディスカッション - ページ 2

 
Valmars:
公開する前にコードを見直すべきです。

これはずいぶん前に、公開当日に修正されている。
 
Valmars:

そうですね、トレード・クラスはもう十分に安定しています。それなのに、その使用を推奨していながら、なぜ例題にはCsymbolInfoクラスのメソッドを使う代わりに、商品のプロパティを 取得する関数が含まれているのでしょうか。矛盾しているように思えます。

何が言いたいのか明確にしてください。クラスをどこにでも書けというのでは、初めての人は複雑で理解できないと思うかもしれません。
 
Rosh:
これはずいぶん前に修正されていた。
申し訳ありません。すぐに記事を開いたのですが、読んだのは今になってしまいました。
 
Rosh:
意味を明確にするあちこちにクラスを書けというのでは、新参者の中には複雑で理解できないと思う人もいるだろう。

実は、上の引用で「標準ライブラリ」のクラスを使うように促しているのは私ではなく、賛成しているだけなのだ。もちろん、それは好みの問題だ。

少し複雑なEAでは、シンボルのプロパティへの参照がたくさんあり、CsymbolInfoクラスのインスタンスを一度作成することで、それらへの参照とプログラムの認識を単純化することができます。私の意見です。

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 

申し訳ありませんが、この質問をどこですればいいのかわからず、ここで質問することにしました。

売りのみ、または買いのみで開いた注文を一度にすべて閉じるにはどうすればよいですか?

 
nskforward:

申し訳ありません。この質問をどこですればいいのかわからず、ここで質問することにしました。

売りまたは買いで発注した注文をすべて一度に決済するにはどうすればよいですか?

MetaTrader 5では、各商品に対して1つのオープンポジションしか 持てません。おそらく、すべての商品のすべてのポジションを閉じるということでしょうか。
 

こんにちは、
RTS-3.13 (RIH3)先物を取引するコードでBuyStop関数を使用すると、エラーが発生し続けます:
10022TRADE_RETCODE_INVALID_EXPIRATION- 注文の有効期限が無効です。

先物RTS-3.13の仕様では、注文の種類-取消まで有効 キューに入る。
他のタイプ ORDER_TIME_DAY、ORDER_TIME_SPECIFIED、ORDER_TIME_SPECIFIED_DAY を使用してみましたが、エラーは消えませんでした。


コードの一部です:

   int    digits = (int)SymbolInfoInteger(Ticket,SYMBOL_DIGITS);// 小数点以下の桁数
   double point  = SymbolInfoDouble(Ticket,SYMBOL_POINT);       // パラ
   double ask    = SymbolInfoDouble(Ticket,SYMBOL_ASK);         // 現在の購入価格
   double price= 1000 * point;                                  // 正規化されていない初値
   price  = NormalizeDouble(price, digits);                     // 始値を正規化する
   //price = NormalizeDouble(ask + 1000, digits); // ?
   Print("digits=", IntegerToString(digits), " point=", DoubleToString (point, 0), " ask=", DoubleToString (ask, 0),
         " price=", DoubleToString (price, 0));    
//--- すべての準備ができたので、保留中の買い逆指値注文をサーバーに送信する。 
   if(!m_Trade.BuyStop(1, price, Ticket))
     {
      Print("BuyStop() "メソッドは失敗しました。リターンコード="", m_Trade.ResultRetcode(),
            ".コードの説明:",m_Trade.ResultRetcodeDescription());
     }
   else
     {
      Print("BuyStop()メソッドが正常に実行されました。リターンコード="",m_Trade.ResultRetcode(),
            " (",m_Trade.ResultRetcodeDescription(),")");
     }

ストラテジー・テスターのログにあるエントリ:

2012.12.18 19:44:59   digits=0 point=1 ask=151830 price=1000
2012.12.18 19:44:59   failed buy stop 1.00 RTS-3.13 at 1000 [Invalid expiration]
2012.12.18 19:44:59   CTrade::OrderSend: buy stop 1.00 RTS-3.13 at 1000 [invalid expiration]
2012.12.18 19:44:59   Метод BuyStop() потерпел неудачу. Код возврата=10022. Описание кода: invalid expiration

何が問題なのでしょうか?ヒントをください。
メールnfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52に返信いただけるとありがたいです。

ありがとうございました。

Win7 64回、MT5、 デモアカウントDB Otkrytie。

 
Nikos52:

こんにちは、
RTS-3.13 (RIH3)先物を取引するコードでBuyStop関数を使用すると、エラーが発生し続けます:
10022TRADE_RETCODE_INVALID_EXPIRATION- 注文の有効期限が無効です。

先物RTS-3.13の仕様では、注文の種類-取消まで有効 キューに入る。
他のタイプ ORDER_TIME_DAY、ORDER_TIME_SPECIFIED、ORDER_TIME_SPECIFIED_DAY を使用してみましたが、エラーは消えませんでした。


コードの一部です:

ストラテジー・テスターのログにあるエントリ:

何が問題なのでしょうか?ヒントをください。
メールnfo52^mail.ru, ICQ UIN: 4002787, skype: osipov52に返信いただければ幸いです。

ありがとうございました。

Win7 64 razr., MT5 , デモアカウント DB Discovery.

RTS-3.13のOtkritie-demoでも同様の問題があり、あらゆることを試しました(シンボル・プロファイルに書かれているように、指値注文はORDER_TIME_SPECIFIED_DAYに設定されています)。買い指値注文は完全に手動で市場に開いている。これはターミナルの不具合です。
 
そう、これ以上シンプルなものはない!彼らはそこに多くのことを賢明にしている、まだ標準的なライブラリを使用して、いわば、ゼロから?MQl4でExpert Advisorをプログラムする最も簡単で速い方法!!!!私のEAはmql4で70行かかるのですが、mql5で書き直したら198行になりました!!!!だから「シンプル」というタイトルは適切ではない。
Как использовать торговые классы Стандартной библиотеки при написании советника
Как использовать торговые классы Стандартной библиотеки при написании советника
  • 2010.11.10
  • Samuel
  • www.mql5.com
В статье рассказывается о том, как использовать основной функционал торговых классов Стандартной библиотеки при написании советников, в которых применяется открытие, закрытие и модификация позиции, проверка свободной маржи перед размещением торговых ордеров, размещение и удаление отложенных ордеров. Показано, как использовать торговые классы для получения свойств ордеров и сделок.
 
zlodei:
...私のmql4のEAは70行かかるので、mql5に書き直したら198行になった!!!!だから、「シンプル」という言葉を使ったタイトルは適切ではない。
これは、EAのアイデアが複雑でない場合の話です。アイデアが複雑であればあるほど、MQL4とMQL5のコード行数の差は後者に有利になる。ですから、私はそれほど断定はしませんが......。