解決済み

損益による自動決済のEAについて

EAつくーる
ニックネーム未設定
2024/05/06 23:53
398

手動で行ったエントリーが、損益がプラスの時のみ自動利食い(マイナスの時は自動決済しない)するEAを作成したいのですが、下記の内容で正しいでしょうか。

ポジション1
諸々の条件+条件7(下記画像)=買い決済 
ポジション1損益>数値.gif

ポジション2
諸々の条件+条件8(下記画像)=売り決済 
ポジション2損益>数値.gif

補足
MT4にEA設置時にはMAGIC0を手入力しています。
一つのMT4上に複数の通貨ペアを同時にこのEAを設置したいと考えています。

コメント

GogoJungle
2024/05/07 14:18

EAつくーるの損益条件で、ポジションを指定する場合は 1 の設定をお願いいたします。

なお、運用時はEA適用時に、マジックナンバーの設定(Magic1)を 0 で運用することで
手動でエントリーしたポジションを管理することが可能でございます。

下記に裁量エントリーの決済に関連する記事をご案内いたします。

決済のみのEA
https://labo.gogojungle.co.jp/articles/1639

作成後は、デモ口座にてご確認をお願いできればと存じます。

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/08 23:12

>EAつくーるの損益条件で、ポジションを指定する場合は 1 の設定をお願いいたします。
冒頭でポジション1と記載したため紛らわしかったかもしれませんが、1列目の意味です。

質問
EAつくーる上でエントリーはせず、手動エントリーに対して自動決済する場合
下記の項目ポジションは0で正しいのでしょうか。
ポジション1損益>数値aa.gif

GogoJungle
2024/05/10 09:52

ポジション1と連動していまして、上記ポジションは 1 の設定をお願いいたします。

運用時はEA適用時に、マジックナンバーの設定(Magic1)を 0 で運用することで
作成したEAが手動でエントリーしたポジションを管理することが可能でございます。

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/13 23:26

両建てで損益が0よりも大きい状態且つ、ある決済条件で設定しデモ試行した結果
両建てのプラス、マイナスのポジションとも同時に決済されてしまいました。

目的はプラスだけ利食いされ、マイナスは持ち続けるようにしたいです。

1列目…諸々の条件+買い決済
2列目…諸々の条件+売り決済

GogoJungle
2024/05/14 09:39

取引種別の項目が活用できるかと存じます。
下記に取引種別に関連する記事をご案内いたします。

損益条件に取引種別の項目を追加
https://labo.gogojungle.co.jp/articles/158

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/17 09:39

すみませんが、やはり原因がわからないため一度ご確認いただけないでしょうか。

手動で両建てエントリーをし、スワップを含めた損益が0以上の場合のみ利食いするようにしたいのですが、
どうしても希望の動作が行われません。

両建てでマイナス分も決済されてしまう.png

GogoJungle
2024/05/17 09:38

誠に恐れ入りますが損益条件は、損益のみ含まれているため
スワップを含める場合は手動での追加になり大変お手数ですが下記を参考にお願いいたします。

【質問】損益条件  口座全体の損益について
https://labo.gogojungle.co.jp/articles/1675

決済されない件について、複数の条件がございまして
恐れ入りますが損益条件が原因かどうかがわからない状況でございます。
※添付いただいたプログラムは有償でご提供しておりますため削除いたしました

条件をシンプルにして、手動エントリーが決済されるか一度ご確認をお願いできればと存じます。
なお、EA運用時はマジックナンバーを 0 で稼働する必要がございます。

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/17 23:55

回答します。

>条件をシンプルにして、手動エントリーが決済されるか一度ご確認をお願いできればと存じます。
>なお、EA運用時はマジックナンバーを 0 で稼働する必要がございます。

手動エントリーは決済されますし、マジックナンバーは0で稼働しております。
2024/05/13 23:26に前述している通り、決済されないのではなく、
損益が0以下の場合でも決済されてしまうことが原因不明で困っているのです。
何度も上記でご説明しております。

両建てで損益が0以上且つ、決済条件を満たした場合、本来ならば損益0以上のみ決済されるはずが、
両建てのプラス、マイナスのポジションとも同時に決済されてしまうのです。

