私たちのファンページに参加してください
- ビュー:
- 49
- 評価:
- パブリッシュ済み:
- アップデート済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
取引セッション制御用ライブラリ。起動時に、週 7 日間(土日も暗号通貨取引が可能)の取引セッション時間をカウントし、1 日最大 10 セッションまでカウントします。その後、OnTick() でチェックを行い、もしティックが取引セッションの外に来た場合、それ以降の処理を終了することができる。
使用例:
//+------------------------------------------------------------------+ //|testControl_Trade_Sessions.mq5 //+------------------------------------------------------------------+ // #define LoadSessionFromInputs // 入力からセッションを読み込む #include <Forester\Control_Trade_Sessions.mqh> // 取引セッションを制御するコードを接続する int OnInit() { return(INIT_SUCCEEDED); } void OnTick() { static TRADE_SESSIONS TradeSession(_Symbol);// マーケットのオープン/クローズ時間を取得し、曜日ごとに配列に保存。Expert Advisorの起動時に1回呼び出される(staticを参照)。 if(!TradeSession.isSessionTrade(TimeCurrent())){Print("Market closed. OnTick return"); return;} // あなたの行動 }
結果はこのようなプリントアウトになる:
2022.01.10 00:05:00 Day: 0 Trade sessions: 1: 00:00-00:00 - это воскресенье
2022.01.10 00:05:00 Day: 1 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 2 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 3 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 4 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 5 Trade sessions: 1: 00:15-23:55
2022.01.10 00:05:00 Day: 6 Trade sessions: 1: 00:00-00:00
2022.05.30 00:05:00 Market closed. OnTick return
2022.05.30 00:05:01 Market closed. OnTick return
...
2022.05.30 00:14:36 Market closed. OnTick return
2022.05.30 00:14:40 Market closed. OnTick return
2022.05.30 23:55:00 Market closed. OnTick return
2022.05.30 23:55:00 Market closed. OnTick return
...
2022.05.30 23:59:30 Market closed. OnTick return
2022.05.31 00:00:01 Market closed. OnTick return
...
新しいMQL5関数を使用して、週末を含むあらゆる日の取引セッションを読み取ります。
可能な限り高速に動作し、取引セッション内の各ティックで1回だけチェックが行われます。
.
if(time < this.NextTradeStop ) { return true; }ここで、NextTradeStopは現在の取引セッションの終了時刻です。
取引セッション外の各ティックでも1回のチェックが行われます:
if(time < this.NextTradeStart ) { return false; }
たとえば、私の DC では、取引セッションは 00:15 から 23:55 までです。
取引 セッション
取引セッションの時間を手動で指定することもできます。このオプションを有効にするには、
の行を追加します。
#define LoadSessionFromInputs // 入力からセッションを読み込む
曜日別に取引セッションを入力するための7つの入力が作成されます。
セッションの時間をスペースなしで、厳密に : - と 、
パラメータ・タブではこのようになります:

そして、これがログに出力されます:
TradeSessionsTuesday=00:15-23:55
TradeSessionsWednesday=00:10-17:45,17:55-23:00,23:05-23:55
TradeSessionsThursday=00:15-17:45,17:55-23:55
TradeSessionsFriday=00:15-23:55
TradeSessionsSaturday=00:15-23:55
TradeSessionsSunday=
EURUSD : real ticks begin from 2022.05.10 00:00:00, every tick generation used
2022.01.10 00:05:00 Day: 1 Trade sessions: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 日: 2 取引セッション: 1: 00:15-23:55
2022.01.10 00:05:00 日: 3 取引セッション: 1: 00:10-17:45, 2: 17:55-23:00, 3: 23:05-23:55
2022.01.10 00:05:00 日: 4 取引セッション: 1: 00:15-17:45, 2: 17:55-23:55
2022.01.10 00:05:00 日: 5 取引セッション: 1: 00:15-23:55
2022.01.10 00:05:00 日: 6 取引セッション: 1: 00:15-23:55
2022.01.10 00:05:00 市場終了。OnTick リターン
...
セッションの終了時刻が開始時刻より短い場合、例えば 20:00-8:00 の場合、セッションは翌日の 8:00 まで継続されます。これは、取引セッションがサーバー時間と異なるタイムゾーンにある場合に便利です。
取引セッションの時間は、入力なしでコード内で指定することもできます。LoadFromInputs() 関数は、この目的のために作成された。この関数は、入力なしで、コードから文字列配列で直接呼び出すことができます。
string s=["00:15-17:45,17:55-23:55","00:00-24:00",....] void LoadFromInputs(string &s[]){...}
Expert Advisor が多通貨で、異なる商品の取引セッション時間が異なる場合、商品ごとに TRADE_SESSIONS のインスタンスを作成し、セッションデータで LoadFromInputs() を呼び出し、isSessionTrade() をチェックすることができます。これを行うには、この例のようにコードを修正する必要があります。
MetaQuotes Ltdによってロシア語から翻訳されました。
元のコード: https://www.mql5.com/ru/code/48059
Candle Fitness
キャンドルスティック・フィットネスのコンセプトは、母集団最適化アルゴリズムに基づくHFTアルゴのコーディングに使用されています。
PHSBスクリーナー
このスクリーナーは、割引価格で取引されている資産を見つけるプロセスを簡素化するために作成されました。選択された全商品のデータ・ロード・プロセスのため、初期使用には若干時間がかかる場合があります。このツールは、利用可能なすべてのブローカー資産をスキャンすることも、特定の資産クラスに限定することもできます。
Moving Averages-14 different types
終値から14種類の移動平均線を算出するインジケーターです。
Confluence Index Stoch+RSI+MACD
MULTI TF コンフルエンス指数 ストッチ+RSI+MACD