残念ながら、連続稼働で1週間を乗り切ることはできませんでした。
JForexの場合、リアルトレードモードとバックテストモードとで、適用される制約に差異があり、そこではまっていました。
メモ:
- リアルモードの場合、オーダーFILL後(オープン成立の状態)にポジションラベル(固有の任意のラベルを設定可能)を変更すると、エラーになる
- テストモードでは問題無いのですが、これをリアルモードでやると”ラベル変更させられないよ!”ってエラーになり、ストラテジが停止しました。
- もともと、ポジションを閉じた理由を後から確認できるように、このようなロジックにしていましたが、ダメですか。。。
この問題への対処は容易ではありますが、作業パワーの関係で週末まで放置していました。
来週は乗り切れるか!?
以前にも、リアルとテストで適用される制約の差異として、画面系をイベントの起点とする処理からオーダー操作(ポジションを建てたり、閉じたり)するとエラーになることがありましたね。
チャートウィンドウにウィジェットを追加して、そのボタンからポジション操作をするというやつです。
リアルモードでこのような操作をすると、”invalid thread”でエラーになるんですよね。
この問題についても解決済みで、IContextクラスのexecuteTaskメソッドを使うと、ウィジェットからの発注もできるようになります。
というわけで、1週間乗り切れなかったのですが、もしまともに乗り切っていたらトレード成績はどうなったのか確認してみました。
AUD/USD、EUR/AUD、EUR/USD、GBP/USDをトレードして、+100pips程度の結果となったようです。
個別に確認すると、AUD/USDとEUR/AUDは大勢に影響無し。
EUR/USD爆勝ちするも、GBP/USD爆負けの結果でした。
なかなかいい感じにフォワード確認出来ていて、もっとまともな物が出来そうな予感です^^
こんばんは!
自作は楽しいですね!!
パラメーターをいじらずに複数通貨に対応できるロジックは素晴らしいと思います!
私も1年近く試行錯誤しながら作り上げた自作EAでリアル口座運用(Optimal-F75%)をしてますが
1トレードごとにヒヤヒヤしてます(´・ω・`)
勉強不足ですみません、JForexで開発されているのはMT4に無い利点があったりするのでしょうか?
punikumaさん、こんにちは。
“f”を使用されているのですね。これはまた、、、
>> リアル口座運用(Optimal-F75%)
チャレンジャーですね〜^^
f75%パワーですと、資産の増減が相当なジェットコースターな感じかと思いますので、ヒヤヒヤ感がとてもわかりますよ。
ただ、完全な動きがわかる自作EAへの適用とのことでしたら納得です。
自信と信頼に基づいた運用スタイルで、素晴らしいと思います。
複数通貨に対応できて、パラメータへの依存が小さいロジックの構築は最終的な目標ですが、なかなか難しいですね〜。
JForexで開発する理由としては、やはりMT4よりも優れている点があると考えているからです。JForexでは、
・バックテストでティック単位の精度まで標準で再現できるので、リアルタイムトレードをするロジックの再現性がとても高い
・任意の通貨ペア・任意の時間足のデータが、MT4より容易に取得できるので、複数通貨ペアを相手とするロジックの開発が比較的容易に行える
・MQLより、オブジェクト指向的なJavaが好き。また、Javaの標準ライブラリや、任意のライブラリの使用も簡単にできる
・ヒストリカルデータがECN系のデータで、またスプレッド情報もありますので、際どいスキャルピングロジックの構築・確認が可能
JForexで開発する最大の理由は、リアルタイムトレード系の再現性の高さをポイントとしています。
ただし、JForexに固執することは考えておらず、最終的に良いロジックが出来上がったなら、MT4や他のトレードシステムへの移植も(夢として)考えています。
まだまだ試行錯誤が続きますが、頑張って安定して利益を上げられるものを作っていきたいと思います。
詳しくご紹介いただきありがとうございます!
バックテストの精度が高い上にスプレッドも反映されるということで、スキャルピング系ロジックの開発が捗りそうですね(`・ω・´)
MT4でスキャルピングEAを自作して、DukascopyのTickを使ってバックテストも良好!と
喜びながらフォワードで動かしたら、スプレッドの差異で使い物にならなかった事もあったので
JForexでの開発も視野に色々調べてみようと思います。
ありがとうございました。