2015年03月04日

オアンダジャパンでの通貨ペア名変更に関する注意点(運用編)

今週より、オアンダジャパン(ベーシック口座・ビッグ口座)にて、通貨ペア名の変更が行われました。
#”USDJPY”は”USDJPY-a01”といった具合。

目先の影響としては、今までのチャートが使えなくなり、セットしたEAも稼働しなくなるため、EAの再設定作業が必要になるというものがありますが・・・その他、ダウンロードや購入したEAの挙動がおかしくなるようなケースもありうるのではと思っています。
とりあえず、私が思いつくところで、挙動がおかしくなりそうな典型的なパターンを挙げてみました。
このようなEAをお持ち、あるいは導入しようと思っている場合は気をつけましょう。気になる場合は、制作者に聞いてみるなども良いかもしれません。

@1つのEAで複数の通貨ペアを取引する場合

EAをセットしたチャートの通貨ペアで取引を行うようなEAは、よほどひどい作りをしていない限りは通貨ペア表示が変わっても取引には問題ないかと思います。
しかし、セットするチャートの通貨ペアを問わず、複数の通貨ペアのエントリーに対応したEAの場合、場合によっては取引自体が一切行われなくなる可能性があります。
基本的にはエントリーが行われることはないと思いますので、とりあえずセットしてみて取引が行われなければ、制作者に聞いてみるというのが良いかもしれません。


A複数の通貨ペアの状態を参照するような仕組みのEAの場合

サヤ取り系のEAなどは、このような作りとなっている可能性があります。
場合によっては、何度もエントリーとイクジットを繰り返すようなパターンにハマる可能性もあるので、使用する際には十分に気をつけたほうが良いかと思います。
#デモだと”-a01”がついていないので、デモで確認できないのが痛いところです。。。


B使用通貨ペアを制限するEAの場合

”USD/JPYでの使用限定”というようなEAは、今回の通貨ペア名変更により一切使用できなくなる可能性があります。こちらも注意したておいたほうが良いポイントかと思います。


C複利モードを搭載したEAの場合

最大損失額を想定してLot数を調整するようなEAも、このケースにハマってしまう可能性があります。
EAの仕様次第ですが、Lot数がおかしくなってしまうケースも有りますので気をつけたほうが良いかと思います。
なお、FX-ONにて私の出品している「自動最適化クロスエントリーシステム」「自動最適化クロスエントリーシステム Ver2.0」はまさにこのパターンにハマっております。。。
FX-ON様では周知させて頂いておりますが、十分にお気をつけていただくようお願い致します(近日アップデートにて対応する予定です)。

ということで、オアンダジャパンの通貨ペア名変更により、EA運用で気をつけるべきポイントを挙げてみました。
せめてデモ口座でも同じ変更があればデモで試すこともできるんですが、実口座でチャレンジしなければならないということで制作者としての私の立場でも、かなり苦心しております。
スプレッドなどの条件は良いし、以下の様な口座開設キャンペーンもやってるので、なかなか惜しい業者だという気はするんですが。。。


OANDA JAPAN×タイアップキャンペーン☆WhiteBear Z EURJPY☆プレゼント


以上です。
タグ:OANDA MT4
posted by しがないあらさー at 00:05 | Comment(0) | TrackBack(0) | MT4 | このブログの読者になる | 更新情報をチェックする
2015年02月23日

OANDA JAPANで両建てするための方法

OANDA JAPANはスプレッドが狭く、今は亡きアルパリほどではありませんが滑りについてもまあまあのパフォーマンスで、運用には良質なMT4業者だと思います。

しかし、この業者、致命的な欠点がひとつ・・・。
それは、両建てができないということです。

1EAを動かすだけなら問題になることはあまりないのですが、1つのMT4内にて複数EAでポートフォリオを組んでいると、それぞれのEAの特長を潰し合うようなことにもなりかねません。。。
なので、MT4において「両建てできること」というのは結構重要な要素だったりするわけです。

