質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

Q&A

1回答

394閲覧

「エントリー条件」が充たされる度に、ポジション数が増えてしまう弊害の解決方法

chahiro

総合スコア0

MQL4

MQL4とは、MT4(MetaTrader4)で用いられるプログラム言語です。MT4は無料で使えるチャートソフトあり、MQL4を使うことで分析ツールのオリジナルスクリプトの作成ができます。

0グッド

0クリップ

投稿2022/03/12 00:44

編集2022/03/13 18:01

日本時間の午前9時55分に行われる「仲値公示」の経過後は、為替市場での米ドルの需要が出し尽されるために「米ドル/円」の下落傾向(ドル売り・円買い)が強くなると言われています。
この傾向を利用し、9時55分(MT4時間 2時55分)以降に「RSI」という逆張りに使用するオシレーター系のテクニカル指標を使って「売り」トレード専用のEAを構築したいと考えております。

日本時間9時55分から10時29分59秒(MT4時間2時55分~3時29分59秒)までの時間内で、最新のRSIが「LEVEL80」を上回ったタイミングで「売り」エントリーを行い、指定の時間内にRSIが「LEVEL80」上回らなかった場合には、10時30分で「売り」エントリーを行うという「エントリー条件」のソースファイルは、下記のとおりで間違いないかと思います。

#property strict

int StartHour = 2 ;
int StartMin = 55 ; //日本時間午前9時55分以降
int EndHour = 3 ;
int EndMin = 29 ;
int EndSec = 59 ; // 同 午前10時29分59秒まで
int RSIPeriod = 3 ; // RSIの期間パラメーター

void OnTick()
{
double RSI0=iRSI(_Symbol,PERIOD_M1,RSIPeriod,PRICE_CLOSE,0)
//最新のRSIであることの宣言

if(TimeCurrent() ≩ StartHourStartMin &&
TimeCurrent() < EndHourEndMinEndSec && RSI0>80 &&)
{
OrderSend(USD/JPY, OP_SELL, Lots, Bit, 0,0,0)
} //9時55分~10時29分59秒 RSIが80超えで「売り」エントリー

else (TimeCurrent() == Hour3,Min30,Sec00 )
{
OrderSend(USD/JPY, OP_SELL, Lots, Bit, 0,0,0)
} //時間内にRSIが80を超えなければ、10時30分に「売り」エントリー
}

ただ、このソースファイルのままですと、RSIが2度「LEVEL80」を上回りますと2つ目の「売り」エントリーを発注し、3度上回りますと3つ目の「売り」エントリーを発注・・・・、といった具合に、時間内にどんどんとポジションが増えていってしまいます。
ポジション数は、時間内で「1つだけのポジション保有」を考えているのですが、どのようなソースファイルを書けばよろしいのでしょうか?

このような場合、一般的にはエントリー条件に、if(ポジションが無ければ)という条件分を追加することが多いのでしょうか?
そうであれば、前提として「オープン・ポジションの有無」を、まず確認するようなコードも必要となってきますよね。

どのようなソースファイルの書き方が最も適切なのか、MQL4に詳しい方がおられましたら、アドバイスを宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

まだ回答がついていないようでしたので回答してみます。

このような場合、一般的にはエントリー条件に、if(ポジションが無ければ)という条件分を追加することが多いのでしょうか?
そうであれば、前提として「オープン・ポジションの有無」を、まず確認するようなコードも必要となってきますよね。

そのような形でOKなのではないかと思います。

豊嶋久道さんの記事なども参考にしてみる良いかもしれません。
(記事だけではなく、書籍も購入した方が良いかもしれません)

https://mt5.dev/
https://note.com/toyolab
https://qiita.com/toyolab/items/f91c82d4344570ac2d9f
https://github.com/toyolab

投稿2022/03/13 09:01

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問