初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1098 1...109110921093109410951096109710981099110011011102110311041105...1503 新しいコメント Igor Makanu 2019.07.21 12:55 #10971 うーん、不思議な状況です。私が提起したトピックの活動のように、私の視点から具体的に質問をしたのですが、これまでのところ答えではなく、「なぜそれが必要なのですか? SB CTradeで 行いたいのですが、以下はその例です(2つの私の例からまとめたもの):9 TFで新しいバーを 1つの注文で開き、チケットを記憶し、チケット番号で閉じた注文の方向を 決定します。 MQL4では、テスター用のコードは次のようになります。 //+------------------------------------------------------------------+ //| tst__.mq4 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property strict input int TP = 100; input int SL = 100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CNewbar { private: datetime mnewtime; ENUM_TIMEFRAMES mperiod; public: CNewbar() { mperiod=PERIOD_CURRENT; mnewtime=TimeCurrent(); } CNewbar(ENUM_TIMEFRAMES period) { mperiod=period; mnewtime=TimeCurrent(); } bool NewBar(){ datetime t=iTime(NULL,mperiod,0); if(mnewtime<t){ mnewtime=t; return(true); } return(false); } }; ENUM_TIMEFRAMES TF[9]={PERIOD_M1,PERIOD_M5,PERIOD_M15,PERIOD_M30,PERIOD_H1,PERIOD_H4,PERIOD_D1,PERIOD_W1,PERIOD_MN1}; CNewbar *BAR[9]; int ticket[9]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { for(int i=0;i<9;i++) BAR[i]=new CNewbar(TF[i]); ArrayInitialize(ticket,-1); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { for(int i=0;i<9;i++) delete BAR[i]; } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { for(int i=0;i<9;i++) if(BAR[i].NewBar()) { if(ticket[i]<0) ticket[i]=OrderSend(_Symbol,OP_BUY,0.1,Ask,30,Ask-SL*_Point,Ask+TP*_Point); if(OrderSelect(ticket[i],SELECT_BY_TICKET) && OrderCloseTime()>0) { int cmd=1-OrderType(); double open=cmd ? Bid : Ask; double tp = open - (cmd ? 1 : -1) * TP * _Point; double sl = open + (cmd ? 1 : -1) * SL * _Point; ticket[i]=OrderSend(_Symbol,cmd,0.1,open,30,sl,tp); } } } テスターのためのコード、つまり最小限のチェック数とオプティマイザーでの最速の作業が必要です。 SB CTradeを使用してMQL5でこのコードを記述するにはどうすればよいですか? Vladimir Karputov 2019.07.21 12:57 #10972 Igor Makanu: うーん、不思議な状況です。私が提起したトピックの活動のように、私の視点から具体的に質問をしたのですが、これまでのところ答えではなく、「なぜそれが必要なのですか? SB CTradeで 行いたいのですが、以下はその例です(2つの私の例からまとめたもの):9 TFで新しいバーを 1つの注文で開き、チケットを記憶し、チケット番号で閉じた注文の方向を 決定します。 MQL4では、テスター用のコードは次のようになります。 SB CTradeを使用してMQL5でこのコードを記述する方法は? トレーディング、自動売買システム、ストラテジーテストに関するフォーラム 初心者からのFAQ MQL5 MT5 MetaTrader 5 ウラジミール・カルプトフ 2019.07.21 12:56 つまり、基本はPOSITION_IDENTIFIER であり、ポジションチケットではない。 ネットがあるだけで、重要な んです。 position_identifier ポジション識別子は一意の番号であり、新しく開設されたポジションに割り当てられ、その生涯を通じて変更されることはありません。ポジションが開設された注文のチケットに対応します。 ポジション識別子は、各注文(ORDER_POSITION_ID)と、それをオープン、変更、クローズした各取引(DEAL_POSITION_ID)に指定されています。このプロパティは、ポジションに関連する注文や取引を検索するために使用します。 ネッティングモード(単一イン/アウト取引)でポジションを反転させる場合、ポジションのPOSITION_IDENTIFIER識別子は変更されません。ただし、POSITION_TICKETは逆転を招いたオーダーチケットに変更されます。ヘッジモードでは、ポジションの反転はありません。 長 そこで、位置の識別子(POSITION_IDENTIFIER)を記録しておく必要がある。 さて、より正確なタスクです。最初の実行で、買いポジションをオープンし、それを記憶します(警告:チケットではなく、ポジションIDを記憶すべきです)。例えば、昔、買いポジションがあり、それがクローズされた場合、すぐに売りポジションをオープンすることになります。 これで問題解決はかなり楽になる。 Igor Makanu 2019.07.21 13:01 #10973 Vladimir Karputov: CTradeは 注文がオープンかクローズかを独自に検出する方法を知らないのですか? 最後にクローズした注文のタイプは何ですか? この場合、どのライブラリを使用すればよいのでしょうか? Vladimir Karputov 2019.07.21 13:27 #10974 Igor Makanu: CTradeは注文がオープンかクローズかを独自に検出する方法を知らないのですか? 最後にクローズした注文のタイプは何ですか? そのためには、どのライブラリを使えばいいのでしょうか? もう100回言ったから、「注文」という言葉を消してください。そうしないと、前に進めないのです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念なことです。 削除済み 2019.07.21 13:35 #10975 Vladimir Karputov: 何度も言いますが、"令状 "という言葉は使わないでください。そうしないと、前に進めないんです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念です。 では、どういう意味か教えてください。 GN 0 16:24:14.030 Core 1 2018.06.06 08:00:00 Sell market. Ticket = 20 JF 0 16:24:14.030 Core 1 2018.06.06 08:00:00 Sell market. Identifier = 0 FQ 0 16:24:14.030 Core 1 2018.06.19 16:00:00 ======closePosition====== HG 0 16:24:14.030 Core 1 2018.06.19 16:00:00 market buy 0.10 AUDUSD, close #20 (0.73633 / 0.73637 / 0.73633) PH 0 16:24:14.030 Core 1 2018.06.19 16:00:00 deal #21 buy 0.10 AUDUSD at 0.73637 done (based on order #21) KJ 0 16:24:14.030 Core 1 2018.06.19 16:00:00 deal performed [#21 buy 0.10 AUDUSD at 0.73637] IL 0 16:24:14.030 Core 1 2018.06.19 16:00:00 order performed buy 0.10 at 0.73637 [#21 buy 0.10 AUDUSD at 0.73637] RN 0 16:24:14.030 Core 1 2018.06.19 16:00:00 CTrade::OrderSend: market buy 0.10 position #20 AUDUSD [done at 0.73637] HN 0 16:24:14.030 Core 1 2018.06.19 16:00:00 Позиция с магиком 2544113114312914, тикетом 20 и лотом 0.1 успешно закрыта. LO 0 16:24:14.030 Core 1 2018.06.19 16:00:00 Очистка данных произведена. CH 0 16:24:14.030 Core 1 2018.06.19 16:00:00 ======checkMargin====== OF 0 16:24:14.030 Core 1 2018.06.19 16:00:00 market buy 0.10 AUDUSD (0.73633 / 0.73637 / 0.73633) DS 0 16:24:14.030 Core 1 2018.06.19 16:00:00 deal #22 buy 0.10 AUDUSD at 0.73637 done (based on order #22) RM 0 16:24:14.030 Core 1 2018.06.19 16:00:00 deal performed [#22 buy 0.10 AUDUSD at 0.73637] DS 0 16:24:14.030 Core 1 2018.06.19 16:00:00 order performed buy 0.10 at 0.73637 [#22 buy 0.10 AUDUSD at 0.73637] FF 0 16:24:14.030 Core 1 2018.06.19 16:00:00 CTrade::OrderSend: market buy 0.10 AUDUSD [done at 0.73637] MJ 0 16:24:14.030 Core 1 2018.06.19 16:00:00 magic = 2544113114312914 RR 0 16:24:14.030 Core 1 2018.06.19 16:00:00 balance = 11308.94 JK 0 16:24:14.030 Core 1 2018.06.19 16:00:00 lot = 0.10 HQ 0 16:24:14.030 Core 1 2018.06.19 16:00:00 Buy market. Ticket = 22 CJ 0 16:24:14.030 Core 1 2018.06.19 16:00:00 Buy market. Identifier = 20 HR 0 16:24:14.030 Core 1 2018.07.04 08:00:00 ======closePosition====== FI 0 16:24:14.030 Core 1 2018.07.04 08:00:00 market sell 0.10 AUDUSD, close #22 (0.74021 / 0.74025 / 0.74021) RF 0 16:24:14.030 Core 1 2018.07.04 08:00:00 deal #23 sell 0.10 AUDUSD at 0.74021 done (based on order #23) ID 0 16:24:14.030 Core 1 2018.07.04 08:00:00 deal performed [#23 sell 0.10 AUDUSD at 0.74021] GM 0 16:24:14.030 Core 1 2018.07.04 08:00:00 order performed sell 0.10 at 0.74021 [#23 sell 0.10 AUDUSD at 0.74021] NQ 0 16:24:14.030 Core 1 2018.07.04 08:00:00 CTrade::OrderSend: market sell 0.10 position #22 AUDUSD [done at 0.74021] PO 0 16:24:14.030 Core 1 2018.07.04 08:00:00 Позиция с магиком 2544113114312914, тикетом 22 и лотом 0.1 успешно закрыта. FO 0 16:24:14.030 Core 1 2018.07.04 08:00:00 Очистка данных произведена. CH 0 16:24:14.030 Core 1 2018.07.04 08:00:00 ======checkMargin====== OI 0 16:24:14.030 Core 1 2018.07.04 08:00:00 market sell 0.10 AUDUSD (0.74021 / 0.74025 / 0.74021) JO 0 16:24:14.030 Core 1 2018.07.04 08:00:00 deal #24 sell 0.10 AUDUSD at 0.74021 done (based on order #24) LM 0 16:24:14.030 Core 1 2018.07.04 08:00:00 deal performed [#24 sell 0.10 AUDUSD at 0.74021] ND 0 16:24:14.030 Core 1 2018.07.04 08:00:00 order performed sell 0.10 at 0.74021 [#24 sell 0.10 AUDUSD at 0.74021] LI 0 16:24:14.030 Core 1 2018.07.04 08:00:00 CTrade::OrderSend: market sell 0.10 AUDUSD [done at 0.74021] OJ 0 16:24:14.030 Core 1 2018.07.04 08:00:00 magic = 2544113114312914 RR 0 16:24:14.030 Core 1 2018.07.04 08:00:00 balance = 11335.85 DK 0 16:24:14.030 Core 1 2018.07.04 08:00:00 lot = 0.10 PN 0 16:24:14.030 Core 1 2018.07.04 08:00:00 Sell market. Ticket = 24 QE 0 16:24:14.030 Core 1 2018.07.04 08:00:00 Sell market. Identifier = 22 NR 0 16:24:14.030 Core 1 2018.07.19 00:00:00 ======closePosition====== NF 0 16:24:14.030 Core 1 2018.07.19 00:00:00 market buy 0.10 AUDUSD, close #24 (0.73968 / 0.73989 / 0.73968) JI 0 16:24:14.030 Core 1 2018.07.19 00:00:00 deal #25 buy 0.10 AUDUSD at 0.73989 done (based on order #25) QK 0 16:24:14.030 Core 1 2018.07.19 00:00:00 deal performed [#25 buy 0.10 AUDUSD at 0.73989] MM 0 16:24:14.030 Core 1 2018.07.19 00:00:00 order performed buy 0.10 at 0.73989 [#25 buy 0.10 AUDUSD at 0.73989] PN 0 16:24:14.030 Core 1 2018.07.19 00:00:00 CTrade::OrderSend: market buy 0.10 position #24 AUDUSD [done at 0.73989] DO 0 16:24:14.030 Core 1 2018.07.19 00:00:00 Позиция с магиком 2544113114312914, тикетом 24 и лотом 0.1 успешно закрыта. LP 0 16:24:14.030 Core 1 2018.07.19 00:00:00 Очистка данных произведена. KK 0 16:24:14.030 Core 1 2018.08.08 16:00:00 ======checkMargin====== RI 0 16:24:14.030 Core 1 2018.08.08 16:00:00 market sell 0.10 AUDUSD (0.73933 / 0.73937 / 0.73933) GO 0 16:24:14.030 Core 1 2018.08.08 16:00:00 deal #26 sell 0.10 AUDUSD at 0.73933 done (based on order #26) OM 0 16:24:14.030 Core 1 2018.08.08 16:00:00 deal performed [#26 sell 0.10 AUDUSD at 0.73933] JD 0 16:24:14.030 Core 1 2018.08.08 16:00:00 order performed sell 0.10 at 0.73933 [#26 sell 0.10 AUDUSD at 0.73933] QI 0 16:24:14.030 Core 1 2018.08.08 16:00:00 CTrade::OrderSend: market sell 0.10 AUDUSD [done at 0.73933] HN 0 16:24:14.030 Core 1 2018.08.08 16:00:00 Sell market. Ticket = 26 CF 0 16:24:14.030 Core 1 2018.08.08 16:00:00 Sell market. Identifier = 0 Igor Makanu 2019.07.21 13:43 #10976 Vladimir Karputov: 何度も言いますが、"令状 "という言葉は使わないでください。そうしないと、前に進めないんです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念です。 では、質問を変えます。 CTrade::ResultOrder()で記憶されたチケットを使用する方法 をご覧ください。 1.ポジションが閉じているかどうか? 2.クローズドポジションはどのような取引だったのでしょうか? 3.9つのポジション、オーダー、チケットを同時に処理する必要がある、または ...ヘッジ口座のOnAnyTerminology このような形であれば、私の質問は曖昧なものではありませんね。(上記MQl4での再現例)。 ZS: 語順を忘れるわけにはいきません。残念ながら、この言葉はヘルプで他の用語と一緒に使われています。https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctraderequestorder fxsaber 2019.07.21 14:09 #10977 Igor Makanu: うーん、不思議な状況です。話題を提供したようで、私の質問は私の立場からすると具体的だったのですが、答えの代わりに「なぜ必要なのでしょうか? 理由は、そうレスポンダーの無能さです。書くのに5分、確認するのに1回の試行でした。 エムティーフォー トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム 初心者の方からの質問 MQL5 MT5 MetaTrader 5 fxsaber さん 2019.07.21 12:54 void OnTick() { static int ticket1 = -1; if(ticket1<0) ticket1=OrderSend(_Symbol,OP_BUY,0.1,Ask,30,Ask-100*_Point,Ask+100*_Point); if(OrderSelect(ticket1,SELECT_BY_TICKET) && OrderCloseTime()) { int cmd=1-OrderType(); double open = cmd ? Bid : Ask; double tp = open - (cmd ? 1 : -1) * 100 * _Point; double sl = open + (cmd ? 1 : -1) * 100 * _Point; ticket1=OrderSend(_Symbol,cmd,0.1,open,30,sl,tp); } } MT5 #include <Trade\Trade.mqh> #define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID) #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK) void OnTick() { static CTrade Trade; // Не стал возиться с Deviation. static ulong ticket1 = 0; if (!ticket1) ticket1 = Trade.PositionOpen(_Symbol, ORDER_TYPE_BUY, 0.1, Ask, Ask - 100 * _Point, Ask + 100 * _Point) ? Trade.ResultOrder() : 0; else if (!PositionSelectByTicket(ticket1) && HistorySelectByPosition(ticket1)) { ENUM_ORDER_TYPE cmd = (ENUM_ORDER_TYPE)HistoryOrderGetInteger(HistoryOrderGetTicket(HistoryOrdersTotal() - 1), ORDER_TYPE); double open = cmd ? Bid : Ask; double tp = open - (cmd ? 1 : -1) * 100 * _Point; double sl = open + (cmd ? 1 : -1) * 100 * _Point; ticket1 = Trade.PositionOpen(_Symbol, cmd, 0.1, open, sl, tp) ? Trade.ResultOrder() : 0; } } 強い熟練者でなくても、MT5の基本が分かっていれば書けます。 ZS ネットでは、クローズドポジションの種類を決めるのに、ちょっとしたニュアンスがあります。しかし、ここではその役割はない。 Igor Makanu 2019.07.21 14:18 #10978 fxsaber: 強くなくても、MT5の基本が分かっていれば書けます。 ありがとうございました。 はい、SBで5行で書けない場合の解決策を探していました。 しかし、1つのSB CTradeが私の問題を解決することができないことをどれだけ理解しましたか? そして、私はCPositionInfoも使用しなければならなかったのですか?- 複数のTFによる9つのポジションを同時に同行させたい場合? ZS:私はスマートテレビでMQL5ヘルプに座っている - かなりよく貿易関数を 説明し、SatBの使用は、質問の下にある....私はプリミティブ戦略、少し複雑なためにSBを使用することは理にかなっていると思う - 機能が不十分であるか、または明白ではない使用、多分私はより多くの練習が必要 - 私はSBを "ひねり "に挑戦します。 いつもありがとうございます。 Artyom Trishkin 2019.07.21 16:12 #10979 fxsaber: 理由は無能だからと答えました。書くのに5分、確認に1回の試行が必要でした。 エムティーフォー MT5 強い熟練者でなくても、MT5の基本が分かっていれば書けます。 基本的なことは知らなくても、MT5の基本的なことが分かっていれば大丈夫です。でも、ここではそんなことは関係ない。 ここで ENUM_ORDER_TYPE cmd = (ENUM_ORDER_TYPE)HistoryOrderGetInteger(HistoryOrderGetTicket(HistoryOrdersTotal() - 1), ORDER_TYPE); は、潜在的な落とし穴があります。 ヒストリカル・リストでは、ワラントはそのリストに表示されている順番に並べられていない。ライブラリの開発中に偶然見つけたものです。 頼りにしていました。しかし、そう簡単にはいかないことがわかった。指値→逆指値→指値→逆指値→指値→逆指値の順で順番に設定し、それぞれを任意の順番で削除して、どの注文が最後に履歴一覧に記録されるか確認してみてください。きっと驚かれることでしょう。 fxsaber 2019.07.21 16:14 #10980 Artyom Trishkin: ここで は、エラーの可能性があります。 履歴一覧で、注文が表示順に並んでいない。ライブラリの開発時に遭遇しました。 頼りにしていました。しかし、そう簡単にはいかないことがわかった。指値→逆指値→指値→逆指値→指値→逆指値の順で順番に設定し、それぞれを任意の順番で削除して、どの注文が最後に履歴一覧に記録されるか確認してみてください。きっと驚かれることでしょう。 リストはHistorySelectByPositionによって生成されるため、そこにエラーはありません。 1...109110921093109410951096109710981099110011011102110311041105...1503 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
うーん、不思議な状況です。私が提起したトピックの活動のように、私の視点から具体的に質問をしたのですが、これまでのところ答えではなく、「なぜそれが必要なのですか?
SB CTradeで 行いたいのですが、以下はその例です(2つの私の例からまとめたもの):9 TFで新しいバーを 1つの注文で開き、チケットを記憶し、チケット番号で閉じた注文の方向を 決定します。
MQL4では、テスター用のコードは次のようになります。
テスターのためのコード、つまり最小限のチェック数とオプティマイザーでの最速の作業が必要です。
SB CTradeを使用してMQL5でこのコードを記述するにはどうすればよいですか?
うーん、不思議な状況です。私が提起したトピックの活動のように、私の視点から具体的に質問をしたのですが、これまでのところ答えではなく、「なぜそれが必要なのですか?
SB CTradeで 行いたいのですが、以下はその例です(2つの私の例からまとめたもの):9 TFで新しいバーを 1つの注文で開き、チケットを記憶し、チケット番号で閉じた注文の方向を 決定します。
MQL4では、テスター用のコードは次のようになります。
SB CTradeを使用してMQL5でこのコードを記述する方法は?
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
初心者からのFAQ MQL5 MT5 MetaTrader 5
ウラジミール・カルプトフ 2019.07.21 12:56
つまり、基本はPOSITION_IDENTIFIER であり、ポジションチケットではない。 ネットがあるだけで、重要な んです。
position_identifier
ポジション識別子は一意の番号であり、新しく開設されたポジションに割り当てられ、その生涯を通じて変更されることはありません。ポジションが開設された注文のチケットに対応します。
ポジション識別子は、各注文(ORDER_POSITION_ID)と、それをオープン、変更、クローズした各取引(DEAL_POSITION_ID)に指定されています。このプロパティは、ポジションに関連する注文や取引を検索するために使用します。
ネッティングモード(単一イン/アウト取引)でポジションを反転させる場合、ポジションのPOSITION_IDENTIFIER識別子は変更されません。ただし、POSITION_TICKETは逆転を招いたオーダーチケットに変更されます。ヘッジモードでは、ポジションの反転はありません。
長
そこで、位置の識別子(POSITION_IDENTIFIER)を記録しておく必要がある。
さて、より正確なタスクです。最初の実行で、買いポジションをオープンし、それを記憶します(警告:チケットではなく、ポジションIDを記憶すべきです)。例えば、昔、買いポジションがあり、それがクローズされた場合、すぐに売りポジションをオープンすることになります。
これで問題解決はかなり楽になる。
CTradeは 注文がオープンかクローズかを独自に検出する方法を知らないのですか? 最後にクローズした注文のタイプは何ですか?
この場合、どのライブラリを使用すればよいのでしょうか?
CTradeは注文がオープンかクローズかを独自に検出する方法を知らないのですか? 最後にクローズした注文のタイプは何ですか?
そのためには、どのライブラリを使えばいいのでしょうか?
もう100回言ったから、「注文」という言葉を消してください。そうしないと、前に進めないのです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念なことです。
何度も言いますが、"令状 "という言葉は使わないでください。そうしないと、前に進めないんです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念です。
では、どういう意味か教えてください。
何度も言いますが、"令状 "という言葉は使わないでください。そうしないと、前に進めないんです。とにかく、私はおそらくあなたのお役に立てないでしょう。それは残念です。
では、質問を変えます。
CTrade::ResultOrder()で記憶されたチケットを使用する方法
をご覧ください。
1.ポジションが閉じているかどうか?
2.クローズドポジションはどのような取引だったのでしょうか?
3.9つのポジション、オーダー、チケットを同時に処理する必要がある、または ...ヘッジ口座のOnAnyTerminology
このような形であれば、私の質問は曖昧なものではありませんね。(上記MQl4での再現例)。
ZS: 語順を忘れるわけにはいきません。残念ながら、この言葉はヘルプで他の用語と一緒に使われています。https://www.mql5.com/ru/docs/standardlibrary/tradeclasses/ctrade/ctraderequestorder
うーん、不思議な状況です。話題を提供したようで、私の質問は私の立場からすると具体的だったのですが、答えの代わりに「なぜ必要なのでしょうか?
理由は、そうレスポンダーの無能さです。書くのに5分、確認するのに1回の試行でした。
エムティーフォー
トレーディング、自動売買システム、ストラテジーテスターに関するフォーラム
初心者の方からの質問 MQL5 MT5 MetaTrader 5
fxsaber さん 2019.07.21 12:54
MT5
強い熟練者でなくても、MT5の基本が分かっていれば書けます。
ZS ネットでは、クローズドポジションの種類を決めるのに、ちょっとしたニュアンスがあります。しかし、ここではその役割はない。
強くなくても、MT5の基本が分かっていれば書けます。
ありがとうございました。
はい、SBで5行で書けない場合の解決策を探していました。
しかし、1つのSB CTradeが私の問題を解決することができないことをどれだけ理解しましたか? そして、私はCPositionInfoも使用しなければならなかったのですか?- 複数のTFによる9つのポジションを同時に同行させたい場合?
ZS:私はスマートテレビでMQL5ヘルプに座っている - かなりよく貿易関数を 説明し、SatBの使用は、質問の下にある....私はプリミティブ戦略、少し複雑なためにSBを使用することは理にかなっていると思う - 機能が不十分であるか、または明白ではない使用、多分私はより多くの練習が必要 - 私はSBを "ひねり "に挑戦します。
いつもありがとうございます。
理由は無能だからと答えました。書くのに5分、確認に1回の試行が必要でした。
エムティーフォー
MT5
強い熟練者でなくても、MT5の基本が分かっていれば書けます。
基本的なことは知らなくても、MT5の基本的なことが分かっていれば大丈夫です。でも、ここではそんなことは関係ない。
ここで
は、潜在的な落とし穴があります。
ヒストリカル・リストでは、ワラントはそのリストに表示されている順番に並べられていない。ライブラリの開発中に偶然見つけたものです。 頼りにしていました。しかし、そう簡単にはいかないことがわかった。指値→逆指値→指値→逆指値→指値→逆指値の順で順番に設定し、それぞれを任意の順番で削除して、どの注文が最後に履歴一覧に記録されるか確認してみてください。きっと驚かれることでしょう。
ここで
は、エラーの可能性があります。
履歴一覧で、注文が表示順に並んでいない。ライブラリの開発時に遭遇しました。 頼りにしていました。しかし、そう簡単にはいかないことがわかった。指値→逆指値→指値→逆指値→指値→逆指値の順で順番に設定し、それぞれを任意の順番で削除して、どの注文が最後に履歴一覧に記録されるか確認してみてください。きっと驚かれることでしょう。
リストはHistorySelectByPositionによって生成されるため、そこにエラーはありません。