タイトルが入力されていません。
コンテンツがありません。
There have no category
There have no subcategory
毎日22時59分に売りの場合のみ自動決済はできますか?売りも買いもどちらもエントリーするルールですが、売りだけ時間指定で自動決済したいです。
いつもお世話になっております。 売りエントリーで保有したポジションのみを、毎日22時59分に自動決済したいというご要望ですね。
EAつくーるの標準機能である「指定時刻決済」オプションは、保有している全てのポジション(買い・売り両方)を一斉に決済する仕様となっており、残念ながら「売りだけ」を選んで決済することはできません。
しかし、EAを2つに分けて作成・運用するという工夫を行うことで、MQL(プログラム)の編集を行わずに、EAつくーるの機能だけでこの動作を実現可能です。
初心者の方でも安全に設定できる「2つのEAによる運用方法」をご案内します。
1つのEAの中に「買い」と「売り」のロジックを両方入れるのではなく、「買い専用EA」と「売り専用EA」の2つを作成します。
まず、買いエントリーを行うためのEAを作成します。
MyEA_Buy
次に、売りエントリーを行うためのEAを作成します。
基本項目・取引条件: 売りエントリーの条件と、通常の決済条件を設定します。買いに関する設定は行いません。
オプション(指定時刻決済): こちらのEAでのみ設定を行います。
決済時刻: 22:59
22:59
曜日: 毎日行う場合は、全ての曜日にチェックを入れます。
作成後、名前を付けて保存・生成します。(例: MyEA_Sell)
MyEA_Sell
生成された2つのEAをMT4/MT5で稼働させる際は、以下の手順でセットしてください。
12345
12346
もし「どうしても1つのEAにまとめたい」という場合は、生成されたソースコード(MQL)を直接編集して「現在の時間が22:59 かつ ポジションが売り なら決済」というプログラムを追記する必要がありますが、難易度が高くなるため、まずは上記の「2つに分ける方法」をお試しください。
【重要】 EAをセットする際のパラメータ設定画面で、片方のEAの「マジックナンバー(MagicNumber)」を変更してください。 マジックナンバー変えるっていうのはEAセットしたチャート画面の右上の博士帽をダブルクリックしたら出てくる画面の「インプット情報」シートの変数名:Magic1の値を変えたらいいってことですか? また、このMagic1の値が同じだったら、別の通貨ペアや同じ通貨ペアの別の時間足でも誤作動が発生する可能性あります?
また同時に16個のEAをセットしてるんですが、マジックナンバーのつけ方で注意したほうがいい点てあります?それぞれのEAに変数名1-16の値をかぶらないようにつけていったら大丈夫ですか?
はい、その考え方で大丈夫です。 同時に16個のEAを動かす場合は、各EAが使うマジックナンバーを重複させないようにしておくのが基本です。
EAつくーるで作成したEAでは、通常「インプット情報」内の Magic1 、Magic2 のような項目が、各ポジション番号に対応するマジックナンバーになっています。 そのため、そのEAが実際に使っている番号を、他のEAと被らないように設定するという理解で問題ありません。
Magic1
Magic2
こうなっていませんか?
ポジション1
ポジション2
この場合、同じマジックナンバーとして扱われるため、決済やポジション判定が干渉する可能性があります。
つまり、確認すべきなのは「変数名の名前」ではなく、実際の値そのものが全EAで重複していないかです。
初心者の方には、EAごとにまとまりで番号を割り当てる方法がわかりやすいです。
例:
Magic1=1001
Magic2=1002
Magic1=1011
Magic2=1012
Magic1=1021
Magic2=1022
このように、EAごとに10番刻み・100番刻みで分けると管理しやすくなります。
16個あるなら、たとえば以下のようにしておくと整理しやすいです。
実際にそのEAで ポジション1 しか使わないなら Magic1 だけ設定しておけばよいですが、将来的に ポジション2 以降を追加する可能性があるなら、最初から範囲で分けておくと安全です。
前回のご質問にも関係しますが、マジックナンバーが同じなら、別の通貨ペアや別の時間足でも影響が出る可能性があります。
特に、EAのロジックやオプションが
という作りになっている場合、通貨ペアや時間足が違っていても、同じ番号のポジションを「同じ仲間」とみなしてしまうことがあります。
そのため、同じ通貨ペアかどうかに関係なく、稼働中のEA全体で重複させない運用が安全です。
売り専用EAだけ22:59に決済させたい場合は、少なくとも
は必ず別の値にしてください。
例えば:
Magic1 = 5001
Magic1 = 5002
のように分ければ、売り専用EAの決済処理が買い側に干渉しにくくなります。
実務上は、 「EAごとにグループ番号を決めて、その中で Magic1, Magic2… を割り振る」 という形にしておくと、後から見直すときも混乱しにくいです。
コメント文がありません。
いつもお世話になっております。
売りエントリーで保有したポジションのみを、毎日22時59分に自動決済したいというご要望ですね。
EAつくーるの標準機能である「指定時刻決済」オプションは、保有している全てのポジション(買い・売り両方)を一斉に決済する仕様となっており、残念ながら「売りだけ」を選んで決済することはできません。
しかし、EAを2つに分けて作成・運用するという工夫を行うことで、MQL(プログラム)の編集を行わずに、EAつくーるの機能だけでこの動作を実現可能です。
初心者の方でも安全に設定できる「2つのEAによる運用方法」をご案内します。
設定・運用手順
1つのEAの中に「買い」と「売り」のロジックを両方入れるのではなく、「買い専用EA」と「売り専用EA」の2つを作成します。
1. 買い専用EAの作成
まず、買いエントリーを行うためのEAを作成します。
MyEA_Buy)2. 売り専用EAの作成
次に、売りエントリーを行うためのEAを作成します。
基本項目・取引条件: 売りエントリーの条件と、通常の決済条件を設定します。買いに関する設定は行いません。
オプション(指定時刻決済): こちらのEAでのみ設定を行います。
決済時刻:
22:59曜日: 毎日行う場合は、全ての曜日にチェックを入れます。
作成後、名前を付けて保存・生成します。(例:
MyEA_Sell)3. MT4/MT5での運用方法
生成された2つのEAをMT4/MT5で稼働させる際は、以下の手順でセットしてください。
12345なら、「売り専用EA」は12346に変更するなど、異なる数値にします。この方法のメリット
もし「どうしても1つのEAにまとめたい」という場合は、生成されたソースコード(MQL)を直接編集して「現在の時間が22:59 かつ ポジションが売り なら決済」というプログラムを追記する必要がありますが、難易度が高くなるため、まずは上記の「2つに分ける方法」をお試しください。
【重要】 EAをセットする際のパラメータ設定画面で、片方のEAの「マジックナンバー(MagicNumber)」を変更してください。
マジックナンバー変えるっていうのはEAセットしたチャート画面の右上の博士帽をダブルクリックしたら出てくる画面の「インプット情報」シートの変数名:Magic1の値を変えたらいいってことですか?
また、このMagic1の値が同じだったら、別の通貨ペアや同じ通貨ペアの別の時間足でも誤作動が発生する可能性あります?
また同時に16個のEAをセットしてるんですが、マジックナンバーのつけ方で注意したほうがいい点てあります?それぞれのEAに変数名1-16の値をかぶらないようにつけていったら大丈夫ですか?
はい、その考え方で大丈夫です。
同時に16個のEAを動かす場合は、各EAが使うマジックナンバーを重複させないようにしておくのが基本です。
EAつくーるで作成したEAでは、通常「インプット情報」内の
結論Magic1、Magic2のような項目が、各ポジション番号に対応するマジックナンバーになっています。そのため、そのEAが実際に使っている番号を、他のEAと被らないように設定するという理解で問題ありません。
- 16個のEAを同時稼働するなら、使用するマジックナンバーは全部ユニークにするのがおすすめです
- 変数名1~16を見て、それぞれの値を被らないように付けるという運用で基本的には大丈夫です
- ただし、「EAごとに何個のポジション番号を使っているか」まで確認するのが重要です
注意点1.
Magic1だけ見ればよいとは限りませんこうなっていませんか?
ポジション1しか使わないのでMagic1だけ変更ポジション1とポジション2を使っているMagic1と、EA B のMagic2が同じ値になっているこの場合、同じマジックナンバーとして扱われるため、決済やポジション判定が干渉する可能性があります。
つまり、確認すべきなのは「変数名の名前」ではなく、実際の値そのものが全EAで重複していないかです。
安全な付け方初心者の方には、EAごとにまとまりで番号を割り当てる方法がわかりやすいです。
例:
Magic1=1001,Magic2=1002Magic1=1011,Magic2=1012Magic1=1021,Magic2=1022このように、EAごとに10番刻み・100番刻みで分けると管理しやすくなります。
16個あるなら、たとえば以下のようにしておくと整理しやすいです。
実際にそのEAで
別の通貨ペア・別時間足でも注意が必要ですポジション1しか使わないならMagic1だけ設定しておけばよいですが、将来的にポジション2以降を追加する可能性があるなら、最初から範囲で分けておくと安全です。前回のご質問にも関係しますが、マジックナンバーが同じなら、別の通貨ペアや別の時間足でも影響が出る可能性があります。
特に、EAのロジックやオプションが
という作りになっている場合、通貨ペアや時間足が違っていても、同じ番号のポジションを「同じ仲間」とみなしてしまうことがあります。
そのため、同じ通貨ペアかどうかに関係なく、稼働中のEA全体で重複させない運用が安全です。
今回のケースで特に大事な点売り専用EAだけ22:59に決済させたい場合は、少なくとも
Magic1Magic1は必ず別の値にしてください。
例えば:
Magic1 = 5001Magic1 = 5002のように分ければ、売り専用EAの決済処理が買い側に干渉しにくくなります。
まとめMagic1だけでなく、そのEA内で使っているMagic2以降も含めて重複確認してください実務上は、
「EAごとにグループ番号を決めて、その中で Magic1, Magic2… を割り振る」
という形にしておくと、後から見直すときも混乱しにくいです。