しかし、ちょっと工夫すればこの弱点をある程度克服できるのでは・・・ということで、OANDAでの両建て対応策を考えてみました。
こんな感じで「ロング専用口座」と「ショート専用口座」を作れば行けそうです。

<手順@>
・サブアカウントを作成する。(マイページから、最大10個まで簡単につくれます)

<手順A>
・もう一つ、OANDA MT4をインストールする。
 →デフォルトだと上書きされるだけなので、別のフォルダにインストールします
  (こんな感じでロング専用口座、ショート専用口座が分かるような名前がいいですかね)

OANDAINSTALL.jpg


<手順B−1>
・ロング専用口座のEAの設定をすべて以下の通り(Only Long)変更する。
 →これで、ショートの注文は通らないようになります。

OnlyLong.jpg


<手順B−2>
・同様に、ショート専用口座のEAの設定をすべてOnly Shortに変更する。
 →これで、ロングの注文は通らないようになります。

これでOK!
ロング専用口座はロング注文しか入れず、ショート専用口座はショート注文しか入れないので、擬似的に両建てを許容した運用が可能になります。

ただ、注意点としては以下の3点があるかなと思います。

@資金管理が若干面倒
 →2つの口座の足し算をする必要があり、またどちらかの口座が足りなくなると補充が必要です。

Aエラーメッセージが多量に出力される場合がある
 →EAによっては、エラーが出た場合にエラーメッセージを出力するものがああります(私のもそうです)。
  逆方向のエントリーがブロックされる際に、エラーメッセージ(4109)が表示されることになります。
  結果、「エキスパート」画面がエラーメッセージで埋まってしまうかもしれません。

B両建て可の業者と同じ動作にならない可能性がある
 →基本的には両建て可業者と同じ動きにはなりますが、物によっては持ったポジションが逆行した時に一時的に両建てして逃げるといったロジックが入っていたりする場合があります。
  このように、逆方向のポジションを持っていることを前提として両建てするEAについては同じ挙動を示さない場合があります。

とは言え、@は資金管理をちゃんとしておけば問題無いですし、逆に「このEAはロングが強いのでショートだけ止めよう」とか新しい運用方法が見つかりやすくなるというメリットも有るかもしれません。

Aについても、基本的にはEA開発者以外は気にしなくても問題ないタブですので、運用するだけならあまり問題にはならないともいます。

Bだけはどうしようもないですが、そんなロジックを入れたEAもそんなにはないと思いますので、販売しているEAなどを使う際には、「ポジションを持った状態を前提に両建てするEAか」だけチェックしておけば問題ないんじゃないかなと思います。

ということで、今回はOANDA JAPANでの擬似両建てについて記事にしてみました。
OANDA以外の両建て不可業者でもサブアカウントさえ作れれば同じことができると思いますので、是非参考にしてみてください。

今、以下の画像リンクからOANDA JAPANで口座開設すると、Forex White Bear V1EXなどのEAプレゼントキャンペーンをやっていますので、「スプレッドはいいけど両建てできないのはちょっと・・・」と考えている方もご検討してみてはいかがでしょうか。
(※直接サイトにアクセスして口座開設した場合はもらえないので注意)


OANDA JAPAN×タイアップキャンペーン☆WhiteBear Z EURJPY☆プレゼント


以上です。

続きを読む
タグ:OANDA FX MT4
posted by しがないあらさー at 23:41 | Comment(2) | TrackBack(0) | MT4 | このブログの読者になる | 更新情報をチェックする
2015年02月04日

オアンダジャパンで決済注文を用いる際の注意(EA制作者向け)

オアンダジャパンで指値注文を用いる際の注意(クリックで記事へ)について、過去の記事にて言及しました。
しかし今度は、決済注文時に注意すべき事項がありましたので記事にしたいと思います。

