もくもく訳の分からない事を書いていましたが、
HMAの何やかんや読んでいただいた人はありがとうございます。
HMAは高率でろうそく足の間にいるという事は
次のHMAを予測する事で大体のプライス予測が出来るという事です。
HMAはなめらかなので予測しやすいのも特徴ですね♪
EAの名前は気にしないでください(仮称)です。
まだ設定もなにもしていないのですが、一発目で素敵な感じになりました。
新しく出たペプシGMT2ほしいな♪
これで買えるといいな~
2018年6月9日土曜日
高速取引業者
余り知られていませんが平成30年6月6日より高速取引業者は金融庁に登録が必要になりました。
https://www.fsa.go.jp/common/law/guide/hft/03.html
高速取引業者は相場に影響を与えないようにロットコントロールなどをしなければならないようです(かなり適当な解釈です)
わたしも自称高速取引大好き人間です。
1分足のろうそくの中身を探求したりしますが、
どれくらいの速さだと高速取引になるのでしょうか
エントリーからクローズまでMT4では早くても30ms程度はかかります。
100ms程度の取引はよくやりますがこれは高速取引になるのでしょうか?!
金融庁のページに定義は無いのですが、登録の際に戦略を提示する必要があるようです。
以下抜粋
マーケットメイク、アービ、ディレクショナル戦略の類のようですね。
どうやら私の取引は該当しないようです。
しかし「高速取引」という単語は誤解を招く可能性があるので、
使わないほうがよさそうです。
代替案は
「俊足取引」 なんかあやしい
「秒速取引」 1分以上かかったら秒速じゃないかな
「電撃取引」 俊足より怪しいですね
「ラピッドトレード」なんかかっこいいのでこれにします。
横文字に弱い私です。
※ここの内容は適当でいい加減ですのできっちりとした内容を知りたい方は金融庁のHPなどで調べて下さい。
https://www.fsa.go.jp/common/law/guide/hft/03.html
高速取引業者は相場に影響を与えないようにロットコントロールなどをしなければならないようです(かなり適当な解釈です)
わたしも自称高速取引大好き人間です。
1分足のろうそくの中身を探求したりしますが、
どれくらいの速さだと高速取引になるのでしょうか
エントリーからクローズまでMT4では早くても30ms程度はかかります。
100ms程度の取引はよくやりますがこれは高速取引になるのでしょうか?!
金融庁のページに定義は無いのですが、登録の際に戦略を提示する必要があるようです。
以下抜粋
イ.マーケットメイク戦略
売りと買いの両注文を市場に出し、他の投資家の取引相手となることで、両価格のスプレッド分の利益を得る戦略をいう。
ロ.アービトラージ戦略
価格変動に相関がある複数の銘柄(例えば、日経225の先物と日経225のETF)の価格差や、同一商品の市場間での価格差などに着目し、裁定取引を行うことで利益を得る戦略をいう。
ハ.ディレクショナル戦略
近い将来の価格の変動を予測して利益を得る戦略をいう。
ニ.その他の戦略
マーケットメイク戦略、アービトラージ戦略又はディレクショナル戦略のいずれにも該当しない戦略をいう。
マーケットメイク、アービ、ディレクショナル戦略の類のようですね。
どうやら私の取引は該当しないようです。
しかし「高速取引」という単語は誤解を招く可能性があるので、
使わないほうがよさそうです。
代替案は
「俊足取引」 なんかあやしい
「秒速取引」 1分以上かかったら秒速じゃないかな
「電撃取引」 俊足より怪しいですね
「ラピッドトレード」なんかかっこいいのでこれにします。
横文字に弱い私です。
※ここの内容は適当でいい加減ですのできっちりとした内容を知りたい方は金融庁のHPなどで調べて下さい。
2018年6月8日金曜日
EA HMA-Gettor
前回二階の理論をこねくり回して作ってみました。
取引データーを確認すると、ERR138が出ています。
また、大きくDDする時には発注から数カ月単位の期間が空いてしまっています。
なにか処理を間違えてこつこつどがーんになっているのかもしれません。
その後)
OrderCloseの価格をOrderSelect()→OrderClosePrice()で取得していたのですが
OrderClosePrice()はOrderSelect()した時点の価格が入り、OrderClose()した時の価格が入るわけではないのですね。
OrderSelect(OrderSend(~~~),SELECT_BY_TICKET)としたのが間違いでした(^^;)
HMA Gettor(発音はエイツ エッム エー ゲッロァー)
すこし気持ちの悪い音になってしまいました。
お!いい感じですね しかしドローダウンが大きいようです。
取引データーを確認すると、ERR138が出ています。
また、大きくDDする時には発注から数カ月単位の期間が空いてしまっています。
なにか処理を間違えてこつこつどがーんになっているのかもしれません。
その後)
OrderCloseの価格をOrderSelect()→OrderClosePrice()で取得していたのですが
OrderClosePrice()はOrderSelect()した時点の価格が入り、OrderClose()した時の価格が入るわけではないのですね。
OrderSelect(OrderSend(~~~),SELECT_BY_TICKET)としたのが間違いでした(^^;)
HMA D1 H1 M15 M1 の粘着率!
前回のブログでHMAがろうそく足の中にいる確率(粘着率w!?)をEAを使って計算しました。
USDJPY 2015-20180531
M1で実施しましたが他の足の同期間のデーターも紹介します。
USDJPY M1
奇数月3,5,7,9が前後に比べ低く
最大は期間6の80.4%
まとめ
全ての期間足でHMAが高値と安値の間にある確率が高いのは期間6
M15が89.2%で最も高い確率、低いのはM1の80.4%です。
奇数の小さな期間3,5,7,9は成績が悪い
どうやらHMAは期間6が面白そうですね
アランさん13ごめんなさい
USDJPY 2015-20180531
M1で実施しましたが他の足の同期間のデーターも紹介します。
USDJPY M1
奇数月3,5,7,9が前後に比べ低く
最大は期間6の80.4%
続いてM15
こちらもM1と同じく奇数月3,5,7,9の%が低くなっています。
最高値は6:89.2%ほぼ9割がろうそく足の間HMAがあるのですね!
H1です。
こちらも奇数月3,5,7,9が前後に比べ低く
6が最高で88.0%です。
殿はDaily
こちらも奇数月が弱いのですが
期間3,5,7、9が前後に比べ低くなっています。
最高は6:85.1%です。
まとめ
全ての期間足でHMAが高値と安値の間にある確率が高いのは期間6
M15が89.2%で最も高い確率、低いのはM1の80.4%です。
奇数の小さな期間3,5,7,9は成績が悪い
どうやらHMAは期間6が面白そうですね
アランさん13ごめんなさい
HMA は未来を予測できるか!
Hull Moving Average 略してHMA
チャートを見るとろうそくに常に張り付いているだけでなく、なめらかさもすばらしい平均線です。
ろうそくに張り付いている → 価格との乖離が少ない
なめらか → トレンドの方向性のだましが少ない
この様なイメージです。
HMAは期間をPとすると
期間1/2PのLWMAの値の2倍 から期間 PのLWMAの値を引いた数字の配列を
もう一度期間√PのLWMAで平均化しています。
現在に近い期間1/2Pの平均を2倍して期間Pを引くと1/2Pの平均よりさらに最近の影響を受けます。過去の期間1/2Pをマイナスするイメージです。
この平均の値はろうそく足にべったり張り付きますが、
もう一度LWMAで平均化する事でさらになめらかになっています。
この中ででてくる期間は3つ 期間P 期間1/2P 期間√Pです。
期間は整数でなければなりません。 期間Pが奇数の時は誤差が出ます。(とくに小さい期間では大きく出ます。)
もう一つ平方根についても同様です。
太字のところは誤差の無いところです。
2で割り切れて平方根に誤差が無い数字は4と16ですね。
このあたりのゴールデンクロスや乖離を探求してみたいと思います。
その中で疑問が一つ!
ろうそく足の中にどれくらいの確率でHMAはいるのでしょうか
高値と安値の間にどれくらいいるかを見てみます。
datetime OldTime;
int Total,Win[17];
double I(int period=13,int shift=0)
{
double pHMA[];
ArrayResize(pHMA,period+2);
for(int i=period+1;i>=0;i--)
{
pHMA[i]= iMA(Symbol(),PERIOD_CURRENT,(period/2),0,MODE_LWMA,PRICE_CLOSE,shift)*2
- iMA(Symbol(),PERIOD_CURRENT,period ,0,MODE_LWMA,PRICE_CLOSE,shift);
}
return (iMAOnArray(pHMA,0,(int)MathSqrt(period),0,MODE_LWMA,shift));
}
void OnTick()
{
string txt=NULL;
if(Time[0]!=OldTime)
{
OldTime=Time[0];
Total++;
for(int i=1;i<=16;i++)
{
double HMA=I(i,1);
if(HMA<High[1]&&HMA>Low[1])Win[i]++;
txt+="# "+i+" "+Win[i]+" / "+Total+" "+(double)Win[i]/(double)Total*100+" % \n";
}
Comment(txt);
}
}
HMA期間P 1~16を期間2015~20180531、M1、USDJPYで調べてみます。
期間1は計算できていないようです。 1/2P→期間0の平均は算出できないからでしょうか
期間3,5,7,9は前後に比べ%低くなっています。1/2Pに誤差が出るからかもしれません。
偶数期間をみると期間P=6を頂点に推移しています。
P=6では80%が高値と安値の間にHMAがあるようです。
なかなかすごい事です。
HMAが上昇していてHMAよりBidが一定値低い時にはロングでエントリ-してHMAまで戻ればクローズ こんなシンプルなもので80%取れるかもしれませんね
高速EA万歳です!
チャートを見るとろうそくに常に張り付いているだけでなく、なめらかさもすばらしい平均線です。
ろうそくに張り付いている → 価格との乖離が少ない
なめらか → トレンドの方向性のだましが少ない
この様なイメージです。
HMAは期間をPとすると
期間1/2PのLWMAの値の2倍 から期間 PのLWMAの値を引いた数字の配列を
もう一度期間√PのLWMAで平均化しています。
現在に近い期間1/2Pの平均を2倍して期間Pを引くと1/2Pの平均よりさらに最近の影響を受けます。過去の期間1/2Pをマイナスするイメージです。
この平均の値はろうそく足にべったり張り付きますが、
もう一度LWMAで平均化する事でさらになめらかになっています。
この中ででてくる期間は3つ 期間P 期間1/2P 期間√Pです。
期間は整数でなければなりません。 期間Pが奇数の時は誤差が出ます。(とくに小さい期間では大きく出ます。)
もう一つ平方根についても同様です。
太字のところは誤差の無いところです。
2で割り切れて平方根に誤差が無い数字は4と16ですね。
このあたりのゴールデンクロスや乖離を探求してみたいと思います。
その中で疑問が一つ!
ろうそく足の中にどれくらいの確率でHMAはいるのでしょうか
高値と安値の間にどれくらいいるかを見てみます。
datetime OldTime;
int Total,Win[17];
double I(int period=13,int shift=0)
{
double pHMA[];
ArrayResize(pHMA,period+2);
for(int i=period+1;i>=0;i--)
{
pHMA[i]= iMA(Symbol(),PERIOD_CURRENT,(period/2),0,MODE_LWMA,PRICE_CLOSE,shift)*2
- iMA(Symbol(),PERIOD_CURRENT,period ,0,MODE_LWMA,PRICE_CLOSE,shift);
}
return (iMAOnArray(pHMA,0,(int)MathSqrt(period),0,MODE_LWMA,shift));
}
void OnTick()
{
string txt=NULL;
if(Time[0]!=OldTime)
{
OldTime=Time[0];
Total++;
for(int i=1;i<=16;i++)
{
double HMA=I(i,1);
if(HMA<High[1]&&HMA>Low[1])Win[i]++;
txt+="# "+i+" "+Win[i]+" / "+Total+" "+(double)Win[i]/(double)Total*100+" % \n";
}
Comment(txt);
}
}
期間1は計算できていないようです。 1/2P→期間0の平均は算出できないからでしょうか
期間3,5,7,9は前後に比べ%低くなっています。1/2Pに誤差が出るからかもしれません。
偶数期間をみると期間P=6を頂点に推移しています。
P=6では80%が高値と安値の間にHMAがあるようです。
なかなかすごい事です。
HMAが上昇していてHMAよりBidが一定値低い時にはロングでエントリ-してHMAまで戻ればクローズ こんなシンプルなもので80%取れるかもしれませんね
高速EA万歳です!
2018年6月6日水曜日
BEEKSの割引が出来ます
消費税増税に伴い仕入れ価格が27%上がることになりました。
つきましてはBEEKSの割引を一時終了します。
2019/11/12
VPS選択は非常に大切です。
環境一つでまったく損益が変わってくるからですね。
こんな場合は特に慎重に選ぶ必要があります。
CASE1 非常に多くの人が使っているEAを使う時
注文が集中します。板足らずになり、
プライスが滑りはじめやがてオフクオート(注文拒否)が出ます。
まさに、早い者勝ちとなりますのでより速いVPSが有利です。
CASE2 高速EA 一取引の損益が小さいEAを使用する時
1回の取引の損益が小さめのEAは0.1Pipsの滑りの積み重ねが大きな損失になります。速いVPSはより滑りを少なくするでしょう
わたしもいまBEEKS社のVPSを三つほど使用しているのですが、
ご厚意によりお安く提供できるようになりました。
ブロンズ3,300円/月 シルバー 5,600円/月 ゴールド 9,100円/月
コロケーション TY3,NY4,LD4
OS WINDOWS2012
メールを頂ければ手配します(不在時はごめんなさい)
支払いはPAYPALの定期払いになります。
hayashi@amser.co.jp
メールには下記内容を記載してください。
①氏名(ローマ字)
②メール
③プラン ブロンズ or シルバー or ゴールド
④コロケーション TY3 or NY4 or LD4
※技術的サポートはBEEKS社です。
●WINDOWS2008が売り切れたようです。
MSのアップデートも終了したので終了といった意味合いもあるようです。
軽かったので残念です。
●より高いものを売りたいのは人の心情ですがこっそり秘密の情報です。
海外BEEKSサイトには推奨EA数の記載があります。
EAの重さにもよるのであくまでも推奨ですが・・・
ブロンズ 2-4個 シルバー4-5個 ゴールド 6-8個
4個以下の時 ブロンズ 3,300円
5個の時 シルバー 5,600円
6-8個 ゴールド 9,100円
4個から5個に一つ増えると2,300円アップ
もう1,000円追加してブロンズx2でもいいかもしれませんね
6-8個の時はゴールド9,100円より ブロンズx2 6,600円がリーズナブルです。
スペックを比較するといろいろと議論は出てきそうですが参考になればと思います。
つきましてはBEEKSの割引を一時終了します。
2019/11/12
VPS選択は非常に大切です。
環境一つでまったく損益が変わってくるからですね。
こんな場合は特に慎重に選ぶ必要があります。
CASE1 非常に多くの人が使っているEAを使う時
注文が集中します。板足らずになり、
プライスが滑りはじめやがてオフクオート(注文拒否)が出ます。
まさに、早い者勝ちとなりますのでより速いVPSが有利です。
CASE2 高速EA 一取引の損益が小さいEAを使用する時
1回の取引の損益が小さめのEAは0.1Pipsの滑りの積み重ねが大きな損失になります。速いVPSはより滑りを少なくするでしょう
わたしもいまBEEKS社のVPSを三つほど使用しているのですが、
スペックを比較するといろいろと議論は出てきそうですが参考になればと思います。
2018年5月30日水曜日
VPSにつながらない(要求された関数はサポートされていません、CredSSP暗号化、オラクル)
最近のWINDOWSは気が付かないうちにアップデートされていることがよくあります。
私のWINDOWS10も最近アップデートされたようです。
バージョンは 1709 OSビルドは16299.431
バージョンなどは菱形が四つ並んだWindowsボタンをくりっく、歯車の設定、バージョン情報で確認できます。
さて今回のアップデート後にVPSにつながらないといった事象があちこちで起こっているようです。
正確にはVPSは正常動作しているがLOGINできないといった事です。
ログインしようとするとこの様なエラーが出ます。
少なくとも数社のVPS事業者でこのエラーが出ると報告を受けました。
ただ、おなじ会社のVPSでもエラーが出るVPSと出ないVPSがあります。
調査してみると、Mクロソフト社がやらかしたようです。
CredSSPの脆弱性の更新があり、暗号化が変わりました。
クライアントとVPSの一方のみアップデートされているとこのエラーが表示されます。
古い暗号方式と新しい暗号方式では理解しあえないのでしょうか
つながらなくなった時はVPS会社に連絡をしてサーバーのWINDOWSをアップしてもらいましょう
レジストリーはいじっちゃだめですよ^^
私のWINDOWS10も最近アップデートされたようです。
バージョンは 1709 OSビルドは16299.431
バージョンなどは菱形が四つ並んだWindowsボタンをくりっく、歯車の設定、バージョン情報で確認できます。
さて今回のアップデート後にVPSにつながらないといった事象があちこちで起こっているようです。
正確にはVPSは正常動作しているがLOGINできないといった事です。
ログインしようとするとこの様なエラーが出ます。
少なくとも数社のVPS事業者でこのエラーが出ると報告を受けました。
ただ、おなじ会社のVPSでもエラーが出るVPSと出ないVPSがあります。
調査してみると、Mクロソフト社がやらかしたようです。
CredSSPの脆弱性の更新があり、暗号化が変わりました。
クライアントとVPSの一方のみアップデートされているとこのエラーが表示されます。
古い暗号方式と新しい暗号方式では理解しあえないのでしょうか
つながらなくなった時はVPS会社に連絡をしてサーバーのWINDOWSをアップしてもらいましょう
レジストリーはいじっちゃだめですよ^^
BEEKSのRDP Managerが便利!
本日、BEEKS社の代表と少しチャットをしました。
いつもお願い事ばかりで申し訳ないのですが今日も素敵な対応を、ありがたや♪
BEEKS社のVPSを3個ほど借りています。
VPSの起動にはRDPファイルを作成しwクリックでログインをしていたのですが、
アイコンがいくつもデスクトップを占領するのはなかなか厄介です。
そんなカユイところに手の届くツールを教えていただきました。
RDP Manegerです!
https://www.support.beeksfinancialcloud.jp/rdp-manager
何かというと複数のVPS/RDPを一つで管理するツールです。
画面はシンプル
VPSの名前を付けて IP PORT ユーザー名 PWを入れて登録を押します。
右に名前が表示されます。
右の名前をwクリックすれば接続されます。
一度登録すればあとは面倒な入力の必要がありません。
これは便利ですね~♪
いつもお願い事ばかりで申し訳ないのですが今日も素敵な対応を、ありがたや♪
BEEKS社のVPSを3個ほど借りています。
VPSの起動にはRDPファイルを作成しwクリックでログインをしていたのですが、
アイコンがいくつもデスクトップを占領するのはなかなか厄介です。
そんなカユイところに手の届くツールを教えていただきました。
RDP Manegerです!
https://www.support.beeksfinancialcloud.jp/rdp-manager
何かというと複数のVPS/RDPを一つで管理するツールです。
画面はシンプル
VPSの名前を付けて IP PORT ユーザー名 PWを入れて登録を押します。
右に名前が表示されます。
右の名前をwクリックすれば接続されます。
一度登録すればあとは面倒な入力の必要がありません。
これは便利ですね~♪
2018年5月24日木曜日
SWAPその後
イメージ通りではなかなかうまくいきません。
出来たのはこんな感じです。
input int Magic=316;
sinput string Comments="Swap-4Pair";
//0:NZDJPY 1:EURCADs 2:USDCHF 3:GBPAUDs;
string Pair[4]={"NZDJPY.oj5k","EURCAD.oj5k","USDCHF.oj5k","GBPAUD.oj5k"};
int d,i,cPos[4];
double Price[4];
void OnTick()
{
Price[0]=MarketInfo(Pair[0],MODE_ASK);
Price[1]=MarketInfo(Pair[1],MODE_BID);
Price[2]=MarketInfo(Pair[2],MODE_ASK);
Price[3]=MarketInfo(Pair[3],MODE_BID);
for(i=0;i<4;i++){cPos[i]=0;}
for(i=OrdersTotal()-1;i>=0;i--)
{
d=OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic)
{
string OS=OrderSymbol();
if(OS==Pair[0]){cPos[0]++;}
if(OS==Pair[1]){cPos[1]++;}
if(OS==Pair[2]){cPos[2]++;}
if(OS==Pair[3]){cPos[3]++;}
}
}
if(!cPos[0]&&MarketInfo(Pair[0],MODE_SPREAD)<13)d=OrderSend(Pair[0],OP_BUY,0.1,Price[0],5,0,Price[0]*1.01,Comments,Magic);
if(!cPos[1]&&MarketInfo(Pair[1],MODE_SPREAD)<19)d=OrderSend(Pair[1],OP_SELL,0.1,Price[1],5,0,Price[1]*0.99,Comments,Magic);
if(!cPos[2]&&MarketInfo(Pair[2],MODE_SPREAD)<12)d=OrderSend(Pair[2],OP_BUY ,0.1,Price[2],5,0,Price[2]*1.01,Comments,Magic);
if(!cPos[3]&&MarketInfo(Pair[3],MODE_SPREAD)<23)d=OrderSend(Pair[3],OP_SELL,0.1,Price[3],5,0,Price[3]*0.99,Comments,Magic);
}
10年ほど4通貨でバックテストをし合成したのがこちら
初期証拠金1,000,000円
一定額の利益が出れば利確&再オーダー
最大ポジションは各ペア1個x4です。
10年で金利が変わらなければ367%の利益です。
こつこつとスワップは取れるのですが何年かすると利確&再オーダーはストップします。
NYクローズ直前のオーダーやインジケータを使用してもよかったかもしれません。
取りあえずまわしてみようかな♪
出来たのはこんな感じです。
input int Magic=316;
sinput string Comments="Swap-4Pair";
//0:NZDJPY 1:EURCADs 2:USDCHF 3:GBPAUDs;
string Pair[4]={"NZDJPY.oj5k","EURCAD.oj5k","USDCHF.oj5k","GBPAUD.oj5k"};
int d,i,cPos[4];
double Price[4];
void OnTick()
{
Price[0]=MarketInfo(Pair[0],MODE_ASK);
Price[1]=MarketInfo(Pair[1],MODE_BID);
Price[2]=MarketInfo(Pair[2],MODE_ASK);
Price[3]=MarketInfo(Pair[3],MODE_BID);
for(i=0;i<4;i++){cPos[i]=0;}
for(i=OrdersTotal()-1;i>=0;i--)
{
d=OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic)
{
string OS=OrderSymbol();
if(OS==Pair[0]){cPos[0]++;}
if(OS==Pair[1]){cPos[1]++;}
if(OS==Pair[2]){cPos[2]++;}
if(OS==Pair[3]){cPos[3]++;}
}
}
if(!cPos[0]&&MarketInfo(Pair[0],MODE_SPREAD)<13)d=OrderSend(Pair[0],OP_BUY,0.1,Price[0],5,0,Price[0]*1.01,Comments,Magic);
if(!cPos[1]&&MarketInfo(Pair[1],MODE_SPREAD)<19)d=OrderSend(Pair[1],OP_SELL,0.1,Price[1],5,0,Price[1]*0.99,Comments,Magic);
if(!cPos[2]&&MarketInfo(Pair[2],MODE_SPREAD)<12)d=OrderSend(Pair[2],OP_BUY ,0.1,Price[2],5,0,Price[2]*1.01,Comments,Magic);
if(!cPos[3]&&MarketInfo(Pair[3],MODE_SPREAD)<23)d=OrderSend(Pair[3],OP_SELL,0.1,Price[3],5,0,Price[3]*0.99,Comments,Magic);
}
10年ほど4通貨でバックテストをし合成したのがこちら
初期証拠金1,000,000円
一定額の利益が出れば利確&再オーダー
最大ポジションは各ペア1個x4です。
10年で金利が変わらなければ367%の利益です。
こつこつとスワップは取れるのですが何年かすると利確&再オーダーはストップします。
NYクローズ直前のオーダーやインジケータを使用してもよかったかもしれません。
取りあえずまわしてみようかな♪
iMAonArray()関数って・・・
iMAonArray()関数は配列を平均化するのに使用します。
例えば自分でインジケーターを作成した時になめらかさが欲しい時にはこの関数で平均化して滑らかにします。
T3(三回使っています)やHMAなどを求めるのには大変便利な関数です。
今日は開発中に全角で入力してしましました。
全角カタカナではこんな感じです。
i ma o na rra y
していません・・・
さて、つまらないネタで失礼しました。
前回のスワップの自動発注ものを作りました。
input int Magic=316;
sinput string Comments="Swap-4Pair";
sinput string NZDJPY="NZDJPY.oj5k";
sinput string EURCAD="EURCAD.oj5k";
sinput string USDCHF="USDCHF.oj5k";
sinput string GBPAUD="GBPAUD.oj5k";
int d,j,OldMonth,i,cPos[4];//0:NZDJPY 1:EURCADs 2:USDCHF 3:GBPAUDs;
datetime OldTime;
bool Flag;
void OnTick()
{
double NJ=MarketInfo(NZDJPY,MODE_ASK);
double EC=MarketInfo(EURCAD,MODE_BID);
double UC=MarketInfo(USDCHF,MODE_ASK);
double GA=MarketInfo(GBPAUD,MODE_BID);
//Mon Chk
if(Month() != OldMonth)
{
OldMonth = Month();
Flag = true;
}
else
Flag = false;
//Mon Ord
if(Flag)
{
if(MarketInfo(NZDJPY,MODE_SPREAD)<=12)
d=OrderSend(NZDJPY,OP_BUY,0.1,NJ,5,0,NJ+1,Comments,Magic);
if(MarketInfo(EURCAD,MODE_SPREAD)<=18)
d=OrderSend(EURCAD,OP_SELL,0.1,EC,5,0,EC-0.01,Comments,Magic);
if(MarketInfo(USDCHF,MODE_SPREAD)<=11)
d=OrderSend(USDCHF,OP_BUY ,0.1,UC,5,0,UC+0.01,Comments,Magic);
if(MarketInfo(GBPAUD,MODE_SPREAD)<=22)
d=OrderSend(GBPAUD,OP_SELL,0.1,GA,5,0,GA-0.01,Comments,Magic);
Flag = false;
}
//Pos Chk
for(i=0;i<4;i++)cPos[i]=0;
for(i=OrdersTotal()-1;i>=0;i--)
{
d=OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic)
{
if(OrderSymbol()==NZDJPY)cPos[0]++;
if(OrderSymbol()==EURCAD)cPos[1]++;
if(OrderSymbol()==USDCHF)cPos[2]++;
if(OrderSymbol()==GBPAUD)cPos[3]++;
}
}
//!Pos Ord
if(!cPos[0])d=OrderSend(NZDJPY,OP_BUY,0.1,NJ,5,0,NJ+1,Comments,Magic);
if(!cPos[1])d=OrderSend(EURCAD,OP_SELL,0.1,EC,5,0,EC+0.01,Comments,Magic);
if(!cPos[2])d=OrderSend(USDCHF,OP_BUY ,0.1,UC,5,0,UC+0.01,Comments,Magic);
if(!cPos[3])d=OrderSend(GBPAUD,OP_SELL,0.1,GA,5,0,GA+0.01,Comments,Magic);
}
成績はまた次回~
例えば自分でインジケーターを作成した時になめらかさが欲しい時にはこの関数で平均化して滑らかにします。
T3(三回使っています)やHMAなどを求めるのには大変便利な関数です。
今日は開発中に全角で入力してしましました。
全角カタカナではこんな感じです。
i ma o na rra y
していません・・・
さて、つまらないネタで失礼しました。
前回のスワップの自動発注ものを作りました。
input int Magic=316;
sinput string Comments="Swap-4Pair";
sinput string NZDJPY="NZDJPY.oj5k";
sinput string EURCAD="EURCAD.oj5k";
sinput string USDCHF="USDCHF.oj5k";
sinput string GBPAUD="GBPAUD.oj5k";
int d,j,OldMonth,i,cPos[4];//0:NZDJPY 1:EURCADs 2:USDCHF 3:GBPAUDs;
datetime OldTime;
bool Flag;
void OnTick()
{
double NJ=MarketInfo(NZDJPY,MODE_ASK);
double EC=MarketInfo(EURCAD,MODE_BID);
double UC=MarketInfo(USDCHF,MODE_ASK);
double GA=MarketInfo(GBPAUD,MODE_BID);
//Mon Chk
if(Month() != OldMonth)
{
OldMonth = Month();
Flag = true;
}
else
Flag = false;
//Mon Ord
if(Flag)
{
if(MarketInfo(NZDJPY,MODE_SPREAD)<=12)
d=OrderSend(NZDJPY,OP_BUY,0.1,NJ,5,0,NJ+1,Comments,Magic);
if(MarketInfo(EURCAD,MODE_SPREAD)<=18)
d=OrderSend(EURCAD,OP_SELL,0.1,EC,5,0,EC-0.01,Comments,Magic);
if(MarketInfo(USDCHF,MODE_SPREAD)<=11)
d=OrderSend(USDCHF,OP_BUY ,0.1,UC,5,0,UC+0.01,Comments,Magic);
if(MarketInfo(GBPAUD,MODE_SPREAD)<=22)
d=OrderSend(GBPAUD,OP_SELL,0.1,GA,5,0,GA-0.01,Comments,Magic);
Flag = false;
}
//Pos Chk
for(i=0;i<4;i++)cPos[i]=0;
for(i=OrdersTotal()-1;i>=0;i--)
{
d=OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber()==Magic)
{
if(OrderSymbol()==NZDJPY)cPos[0]++;
if(OrderSymbol()==EURCAD)cPos[1]++;
if(OrderSymbol()==USDCHF)cPos[2]++;
if(OrderSymbol()==GBPAUD)cPos[3]++;
}
}
//!Pos Ord
if(!cPos[0])d=OrderSend(NZDJPY,OP_BUY,0.1,NJ,5,0,NJ+1,Comments,Magic);
if(!cPos[1])d=OrderSend(EURCAD,OP_SELL,0.1,EC,5,0,EC+0.01,Comments,Magic);
if(!cPos[2])d=OrderSend(USDCHF,OP_BUY ,0.1,UC,5,0,UC+0.01,Comments,Magic);
if(!cPos[3])d=OrderSend(GBPAUD,OP_SELL,0.1,GA,5,0,GA+0.01,Comments,Magic);
}
成績はまた次回~
余剰必要証拠金のスワップ
現在日本国内のFXのレバレッジは個人25倍 法人約50倍(変動)です。
Vシステム(フルレバ?)が好きな私ですが、最近はかなりの余剰が残っています。
基本的に物価が上がっていく以上フィアット(法定通貨)の価値は下がっていきます。
今100万円で買えるものは、10年後に100万円では買えないという事です。
そこで余剰証拠金でスワップをのんびり稼ぎたいと思います。
そんな時に素敵なサイトを見つけました。
OANDAさんです。https://www.oanda.jp/lab-education/simulator/
スワップの自動計算器です。
例えばUSD/JPYの100万円、25倍、1年を選択し「計算を開始する」をクリックしますね。
色々と情報が出てきます。
取引数量 227,000
1日のスワップ 1,407円
一年後時点 513,701円
今回は10,000通貨ペアの毎月購入を考えてみます。
取引数量227,000 ÷ 10,000 = 22.7
1日のスワップ 1,407 ÷ 22.7 = 61.98
一年後時点 513,701 ÷ 22.7 = 22,630
1万通貨ペアに必要な証拠金は 109.6 × 10,000ペア ÷ 25(レバ)= 43,840円
証拠金は125円まで上がれば50,000円になります。
また、10,000USDJPYは10円下がると10万円下がります。
10万円 + 5万円 = 15万円 がスタート金額です。
また折角ですので1円上がったら利確・リオーダーします。
毎月一回コツコツと購入する事にします。
また、このシステムはなぜかショートの計算が出来ません。
ショートはMT4から買いスワップ、売りスワップを計算して算出します。
高金利通貨 AUD,NZD、CAD,USD
低金利もしくはマイナスのJPY,EUR,CHF,GBPこの組み合わせをします。
この中から4つのペアを組み合わせます。
通貨ペアの年間スワップです。
空欄はOANDA TY3で取り扱いの無いペア
NZDはJPYしかありませんのでNZDJPYは決定です。
CADはEURとJPYのぺアがありますがJPYは使いましたのでEURCADショートです。
残りは二通り組み合わせがありますが合計スワップはUSDCHF、GBPAUDショートの組み合わせが高いのでこの四ペアにします。
同じ通貨を重複させない事ですべてが同時に下がるといった確率を下げています。
NZDJPY 36,134
EURCADs84,878
USDCHF 77,656
GBPAUDs78,826
年間合計 277,494円 + 利確分
2005年から月足で過去データーを分析したところ
最大マイナスは2009年1月のー7.9%
翌月、翌々月とも+5%をだして回復しているので問題はなさそうです。
4通貨ペアすべてマイナス月は7回/160=4%
最終は2015年8月です。
つづく
※最近長文が多いのは人と話していないかもしれません。
だれか飲みにいきませんか~
Vシステム(フルレバ?)が好きな私ですが、最近はかなりの余剰が残っています。
基本的に物価が上がっていく以上フィアット(法定通貨)の価値は下がっていきます。
今100万円で買えるものは、10年後に100万円では買えないという事です。
そこで余剰証拠金でスワップをのんびり稼ぎたいと思います。
そんな時に素敵なサイトを見つけました。
OANDAさんです。https://www.oanda.jp/lab-education/simulator/
スワップの自動計算器です。
例えばUSD/JPYの100万円、25倍、1年を選択し「計算を開始する」をクリックしますね。
色々と情報が出てきます。
取引数量 227,000
1日のスワップ 1,407円
一年後時点 513,701円
今回は10,000通貨ペアの毎月購入を考えてみます。
取引数量227,000 ÷ 10,000 = 22.7
1日のスワップ 1,407 ÷ 22.7 = 61.98
一年後時点 513,701 ÷ 22.7 = 22,630
1万通貨ペアに必要な証拠金は 109.6 × 10,000ペア ÷ 25(レバ)= 43,840円
証拠金は125円まで上がれば50,000円になります。
また、10,000USDJPYは10円下がると10万円下がります。
10万円 + 5万円 = 15万円 がスタート金額です。
また折角ですので1円上がったら利確・リオーダーします。
毎月一回コツコツと購入する事にします。
また、このシステムはなぜかショートの計算が出来ません。
ショートはMT4から買いスワップ、売りスワップを計算して算出します。
高金利通貨 AUD,NZD、CAD,USD
低金利もしくはマイナスのJPY,EUR,CHF,GBPこの組み合わせをします。
この中から4つのペアを組み合わせます。
通貨ペアの年間スワップです。
空欄はOANDA TY3で取り扱いの無いペア
NZDはJPYしかありませんのでNZDJPYは決定です。
CADはEURとJPYのぺアがありますがJPYは使いましたのでEURCADショートです。
残りは二通り組み合わせがありますが合計スワップはUSDCHF、GBPAUDショートの組み合わせが高いのでこの四ペアにします。
同じ通貨を重複させない事ですべてが同時に下がるといった確率を下げています。
NZDJPY 36,134
EURCADs84,878
USDCHF 77,656
GBPAUDs78,826
年間合計 277,494円 + 利確分
2005年から月足で過去データーを分析したところ
最大マイナスは2009年1月のー7.9%
翌月、翌々月とも+5%をだして回復しているので問題はなさそうです。
4通貨ペアすべてマイナス月は7回/160=4%
最終は2015年8月です。
つづく
※最近長文が多いのは人と話していないかもしれません。
だれか飲みにいきませんか~
登録:
投稿 (Atom)