設定した条件通り、プラスだけ利食いされ、マイナスは持ち続けるようにしたいのです。

条件通りにならないのはなぜですか。

GogoJungle
2024/05/18 17:14

ご回答ありがとうございます。状況について理解いたしました。

EAつくーるはナンピン、ピラミッディングなど特殊なロジックを除き
ポジション1について、ポジション数1が前提でございますので、
決済時に売買種別を考慮せず2ポジション同時に決済されている状況かと存じます。

恐れ入りますが手動でプログラムを下記のように変更後、
コンパイルいただきまして再度確認をお願いいたします。

変更前

   if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
      closePosition(Magic1);
   }
   if(signal != 0 && getOpenLots(Magic1, OP_SELL) != 0) {
      closePosition(Magic1);
   }

変更後

   if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
      closePosition(Magic1, OP_BUY);
   }
   if(signal != 0 && getOpenLots(Magic1, OP_SELL) != 0) {
      closePosition(Magic1, OP_SELL);
   }

作成後は、デモ口座にてご確認をお願いできればと存じます。

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/22 23:39

ご回答いただいた内容の通りプログラムを修正してEAを稼働させました結果、
両建てをしたポジションのうち、「利益が0以上」という条件を満たしていないまま、
片方のみが決済されるようになりました。

両建ての買い売りの2ポジションが同時に決済される問題は解消されましたが、
すべての条件を満たしていない場合でも決済されてしまいます。

何が原因でしょうか。

GogoJungle
2024/05/23 10:34

誠に恐れ入りますが相場の状況やご利用している会社の注文状況により
決済注文した時点のレートと実際に決済されたレートが前後する場合がございます。

10以上、100以上にするなど利益の決済条件を調整いただければ幸いでございます。

上記理由でない場合は、条件の設定に問題がある場合がございます。
下記の記事を参考に、AND条件の確認をお願いできればと存じます。

取引条件について徹底解説
https://www.gogojungle.co.jp/finance/navi/articles/67676

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/25 06:52

試しに損益>10以上にしてみましたが、
やはり損益の条件は無視されたまま、損益マイナスの状態で決済されてしまいました。

改めて状況を把握していただきたいため、複雑な条件を外し省略した条件での確認です。

例えば下記条件で設定したと仮定します。

設定条件
・RSI>65+損益>10=買い決済
・RSI<35+損益>10=売り決済 
24.5.25損益条件が無視されてしまう原因.jpg

質問① 買いポジションを持った場合、RSIが65以上且つ損益が10以上になった瞬間に決済されますか?

質問② 買いポジションを持った場合、RSIが65以上、損益が10以上ではない状態で決済されますか?

GogoJungle
2024/05/25 17:41

結果は質問①となり、問題ないかと存じます(厳密には画像の場合、損益は10を超えた場合でございます)ので
上記ロジックに条件追加(OR)で、買いエントリー条件(即エントリーする条件)を追加し、
バックテストで損益条件が正常に機能して決済されるかご確認いただくのが良いかと存じます。

お手数をおかけしますが何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/05/26 12:58

本来は「手動エントリー」に対して自動決済のEAを目的としていますので、
マジックナンバーを0に書き換えて設置しておりますが、
仰るように買いエントリー条件を設定した試した方が良いのでしょうか。

GogoJungle
2024/05/27 20:26

原因切り分けのため上記方法をご案内いたしておりまして
バックテストでまず正常確認をするのがよいと考えました。

問題なく決済された場合は、決済条件は問題ない状況かと存じますので
買いエントリー条件を削除して手動で検証をお願いいたします。

お手数をおかけしますが何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/07 00:06

一週間ほどデモで簡単な買い(売り)エントリーで検証した結果、
9エントリー中9回が損益が0以上の状態で決済が行われていました。

よって、EAつくーる上の買い(売り)エントリーであれば条件通り決済されるということがわかりました。

手動エントリーになると条件通りに決済されないのは何故でしょうか。

GogoJungle
2024/06/07 08:55

検証ありがとうございます。

恐れ入りますが追加で確認をさせてください。
上記は、単一ポジション、両建てのどちらで行いましたでしょうか?

手動エントリーは元々想定していない操作でございまして、
単一ポジションの場合は、今まで問題は発生しておりませんが
両建ての事例がなく、調査に時間を要する可能性もございます。

