とりあえずくるくるワイドのトラップだけでもEAにしたい。トラップは完全なシステムトレードなのでポチポチ手動でやるより確実で簡単だから。
私はダメな人間だから出来るだけ楽をしたい。
くるくるワイド検証用インジケータで可変トラップの計算方法(ロジック)はできているからそこまで大変ではないのかな。
ただ注文処理は失敗したときのことも考えなければいけないから、そこはちょっと大変かも知れない。
目次
くるくるワイドトラップEAの開発の順番を考えてみる。
1)普通に可変トラップで動くものを作る。
まずは余計なことを考えずに、トラップ幅を自動計算するトラリピEAを作る。
2)仮想建値化にも対応するようにしたい。
くるくるワイドでは仮想建値は必須だからこれは絶対にやらないと。
パラメータで建値の項目を用意してEA稼働中に変更できるようにする。当然建値に応じてトラップ幅と想定レートは自動計算する。
3)EAが止まっても復帰できるようにしたい。
なんらかの理由でEAが止まったときにトラップの仕掛け直しはしたくない。
取引コスト(スプレッドと手数料)も余計にかかるので不利だと思う。
これは2番の仮想建値化の仕組みにも関係しそうな気がする。
私の場合投資金額が少ないので、当面は仮想環境じゃなくて自分のノートパソコンを使うことになりそう。そうなるとEAの稼働は不安定なので。
冬場は暖房とかたくさん使うから油断すると結構ブレーカーが落ちる。特に電子レンジと電気ケトルは鬼門だ。
ノートパソコンはバッテリーがあるから大丈夫だけどルーターはダメだから。
MQLではファイルも扱えるみたいなのでそっちにデータを保存すればいけるのかな。注文データから復帰できればそれが一番よさそう。
注文方法について。成行注文と指値(逆指値)。
最初は成行注文で作っていたけど、やっぱり指値(逆指値)で作った方がいいかな。
作りとしてもこっちの方が簡単(シンプル)になりそうな予感。
指値ならティックじゃなくて1分足や5分足で動けば十分だと思う。負荷も軽くなるので自宅のパソコンで使うには助かる。
ただ注文とデータのステータスの同期はちょっと面倒になりそう。
トラップ1本1本の情報は構造体(struct)で管理している。実際の注文情報を監視して状態は常に同期させる。
トラップの状態はパラメータ(変数)に保存する。
状態は未発注と保留中と注文済の3つ。
約定して紐づく注文がなくなったら、ステータスを未発注に戻す。
こんな感じで実装すればいけるかな。
トラップの張り直しについて。
トラップ幅が変わったらトラップを仕掛け直す。
指値(逆指値)で常に注文が入っている状態なので、注文の変更(OrderModify)でやってみた。
でもエラー(#130)になることがある。
価格が逆行した場合トラップ幅が広がる。注文価格が変更前と変更後で現在の価格を跨ぐときがある。
そうすると指値と逆指値が違ってしまうのでエラーになるのかな。
保留中の注文は削除して新しく注文することにした。
解決方法としては一番シンプルで確実だと思う。
EA停止時の復帰処理について。
注文のコメント欄(OrderComment)を使えばなんとか出来そう。
トラップを仕掛ける時は、買い上り、売り下がりになる。
本体買いで考えると。
建値は下がる(仮想建値化)ことはあっても、一度下がったトラップが上がることはない。
トラップに番号を振って下ったら数を増やす。
こうすれば番号は常に一意だからトラップを特定できる。
EA開始時に注文情報を読み取って、番号からトラップデータを再構築すればどうにかなるんじゃない。
GlobalVariable~関数というものもあるみたい。これはMT4を再起動しても値が残る。
2021年2月28日追記
マジックナンバーを細かく指定してもいけると思う。
3000,3001,3002,3003,3004
コメント欄を使うのとどっちがいいのか。
コメント欄を使う場合はマジックナンバーはグループとして使えるので便利なような気はする。けどどっちでもそんなに違いはなさそう。
スマホからトラップを全決済したい。
くるくるワイドのゴール(出口)に到達したらトラップは全決済したい。
EAでやるのは特に難しくないけど。
トラップだけ自動売買で行うわけだから、本体とヘッジトレードと複利、その他諸々のトレードは全部手動だ。
手動のトレードはスマホなので、トラップEAと決済のタイミングがズレてしまう。
寝てるときに大きく動くこともあるからこのラグは無視できないと思うんだ。
かといって手動でぽちぽちトラップを決済するのは現実的じゃないし。
10万円くるくるワイドの14本くらいならいいけど。基本設定の70本になると手動じゃもう無理。
パソコンでEAを停止すればいいけど、常にパソコンを持ち歩くわけにもいかない。
なんとかスマホから簡単に全決済できるようにしたい。
スイッチになる保留注文を用意してそれを見張ればいいかな。ひとつの注文の取消しをトリガーにして全てのオーダーを決済する。
これならスマホからの操作でトラップEAを全決済できる。
ブログランキングをやっています。ご協力お願いします。
それとFXで聞いてみたいことがあれば気軽にコメントください。私もFX初心者だけど頑張って答えるよ!