ライブラリ: MT4Orders - ページ 18 1...111213141516171819202122232425...95 新しいコメント fxsaber 2017.12.04 11:42 #171 数式合成で トレーディング関数を書くことは可能である。三角裁定取引を例にとってみよう。このようなシンボルを、GUIを使って手作業で1分以内に、あるいはスクリプトを使って1秒以内に作成する。その上でアービトラージTSを実行する。// シネティックス式アービトラージ・アドバイザー #include <MT4Orders.mqh> #define Bid SymbolInfoDouble(_Symbol, SYMBOL_BID) #define Ask SymbolInfoDouble(_Symbol, SYMBOL_ASK) void OnTick() { if (Bid > 1) OrderSend(_Symbol, OP_SELL, 1, Bid, 0, 0, 0); else if (Ask < 1) OrderSend(_Symbol, OP_BUY, 1, Ask, 0, 0, 0); } fxsaber 2017.12.07 09:03 #172 CloseByによるシンボル・ポジションの迅速な決済 取引、自動取引システム、取引戦略のテストに関するフォーラム 複数の取引を一度に決済する fxsaber, 2017.12.07 09:01 // MQL4&5コード #include <MT4Orders.mqh> //https://www.mql5.com/ja/code/16006 #property strict string CorrectSymbol( string &Symb ) { return(Symb = ((Symb == NULL) || (Symb == "")) ? _Symbol: Symb); } bool PlaceHedge( const string Symb ) { double Lots = 0; for (int i = OrdersTotal() - 1; i >= 0; i--) if (OrderSelect(i, SELECT_BY_POS) && (OrderType() <= OP_SELL) && (OrderSymbol() == Symb)) Lots += OrderType() ? OrderLots() : -OrderLots(); Lots = NormalizeDouble(Lots, 2); return(((Lots > 0) && (OrderSend(Symb, OP_BUY, Lots, SymbolInfoDouble(Symb, SYMBOL_ASK), 100, 0, 0, "HEDGE") > 0)) || ((Lots < 0) && (OrderSend(Symb, OP_SELL, -Lots, SymbolInfoDouble(Symb, SYMBOL_BID), 100, 0, 0, "HEDGE") > 0)) || !Lots); } bool CloseAll( string Symb = NULL ) { int Type = 0; long Ticket = 0; bool Res = PlaceHedge(CorrectSymbol(Symb)); for (int i = OrdersTotal() - 1; !IsStopped() && Res && (i >= 0); i--) if (OrderSelect(i, SELECT_BY_POS) && (OrderType() <= OP_SELL) && (OrderSymbol() == Symb)) { if (!Ticket) { Ticket = OrderTicket(); Type = OrderType(); } else if ((OrderType() != Type) && (Res = OrderCloseBy(Ticket, OrderTicket()) && PlaceHedge(Symb))) { Ticket = 0; i = OrdersTotal(); } } return(Res); } void OnStart() { CloseAll(); } Kirill Belousov 2017.12.11 07:49 #173 fxsaber: 取引、自動取引システム、取引戦略のテストに関するフォーラム ライブラリ: MT4Orders fxsaber, 2017.09.26 09:56 pm. タイプミス#define MODE_DIGITS SYMBOL_TRADE_STOPS_LEVEL#define MODE_DIGITS SYMBOL_DIGITS fxsaber 2017.12.11 08:15 #174 Kirill Belousov:誤字はい、この例には タイプミスがあります。フォーラムのエンジンがそれを許さないのです。もちろん、例のタイプミスはライブラリ自体には影響しません。 --- 2017.12.12 20:52 #175 fxsaber:はい、その例には タイプミスがあります。フォーラムのエンジンがそれを許さないのです。修正済み fxsaber 2017.12.12 22:16 #176 o_o:を訂正しました。ありがとう! Kirill Belousov 2017.12.14 13:59 #177 mql4_to_mql5.mqhの インクルード。double MarketInfo(const string Symb,const int Type) { switch(Type) { case MODE_BID: return(::SymbolInfoDouble(Symb, ::SYMBOL_BID)); case MODE_ASK: return(::SymbolInfoDouble(Symb, ::SYMBOL_ASK)); case MODE_DIGITS: return((double)::SymbolInfoInteger(Symb, ::SYMBOL_DIGITS)); case MODE_SPREAD: return((double)::SymbolInfoInteger(Symb, ::SYMBOL_SPREAD)); case MODE_STOPLEVEL: return((double)::SymbolInfoInteger(Symb, ::SYMBOL_TRADE_STOPS_LEVEL)); case MODE_LOTSIZE: return(::SymbolInfoDouble(Symb, ::SYMBOL_TRADE_CONTRACT_SIZE)); } return(-1); } return(0); fxsaber 2017.12.14 14:16 #178 Kirill Belousov:mql4_to_mql5.mqh エンクロージャ内#include <MQL4_to_MQL5.mqh> // この例のみこれはまさに例であり、説明の中のいくつかのEAを変換するためにのみ関連します。この議論では、ライブラリはMarketInfoや他のソリューションよりもはるかに優れていることが示されています。説明の中に非常に重要な記述があり、モデレーターによって強調されています(私ではありません)。警告。ライブラリはMT4Orders.mqhという1つのファイルにのみ含まれています。他のファイルはすべて、ライブラリの使用例として添付されています。これらのファイルはライブラリを使用するために必要なものではありません。 fxsaber 2017.12.23 11:05 #179 取引、自動取引システム、取引戦略のテストに関するフォーラム ライブラリ: MT4Orders fxsaber, 2017.09.03 18:52 // 変更リスト: // 03.09.2017: // 追加: OrderTicketOpen()を追加 - ポジション開始取引のMT5チケット // OrderOpenReason() - MT5が取引を開始する理由 (ポジションを開く理由) //OrderCloseReason() - MT5決済取引の理由 (ポジションを決済する理由)アプリケーションの例 取引、自動取引システム、テスト取引戦略に関するフォーラム 最後の2つの注文 fxsaber, 2017.12.23 11:02 #include <MT4Orders.mqh> // 理由によってクローズされた最後の金額トランザクションのチケットを返す int GetLastHistoryPositions( long &Tickets[], int Amount = INT_MAX, const ENUM_DEAL_REASON Reason = DEAL_REASON_SL ) { int Count = ArrayResize(Tickets, 0); for (int i = OrdersHistoryTotal() - 1; (i >= 0) && (Count < Amount); i--) if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) && (OrderCloseReason() == Reason)) Tickets[ArrayResize(Tickets, ++Count) - 1] = OrderTicket(); return(Count); } void OnStart() { long Tickets[]; // 直近の2件はSLでクローズ for (int i = GetLastHistoryPositions(Tickets, 2) - 1; i >= 0; i--) Print(Tickets[i]); } Yevgen Butov 2018.01.04 22:29 #180 こんにちは!説明によると、「したがって、MT5 のSELECT_BY_TICKET モードでのOrderSelect は、(テスターでは)まれに MT4 で意図したものと異なるものを選択することがあります。「どのような場合か詳しく教えてください。 1...111213141516171819202122232425...95 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
数式合成で トレーディング関数を書くことは可能である。
三角裁定取引を例にとってみよう。このようなシンボルを、GUIを使って手作業で1分以内に、あるいはスクリプトを使って1秒以内に作成する。
その上でアービトラージTSを実行する。
取引、自動取引システム、取引戦略のテストに関するフォーラム
複数の取引を一度に決済する
fxsaber, 2017.12.07 09:01
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ: MT4Orders
fxsaber, 2017.09.26 09:56 pm.
誤字
はい、この例には タイプミスがあります。フォーラムのエンジンがそれを許さないのです。
もちろん、例のタイプミスはライブラリ自体には影響しません。
はい、その例には タイプミスがあります。フォーラムのエンジンがそれを許さないのです。
修正済み
を訂正しました。
ありがとう!
mql4_to_mql5.mqhの インクルード。
mql4_to_mql5.mqh エンクロージャ内
これはまさに例であり、説明の中のいくつかのEAを変換するためにのみ関連します。この議論では、ライブラリはMarketInfoや他のソリューションよりもはるかに優れていることが示されています。
説明の中に非常に重要な記述があり、モデレーターによって強調されています(私ではありません)。
警告。
ライブラリはMT4Orders.mqhという1つのファイルにのみ含まれています。他のファイルはすべて、ライブラリの使用例として添付されています。これらのファイルはライブラリを使用するために必要なものではありません。
取引、自動取引システム、取引戦略のテストに関するフォーラム
ライブラリ: MT4Orders
fxsaber, 2017.09.03 18:52
アプリケーションの例
取引、自動取引システム、テスト取引戦略に関するフォーラム
最後の2つの注文
fxsaber, 2017.12.23 11:02
こんにちは!説明によると、「したがって、MT5 のSELECT_BY_TICKET モードでのOrderSelect は、(テスターでは)まれに MT4 で意図したものと異なるものを選択することがあります。「どのような場合か詳しく教えてください。