もし、可能でしたら手動エントリーで単一ポジションの場合は
同様の問題が発生しないか、確認をお願いできればと存じます。

お手数をおかけしますが何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/07 23:23

エントリー条件
15分足の5MAが20MAをGCで買い
15分足の5MAが20MAをDCで売り

決済条件
RSIが65以上かつ損益が0以上で買い、売り決済

上記の条件で検証した結果となります。

一度ポジションを持つと決済されるまで次のエントリーは
条件が揃ったとしてもエントリーされないのでしょうか?

両建てになることを想定していましたが、
遡っても両建てのログはありませんでした。

GogoJungle
2024/06/08 17:11

恐れ入りますが手動エントリーは両建てで行いましたでしょうか?
手動エントリーで両建ての場合、原因の切り分けをしたく
手動エントリーで1ポジションの場合は決済は想定通り行われますでしょうか?

下記はEAつくーるのエントリーに関する仕様でございます。

各ポジション(例:ポジション1)の条件によって保有される最大ポジション数は1となっていまして
ポジション1による条件で既にポジションを保有している場合は、
新たにポジション1の条件が達成されても新たにエントリーすることはございません。

EAつくーるの基本操作と使い方
https://www.gogojungle.co.jp/finance/navi/articles/67483

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/08 23:29

>恐れ入りますが手動エントリーは両建てで行いましたでしょうか?
>手動エントリーで両建ての場合、原因の切り分けをしたく
>手動エントリーで1ポジションの場合は決済は想定通り行われますでしょうか?

手動エントリーは両建てで行いました。
2024/05/18 17:14にご教授いただいたコードに書き換えを行った上で手動エントリーは両建てで検証した結果、
買いor売りの片方のみ決済されるようになりましたが、損益が0以下の場合にも決済されてしまうようになりました。
手動エントリーで1ポジション(買いor売りのみ)という状況での検証していないため、想定通り行われるかは分かりません。

GogoJungle
2024/06/11 14:23

恐れ入りますがロジックを詳細に把握できていないため、検証したサンプル結果を記載いたします。
下記を参考に条件を追加・変更いただければ幸いです。

前回記載したとおり、複数ポジションございますので、
買いは買いのみ決済するように手動でプログラムを変更しております。

  if(signal != 0 && getOpenLots(Magic1, OP_BUY) != 0) {
      closePosition(Magic1, OP_BUY);
   }
   if(signal != 0 && getOpenLots(Magic1, OP_SELL) != 0) {
      closePosition(Magic1, OP_SELL);
   }

手動で両建てエントリーし、どちらかがプラスになったらプラスのポジションを決済の例でございます。

条件1または条件2が成立したら決済

1749_11.png

条件1:買いの損益が0より大きい(スワップは含まれません)

1749_12.png

条件2:売りの損益が0より大きい(スワップは含まれません)

1749_13.png

デモ口座で動作確認

手動エントリーを対象とするため、マジックナンバーを 0 に変更します。

1749_14.png

手動でエントリーしたポジションのどちらかがプラスになった時点で
該当のプラスのポジションを決済します。

1749_15.png

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/18 23:37

検証方法をご案内いただいた内容をもとに、より分かりやすくするよう、
「損益>数値10」に変更しそれ以外の項目はすべて同じ条件で検証してみた結果、
今回もやはり損益の条件が無視されているポジションが5件ありました。
下記は履歴です。
原因は何が考えられるでしょうか。
履歴(マイナスも決済されてしまっている).jpg

GogoJungle
2024/06/19 08:59

恐れ入りますが調査困難のため 2024/06/11 14:23 に投稿した結果につきまして、
手動でエントリーしたポジションのどちらかがプラスになった時点で
該当のプラスのポジションは決済されますでしょうか?

条件の設定が誤っている可能性もあるかと思いますが
条件を作成しなおすと解決した事例が過去ございまして
別のブラウザで作成しても同じ状況が発生しますでしょうか?

お手数をおかけしますが何卒よろしくお願い申し上げます。

GogoJungle
2024/06/19 20:35

お待たせいたしました。