EAを運用していて気づいたのですが、稀にコメント欄に「from #(チケット番号)」と書かれたポジションが残っている場合がありました。しかも、ロット数がそのEAで指定しているものから考えるとありえない。
ログ上にも該当するような約定履歴が残っておらず、「一体何なんだこれは・・・?」と思って調べていると、おそらくこういうことだろうという答えにたどり着きました。

一部のロットだけ決済されているようです。

コメントで指定されたチケット番号をたどると、約定時と決済時のロット数に差分があり、その差分のロット数で、新たな注文として約定されているようなのです。

こんな動きをされると、決済注文において不具合が発生してしまうケースが考えられます。

決済注文のコーディングとしては、だいたいこんな感じがオーソドックスかなと思います(買いポジションを決済するコードのイメージです)。
※ポジションを保有しているかどうかを変数で持っておき、「約定→true」、「決済→false」という状態管理をしておけば、注文が拒否されても次のTickでリトライできるような仕組みになります。

-----
if (position_hold){
ordersuccess = OrderSelect(Ticket, SELECT_BY_TICKET);
if (ordersuccess && OrderType() == OP_BUY){
ordersuccess = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Red);
if (ordersuccess) position_hold = false;
else Print("ErrorCode:" + GetLastError());
}
}

[変数名の補足]
・position_hold:ポジションを保有している場合はtrue
・Ticket:保有ポジションのチケット番号
-----

ところが・・・この決済コードですが、オアンダジャパンで運用すると、この一部決済が仇となって状態管理外のポジションが発生してしまう可能性があるのです。

この一部決済のタチの悪いところは、(挙動からの推測ですが)一部決済しかできなくてもOrderCloseの返り値はtrueになってしまうというところなのです。
すなわち、上記のコードだと「ちゃんと決済ができた!」と勘違いして、新たなエントリーを受け付ける状態に遷移してしまうのです。。。

しかし残ったポジションは、上述の通り新しく約定したという扱いになってしまっています。
上記のコードだと「ポジション未保有」という状態遷移になっているので、この新たなポジションについては管理外になってしまうのです!!

しかもご丁寧に指値まで勝手にずらされるという始末。。。おそらく、元のポジションの約定価格と指値額の差分がそのままずらされているという感じです。ひどい。

指値注文の件はまだしも、これはさすがにあまりのクソ仕様と言わざるを得ません。
正直、この仕様を考えた人間の感性を疑うレベルです。。。
こんなことするくらいなら約定拒否してくれたほうがよっぽどマシです!

とはいえ、このような仕様になっている以上、使うためには対策をしなければなりません。
こんな感じのコードをはじめのほうに埋め込んでいけば対策になるかと思います。

-----
for (int i = 0; i < OrdersTotal(); i++){
ordersuccess = OrderSelect(i, SELECT_BY_POS);
if (ordersuccess && OrderMagicNumber() == MagicNo){
if (OrderType() == OP_BUY){
if (!position_hold){
ordersuccess = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Red);
if (ordersuccess) Print("Unsettled Order is Closed.");
else Print("ErrorCode:" + GetLastError());
}
}
}
}

[変数名の補足]
・MagicNo:プログラムで使用するマジックナンバー
-----

「ポジションを持っていない」という管理状態において実際はポジションを持っている場合、状態合わせとして強制決済させるというコードです。こうすれば、残ったポジションの決済も試みてくれることになるかと思います。

アルパリが使えなくなってから、オアンダでのEA運用がメインになっています。
スプレッドとか約定滑りとかは特に大きな不満もないのですが、MT4の仕様に想定外が連続していて勘弁して欲しい感じです。

まあ、逆に言うと、オアンダでちゃんと動くEAは大体の業者でちゃんと動くといえるのではないでしょうかwww

以上です。
タグ:OANDA MT4 EA
posted by しがないあらさー at 20:33 | Comment(2) | TrackBack(0) | MT4 | このブログの読者になる | 更新情報をチェックする
ゼニカル
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。