決済の処理につきまして、実装が完了しましたので下記にご報告いたします。
新規に作成の場合は、手動による決済プログラムの変更は不要でございます。

両建て時の決済処理を改善しました
https://labo.gogojungle.co.jp/articles/1814

何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/21 10:28

2024/06/11 14:23に書いていただいたロジックのみで検証を実施しました。

買いポジションが損益>0=買い決済
売りポジションが損益>0=売り決済

結果、どうしてもマイナスにも関わらず決済されてしまいました。

証券会社は**のデモ口座です。

原因は何が考えられるでしょうか。
決済履歴.gif

GogoJungle
2024/06/21 10:33

損益条件について原因切り分けのため、
バックテストで下記について確認をお願いできればと存じます。

取引条件:即エントリー利益で決済

1749_21.png

条件2:利益が発生した場合のみ決済

1749_22.png

バックテスト:利益が発生した場合のみ決済

1749_23.png

ご参考いただけますと幸いです。何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/22 01:00

結果はこのようになりました。

条件1、条件2.gif
即エントリー+決済.gif

GogoJungle
2024/06/22 18:53

誠に恐れ入りますが同じ条件でどのような結果になるか確認するため
ポジション1のみ(単一通貨ペア:USDJPYのみ)のバックテストでお願いできればと存じます。

お手数をおかけしますが何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/06/24 22:39

結果はこのようになりました
即エントリー+決済(ドル円のみ).gif

GogoJungle
2024/06/25 20:43

原因不明の状況でございまして、損益の値を10000のように大きくした場合でも
マイナス決済されてしまうのか確認をお願いしたいです。

それでもマイナス決済される場合は
可能でしたらFXTF MT4のデモ口座でバックテストをお願いできますでしょうか?

お手数をおかけしますが何卒よろしくお願い申し上げます。

ニックネーム未設定
2024/07/02 00:08

ドル円を買いポジションで持った結果、10000に到達した時点で決済され
再度自動で買いエントリーがされましたので、これは正常かと思われます。
他に検証することはございますか。
ドル円10000決済.gif

GogoJungle
2024/07/02 19:58

検証ありがとうございます。
損益の値が大きい場合は正常のようですね。

質問が2つございます。

[1] 前回の画像の検証は、FXTF MT4のデモ口座でのバックテストのものでしょうか?
[2] 2024/06/24 22:39 での検証結果の一番右の列の値の単位は何になりますでしょうか?

[1]につきまして
弊社で検証中の環境と状況を合わせるため、[1]がNoの場合は、FXTF MT4のデモ口座での検証をお願いいたします。

[2]につきまして
損益の値が負になっていますが、絶対値が0に近い点が気になっております。
もしかすると、判定時は正しく「>0」であっても、決済が行われる際のタイムラグ等で値が多少ずれているだけの可能性がございます。例えば単位が「円」なら、損益が±1程度であっても許容できると存じます。

ご回答よろしくお願いいたします。

ニックネーム未設定
2024/07/05 22:56

下記の通り確認できました。

[1] 前回の画像の検証は、FXTF MT4のデモ口座でのバックテストのものでしょうか?
⇒ 2024/07/02 00:08に投稿した結果の証券会社は**のデモ口座ですので、FXTF MT4のデモ口座ではありません。

[2] 2024/06/24 22:39 での検証結果の一番右の列の値の単位は何になりますでしょうか?
⇒単位は「ドル」です。

[1]と同じEAをFXTF MT4の「円」で検証した結果、下記の通りすべて>0以上の場合のみ決済されました。
ドル円プラスで即決済.jpg

GogoJungle
2024/07/08 12:41

質問へのご回答と追加のご検証、ありがとうございます。

バックテストでピッタリ0、フォワードテストで(絶対値の小さい)ずれた値になるとすると、やはりラグが原因の可能性が高いと考えられます。

比較する値を「0」ちょうどではなく、安全側にずらして設定しておくのはいかがでしょうか。

例えば、
損益 > 0.5
としておくなどです。

(「0.5」の部分は、通貨ペアの特性に合わせて適切な値に設定する必要があります。)

関連トピックス

検索結果がありません。

ノーコードで誰でも簡単EA開発!MQL言語学習にも使える! | GogoJungle

注目トピックス

検索結果がありません。