2017年12月17日日曜日

EA Ver Meer

さーて二カ月ぶりのブログ更新です。

EA Ver Meer
いや読み方が違うと思った方は博識ですね。

さて今日はシンプルで稼げるEAを開発時間15分w

①RSIは30以下もしくは70以上で反転した時が効果的です。
②標準偏差が高い時こそトレイリングの出番です!

int R;
void OnTick(){if(OrdersTotal()){R = OrderSelect(0,0);
if(OrderStopLoss()<Ask-0.02){R=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-0.02,0,0);}}
else{if(iStdDev("",5,10,0,MODE_EMA,0,1)<iStdDev("",5,10,0,MODE_EMA,0,0)&&iRSI("",1,14,0,0)<30&&iRSI("",1,14,0,1)<iRSI("",1,14,0,0))
{R = OrderSend("",OP_BUY,0.1,Ask,5,Ask-0.02,0);}}}

さーて結果はいかがでしょうか


チャンピオンデーターです。

相場の勢いがなくなるとだめですね。

標準偏差の上がり判定にもう少し差をつけるとよさそうです。

2017年10月14日土曜日

幻のEA SUNNY2

ある日、京都は三条大橋の上でそれは起こった。
空を見上げると月の10倍ほどの火球が飛んできた。
あるものは胸から携帯を取り出し、またあるものは黄色い歓声をあげていた。
2016年の夏の思い出である。

なぜか、その話は一切聞かれなくなった。
夢であったのだろうか。
しかし、その時に思いついたEAがある。
だから本当にあったことなんだろう

さて、星は不幸を呼ぶと言われる。
このEAもそんな不幸なEAだ。

名前はSUNNY 10万円で販売を予定していた。
しかし、色々な不幸があり販売できなかった。


あの夏の火球の様にだれもが忘れていたが
私の胸の中でコンセプトは生き続けた。

SUNNY2

期間3カ月 10万円 → 591万円









AMSER 2 ちょいと実験中

就職をしてからかなりバタバタしていましたが、
本日は久々に時間がありました。
ホントは撮影があったので出社しようと思っていたのですが・・・

AMSERの基本ロジックを活用して
今の相場に合わせチューンしています。

すこし、おとなしい感じになりましたがこんな感じです。




行ラベル 合計 / Profit
2015.01 9,828
2015.02 1,271
2015.03 -14,210
2015.04 37,902
2015.05 31,641
2015.06 32,471
2015.07 39,760
2015.08 49,275
2015.09 10,374
2015.10 1,862
2015.11 -14,719
2015.12 49,010
総計 234465
行ラベル 合計 / profit
2016.01 18,531
2016.02 41,367
2016.03 20,190
2016.04 40,264
2016.05 59,680
2016.06 136,990
2016.07 75,173
2016.08 109,098
2016.09 -166,685
2016.10 -32,371
2016.11 201,742
2016.12 40,034
総計 544013
行ラベル 合計 / Profit
2017.01 -15,259
2017.02 27,261
2017.03 9,047
2017.04 17,007
2017.05 -23,969
2017.06 109,426
2017.07 705
2017.08 31,666
2017.10 46,340
総計 202224

いろいろなEAを見ていると年間マイナス月が3カ月のものは優秀です。
売れるEAは4カ月以内のものがほとんどです。

この子はいい感じですね。


2年と10カ月で10万⇒579万

う~ん・・・

ソースコードは・・・ 事件になるので非公開でごめんなさい。

因みに現在の私の技術でチューンすると更に高速化が出来ました。
わたしもしんかしているようですね(^^♪

OANDA LAB 記事掲載終了!

最近月一ブログになっておりましたが実は!

OANDA LABに記事を掲載しておりました。

全100話+アルファです!!!

https://www.oanda.jp/lab-education/fx_on/

秘密の裏技や、これOANDAさんに載せてもいいの?的なものまでいろいろとあります。
是非ご覧ください。

さーてその記事もいよいよ終了です。
テニヲハをなおしてくれたI様ありがとうございました!!

という事で、ブログと開発に専念したいと思います!!


65-%e3%83%81%e3%83%a3%e3%83%bc%e3%83%88%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88




 

2017年10月1日日曜日

OANDAアービトラージチェッカーTY3

さーてー最近はOANDA社でいろいろとさせていただいております。
ブログがおろそかになっていますが、実はこんな記事を書いていたりします。

https://www.oanda.jp/lab-education/fx_on/%E4%B8%8A%E7%B4%9A%E8%80%85/3717/#senior

OANDA アービトラージチェッカー

OANDA TY3では5K,1M,3Mと三つの通貨ペアがあります。

通貨ペア表記では以下の三種類です。
USDJPY.oj5k
USDJPY.oj1m
USDJPY.oj3m
この三つの価格が別々に動きますので、
価格に差が出ます。

ここからは知恵の絞りどころです!
この価格差 たまにBid Ask逆転がありますが
逆転せずにこの差を取るには・・・

そう、皆様ピンときた方もいらっしゃるかもしれませんね!!

ムフフです。

2017年9月10日日曜日

OANDA社の動画にのりました!【アウトカミング!】

さーて ブログをおさぼり中です。
ごめんなさい(^^♪

今日はカミングアウトです!!
OANDA社のホームページです

https://www.oanda.jp/

ここのトップページに動画があります。
五つの動画を●●●●●で選べるのですが、
こちらの動画で話しているのはなんと私です!!


カジノ流ロット管理を紹介していますので見て下さいね♪

感想などお待ちしています♪

2017年8月20日日曜日

OnTick()の怪

ブログの更新が全くできていません。
EAの開発も・・・
メッセージの返信できていませんでしたごめんなさい。

さて、いまEAの構想が2個ほどあります。
人生一度キリ型EA AMSER2(仮称)と死ぬまでこつこつMOPIFD(仮称)です。

いろいろと試験をしている中での発見です。
バックテストとフォワードテストはなぜずれるか、フォワードテストでも環境によってなぜ違いが出るかです。

おおきな原因の一つに気が付きました。
昔はバックテストは人工ティックだから現実と違うのが原因と考えていましたが、
フォワードテストとバックテストのティック回数はかなり似ています。
もちろん、ティックすべての相関性までは見ていませんが1分足の中で始値、高値、安値、終値のなかでの動作ですので回数のインパクトはあります。

OnTick()はティックが動くたびに動作します。
しかし、OnTick()が動いている間に次のティック動作があった時に重複動作しません。

つまり、OnTick()の内部処理を高速化しないと次々とティックを失うという事です。
PC,VPSのスペックが低い場合、通信のに時間がかかる場合も同様にティックが失われます。

バックテストは100%ティックを失いません。

ここが一つ大きな差の原因なのですね。


2017年8月6日日曜日

あの夏を思い出せ!! AMSER-2(仮称) あの悪夢を再び 高利益EAは再起動できるか!!!

AMSER ほんの3カ月弱で100万円を380万円まで増やしたEAでした。

こんなEAでした。

コンセプト:世間のEAはロット管理が固定ロット、マーチンゲール、MM。
ロット管理こそカラムベットの神髄 残金をカラムにしたVシステムを開発!!

世間の評価:フルレバじゃん!!

コンセプト:全てのインジケーターや数学的指標を放棄し過去のデーターこそが未来を測る唯一のメジャーとして使用できる。また戦略ごとの相関性こそが勝率の秘訣。
時間的概念をぶち壊し、12進数的発想を10(5進数)にする事こそ真実が見える!

世間の評価:あんだ?こいつは何を言っているのだ?

コンセプト:短期間での利益は京都を代表するEAとして政界最高

ギネスレコード:対象外です

コンセプト:取引数が多く金額が大きいことがブローカーの利益につながる

ブローカー:インターバンクの板が足りません。


さて、某社(今は仲良くしています)のBコースのMT4が使えなくなってしまったのも私の責任と2chなどではあちこちで書かれています(汗)

あのEAは完璧でした。唯一問題があるとすればブローカーの板をインターバンクの板を食い尽くしたことです。

さて、そんな中 某ブローカーから白羽の矢が立ちました。
うちで試してみませんか!!

ブローカー公認であればいけるかもw
そのブローカー専用にして、ブロカーにはオフクオート禁止の約束を頂ければ(^^♪

むふふ!(^^)!

ということで、AMSER-2(仮称)開発中ですw。

内緒ですよw









2017年7月30日日曜日

EXCEL RTD!!凄すぎ!!

気が付けばほぼ一か月ぶりの更新です。

サラリーマンはなかなか多忙です。
さて、OANDA社のEXCEL RTDがいまホットです。

なんらかの条件をクリアするとOANDAベーシックパックがもらえます。
https://www.oanda.jp/lab-education/oanda_lab/mt4_indicator/ty3mt4basic/#all

これについてくるEXCEL RTDというEAですが凄すぎます。

EXCELのA1に下記を入れます。
=RTD("FXBlueLabs.ExcelRTD", , "884884", "bidGBPUSD")

884884は口座番号です。
TY3口座でのみ動きます。


すると約1秒更新でGBPUSDのbidを自動更新で表示してくれます。
EXCELでは多くの関数がある点と、グラフが簡単に書くことが出来ます。
これはなかなかあついですね。


価格の強弱を作成してみました。


2017年7月2日日曜日

平均エントリー平均化システム

平均を使用したオシレーターです。
最近レポートを書いているのですが
レポートネタに作成したEAですが、没ネタにしました・・・
平均をあえてオシレーターとして使用しています。
さーて、どうでしょうか


#property strict
sinput int MAGIC = 884;
input double Lots = 0.1;
extern int ShortMAPeriod = 45;//短期平均の期間
extern int LongMAPeriod = 380;//長期平均の期間
extern double Gap = 0;
datetime OldTime;
int i,RV;
double HighestPrice,LowestPrice,ShortMA,LongMA;
void OnTick(){
if(Time[0] != OldTime){
OldTime = Time[0];
ShortMA = iMA(Symbol(),PERIOD_CURRENT,ShortMAPeriod,0,MODE_SMA,PRICE_CLOSE,0);
LongMA  = iMA(Symbol(),PERIOD_CURRENT, LongMAPeriod,0,MODE_SMA,PRICE_CLOSE,0);
HighCheck();
LowCheck();
CloseAll();
}
}
void HighCheck(){
HighestPrice = 0;
for(i = OrdersTotal() - 1;i >= 0;i--){
RV = OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber() == MAGIC){
if(HighestPrice < OrderOpenPrice()){
HighestPrice = OrderOpenPrice();
}
}
}
if(HighestPrice < Close[0] - Gap && ShortMA > LongMA){RV=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,0,0,NULL,MAGIC);}
}
void LowCheck(){
LowestPrice = Close[0] *3;
for(i = OrdersTotal() - 1;i >= 0;i--){
RV = OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber() == MAGIC){
if(LowestPrice > OrderOpenPrice()){
LowestPrice = OrderOpenPrice();
}
}
}
if(LowestPrice > Close[0] + Gap && ShortMA < LongMA){RV=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,NULL,MAGIC);}
}
void CloseAll(){
for(i=OrdersTotal() - 1;i >= 0;i--){
RV=OrderSelect(i,SELECT_BY_POS);
if(OrderMagicNumber() == MAGIC){
if(OrderType() && ShortMA < LongMA ){RV=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5);}
if(!OrderType()&& ShortMA > LongMA){RV=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5);}
}
}
}

ガラケートレーダーさん生放送に完敗です!!

ガラケートレーダーさんの生放送と自作EA GALA 対決させました!

①生放送はトレードしたPCのスペックが低くうまくいかなかったようです。

②EA GALAさんは2万円の損失を出し終了
上る予想のところで下がり下がる予想のところは最後に上がりました。

完敗ですが勉強になりました。

AMSERを作成した時には7つの戦略の各時間の相関性、逆相関を重視したのですが、
今回のGALAは基準とする時間、参考とする流れを考えていませんでした。

そしてガラケートレーダーさんのロジックはさらに深かったのも勉強になりました。

ガラケートレーダーさんはPCのスペックが低かったにもかかわらず、後半で取り戻されたようです。

さすがにすごい人ですね!!

わたしレベルの人間の作るEAは人間に勝てないのでしょうか。

次回は再来週?にもう一度生放送があるようですので、そこまでにGALA2を完成させます!

できるかなw

2017年6月30日金曜日

ガラケートレーダーさん GALAmser

先日ガラケートレーダーさんとお話をしました。

驚いたのがガラケートレーダーさんが10年間以上稼いでいる手法とAMSERの7つの戦略の一つが同じことをしていたのです。
ガラケートレーダーさんは理論と経験からあみ出したようですが、私はなんの理屈もなしに過去データで作成したので結果が同じという事に大変驚きました。

さてそんなガラケートレーダーさんの生トレード配信があるようです。

http://fxfxfx531.blog.fc2.com/blog-entry-706.html

こ、これは!!

そして今日は有給休暇を頂いております!!

という事でガラケートレーダさんの理論とAMSERの技術を掛け合わせた
EA GALAmser 9:20-10:00で生放送とこっそり勝負してみます。

ソースコードは・・・
ガラケートレーダーさんの許可が出れば公開します。
恐らくダメかな・・・

EAは100回やって平均化すると利益が出るものですので一回きりの勝負で勝てるでしょうか

さーて勝負開始まであと3時間
徹夜で作ったので眠いです!





2017年6月20日火曜日

某O社でセミナーをしてきました。

さてブログをサボりがちで恐縮なのですが某O社でセミナー講師をしてきました。

内容はなんとFX!!

FXシストレにギャンブル的ロット管理手法を導入する話です。

もしかすると近々どこかにアップされるかもしれません。

探してみてください!


2017年6月5日月曜日

白熊さんに会いました!!

だいぶ前の記事↓

http://fx-on.com/news/detail/?id=12152&c=1
いつかはあの青い豚さんや白い熊さんのような有名な制作者になりたいと夢見ています。

青い豚さんは年末にニヤミスで会えなかったのですが、
先日 白い熊さんにお会いしました!!

感動です!!

そして、いろいろ教えていただいたのですが、

開発の根本にあるのは <  のようです!

短長除外の法則?でしょうか

ほんとに勉強になりました。

そして私の前前々職と・・・・

人には見えないつながりがあるのかもしれませんね!!


2017年6月1日木曜日

どんちゃん ブレイクする!

どんちゃんと聞いてぴーんと来た人もいらっしゃるかもしれません。

そうDONCHIAN CHANNEL ブレークスルーです。



//+------------------------------------------------------------------+
//|                                                     Donchian.mq4 |
//|                                                             TACA |
//+------------------------------------------------------------------+
#property strict
extern int Magic = 1;
extern double Lot = 0.1;
extern int Count=20;
extern ENUM_TIMEFRAMES TF=1;
int RV;
void OnTick()
  {
  double DonHigh = 0;
  double DonLow  = iHigh(Symbol(),TF,0)*2;
    for(int i=Count;i>=1;i--)
      {
      if (DonHigh < iClose(Symbol(),TF,i)){DonHigh = iClose(Symbol(),TF,i);}
      if (DonLow  > iClose(Symbol(),TF,i)){DonLow  = iClose(Symbol(),TF,i);}
      }
    if(!OrdersTotal())
      {
      if (DonHigh < Close[0]){RV=OrderSend(Symbol(),OP_BUY ,Lot,Ask,5,0,0,"DonChian",Magic);}
      if (DonLow  > Close[0]){RV=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,0,0,"Donchian",Magic);}
      }
    else
      {
      RV=OrderSelect(0,SELECT_BY_POS);
      if (DonHigh < Close[0] && OrderType() == OP_SELL ){RV=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);}
      if (DonLow  > Close[0] && OrderType() == OP_BUY  ){RV=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3);}      
      }
  }

2017年5月28日日曜日

ObjectGetter!

ある組織からの依頼でiCustomを使用してインジケータを解析しています。
私がMQL4を覚えたテキストは島崎トーソン先生の「iCustom~」です。
これも何かの縁と思いがりがりとやっています。
内容はもちろん機密レベルEyes Onlyですのでお話しできませんが、iCustomで取れないインジケータが結構あります。

右クリック⇒表示中のラインでオブジェクトを確認しても一切表示されません。
ソースコードも非公開

扉を開けてくれないのであればこじ開けるしかありません( ̄ー ̄)ニヤリ


//ObjectGetter Written by TACA
int OnInit(){
   EventSetTimer(1);
   return(INIT_SUCCEEDED);
}
//++++++++++++++++++++++++++
void OnTimer(){
  string Com = "";
  for(int i = ObjectsTotal()-1;i>=0;i--)
    {
    Com+=ObjectName(i)+" "+ObjectGet(ObjectName(i),1)+"\n";
    }
  Comment(Com);    
  }
//+++++++++++++++++++++++++
void OnDeinit(const int reason){
   EventKillTimer();
}

価格を取るのにこのようなコードを作りました。
ObjectGet(ObjectName(i),1)
ここの1を変更すると好きな物が取れます。
1はObjProp(オブジェクトのプロパティ)ですが、プロパティは下記を参照してください。

http://googolyenfx.blog18.fc2.com/blog-entry-161.html








2017年5月3日水曜日

T5 可変シャンデリアストップ

シャンデリアストップの幅をすこしずつ減らしてみます。

通常のトレーディングストップは頂点まで登り落ちたところで決済しますが、
少しずつ幅を狭めることで頂点をつかむ作戦です。


予想通り 成績は伸びました あああ!!飛行機が・・・

#property copyright  "CopyRight 2017/5/3,TACA"
#property version    "1.00"
#property strict
int d,i;
datetime OldTime;
string S;
extern int RSI1=67;
extern int RSI2=59;
extern double SL=0.4;
extern double lot=0.01;//ロット
extern int M=2;//MAGIC NUMBER
double SLM=SL;
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
if(OrdTtl()){CS();}
else
{
SLM=SL;
if(RSI(1) >     RSI1 && RSI(5) < RSI2){EntrySell();}
if(RSI(1) < 100-RSI1 && RSI(5) > 100-RSI2){EntryLong();}
}
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-SL,0,"T2",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+SL,0,"T2",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
int OrdTtl(){int OT=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==M){OT++;}}return(OT);}
void CS(){
if(!OrderType()&&OrderStopLoss()+SLM<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-SLM,0,0,0);SLM-=0.001;}
if( OrderType()&&OrderStopLoss()-SLM>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+SLM,0,0,0);SLM-=0.001;}
}

HND T5

HND T5というと修行僧の皆様には羽田空港ターミナル5と見えてしまうかもしれませんが、羽田空港で作成している EA T5

T2をすこしチューンナップしました。
この設定だといい感じですね。

最適化は201601-201612
最適な値を201501-201705(本日)でバックテストをしました。


#property copyright  "CopyRight 2017/5/3,TACA"
#property version    "1.00"
#property strict
int d,i;
datetime OldTime;
string S;
extern int RSI1=67;
extern int RSI2=59;
extern double SL=0.4;
extern double lot=0.01;//ロット
extern int M=2;//MAGIC NUMBER
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
if(OrdTtl()){CS();}
else
{
if(RSI(1) >     RSI1 && RSI(5) < RSI2){EntrySell();}
if(RSI(1) < 100-RSI1 && RSI(5) > 100-RSI2){EntryLong();}
}
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-SL,0,"T2",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+SL,0,"T2",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
int OrdTtl(){int OT=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==M){OT++;}}return(OT);}
void CS(){
if(!OrderType()&&OrderStopLoss()+SL<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-SL,0,0,0);}
if( OrderType()&&OrderStopLoss()-SL>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+SL,0,0,0);}
}

SBI 講演会 武者先生ご登壇

SBI証券主催の武者先生の講演会に参加しましたのでご報告を。

会場は東京駅横の鉄鋼ビルにある東京金融取引所

くりっく365株関連のお話でした!

驚いたのが225などの指標関係は毎月配当が出る事!

しかも配当確定日の三日前にエントリーしておけば一ヶ月の配当がもらえるとの事です!!

配当が出た後には価格は目減りするのですが、急激に下がった相場は反転します!

これはすごい!

クリック株365ノーマークでしたオセアニア南ア、トルコを超えますね。

毎月配当周りだけエントリーするのはありですね!!!

そして本題の武者先生のお話!

膨大なエビデンスをもとにお話しいただきました!


まとめると日本株は実際よりも価格が安いので借金してでも株を買えとの事でした。

私も株はど素人なのですが、やってみようかな

一宿一飯の礼 やるのであればSBI証券くりっく株365ですね!

http://fx-on.com/douga/gogojungletv/?id=182

動画はこちら


2017年4月30日日曜日

T3 ネーミングセンスがわるいかも・・・

FXを始めた時に誰もが考えることであろう
常に上下に相場は動いている。
その動きを細かく取ることは出来ないだろうか!
一切の指標を否定し、ただひたすら両建てを繰り返すことで
それを可能にすることができた。
EA THE T3を紹介しよう。

#property copyright  "CopyRight 2017/04/30,TACA"
#property version    "1.00"
#property strict
int d,i,OCL,OCS;
datetime OldTime;
string S;
extern double lot=0.1;//ロット
extern int M=3;//MAGIC NUMBER
extern double CSP=0.27;
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
CS();
OrderCheck();
if(!OCL)EntryLong();
if(!OCS)EntrySell();
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-CSP,0,"T3",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+CSP,0,"T3",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
void OrderCheck(){OCL=0;OCS=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);
if(OrderMagicNumber()==M){if(!OrderType()){OCL++;}else{OCS++;}}}}
void CS(){
if(!OrderType()&&OrderStopLoss()+0.3<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-CSP,0,0,0);}
if( OrderType()&&OrderStopLoss()-0.3>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+CSP,0,0,0);}
}

チャートを見ると一回で大きく勝っただけに見えるので、月別のプロフィットも参考までに作りました。どじゃ~!

行ラベル 合計 / Profit
2016 99,530
01 -8,780
02 1,890
03 -8,200
04 -11,480
05 21,280
06 94,080
07 3,340
08 5,030
09 -10,140
10 -3,480
11 12,230
12 3,760
総計 99,530

ごめんなさい! T2のソースコード抜けがありました!!

もうしわけございません!!
T2のソースコード間違えておりました。

お気づきの方もいらっしゃると思いますが、T2のソースコードに抜けがありました。
いやー最近MQL4書いていなかったから基礎的なところで間違えてしまいました。
ポジションを確認するところでOrderSelectするのを忘れています。

ただしくはこちらです。



#property copyright  "CopyRight 2017/04/30,TACA"
#property version    "1.00"
#property strict
int d,i;
datetime OldTime;
string S;
extern double lot=0.01;//ロット
extern int M=2;//MAGIC NUMBER
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
if(OrdTtl()){CS();}
else
{
if(RSI(1)>70&&RSI(5)<60){EntrySell();}
if(RSI(1)<30&&RSI(5)>40){EntryLong();}
}
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-0.3,0,"T2",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+0.3,0,"T2",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
int OrdTtl(){int OT=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==M){OT++;}}return(OT);}
void CS(){
if(!OrderType()&&OrderStopLoss()+0.3<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-0.3,0,0,0);}
if( OrderType()&&OrderStopLoss()-0.3>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+0.3,0,0,0);}
}



EA T2

母国アメリカではT2と言えば近未来ロボット戦争映画ですが、
第三の母国スコットランドではT2と言えばトレインスポッティング!

見てきましたT2!トレインスポッティングの意味をにおわせるシーンなどありましたが内容は・・・

しかしトレスポには敬意を払う必要があります!!(なぜ?)

そこでEA T2を作りました。
オシレーターと上足の !オシレーターをもちいてエントリーのトレーディングストップです。
似たようなのを何十回か作成しましたが、こいつはバランスがいいですね。
トレスポのような激しい展開を繰り返します。

#property copyright  "CopyRight 2017/04/30,TACA"
#property version    "1.00"
#property strict
int d,i;
datetime OldTime;
string S;
extern double lot=0.01;//ロット
extern int M=2;//MAGIC NUMBER
void OnInit(){S=Symbol();}
void OnTick()
{
if(Time[0]!=OldTime)
{
OldTime=Time[0];
if(OrdTtl()){CS();}
else
{
if(RSI(1)>70&&RSI(5)<60){EntrySell();}
if(RSI(1)<30&&RSI(5)>40){EntryLong();}
}
}
}
void EntryLong(){d=OrderSend(S,0,lot,Ask,0,Ask-0.3,0,"T2",M);d=OrderSelect(0,0);}
void EntrySell(){d=OrderSend(S,1,lot,Bid,0,Bid+0.3,0,"T2",M);d=OrderSelect(0,0);}
double RSI(int P){return(iRSI(S,P,14,0,0));}
int OrdTtl(){int OT=0;for(i=OrdersTotal()-1;i>=0;i--){if(OrderMagicNumber()==M){OT++;}}return(OT);}
void CS(){
if(!OrderType()&&OrderStopLoss()+0.3<Ask){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-0.3,0,0,0);}
if( OrderType()&&OrderStopLoss()-0.3>Bid){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+0.3,0,0,0);}
}



ちなみにOldTimeで足ごとの動きに制限していますが、ここを外してVシステムを載せると・・・・ 

2017年4月15日土曜日

OANDA TRY窓 驚愕の窓!!

今朝起きてみるとTRY(トルコリラ)が大暴落 げげげ28.4円代!!
土曜日ですので価格は動いていない時間帯です。


←OANDA NY4(PRO)
ASK 29.403
BID   29.247
Spread 0.156


OANDA TY3(1m)→
ASK   29.806
BID   28.444
Spread 1.362








強烈です!!!

週末のNYクローズ後とはいえ同じ会社のサーバー違いでこんなことになるのですね!
まさに窓!窓!窓!窓!
窓開きの瞬間です。

ちなみに瞬間はトルコ語で O ANDA です!











2017年4月14日金曜日

MACDBands バックテスト

さーて本日も持ち時間7分でのブログ更新&EA作成です(^^;)


イメージで作成しただけなのですがスプレッド10で取りあえずプラスw
ここからのチューンは
①TakeProfit StopLossとBand幅(%B)の最適化
②シャンデリアトレーリングの実装
③%シャンデリアトレーディングの実装です

お!遅刻する~><

2017年4月13日木曜日

MACD Bands 設定追加

会社まで徒歩5分のところに住んでいます。
8:45に出社するのですが現在8:40
ソースコードを書いている時ではありません!!
10分ほど時間があったのでPCをひらけてしまった・・・

MACD Bandsの設定項目を追加しました。
バンド幅が一定以上でMACD ゴールデン、デッドリークロスでエントリーです。
TakeProfit StopLoss BandLimt 通貨ペア 時間足をいじくって最適なところを見つけて下さい。

素敵な値がでましたら 教えて下さい^^
ぐは!8:44分!!

extern double BandLimit=0.5;
extern int MAGIC=1;
extern double TakeProfit=0.1;
extern double StopLoss=0.1;
extern string Comments="Taca Bands MACD";
extern color BuyColour=Red;
extern color SellColour=Blue;
datetime OT;
double Band,MA,MACD,MACDOld,Signal,SignalOld;
string Sym;
int d;
void OnInit(){Sym=Symbol();}
void OnTick()
{
if(Time[0]!=OT)
  {
  OT=Time[0];
  Band=iBands(Sym,PERIOD_CURRENT,20,1,0,PRICE_CLOSE,1,0);
  MA=iBands(Sym,PERIOD_CURRENT,20,1,0,PRICE_CLOSE,0,0);
  MACD=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,0,0);
  Signal=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,1,0);
  MACDOld=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,0,1);
  SignalOld=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,1,1);
  if(Band-MA>BandLimit&&MACDOld<SignalOld&&MACD>Signal){EntryLong();Print("buy");}
  if(Band-MA>BandLimit&&MACDOld>SignalOld&&MACD<Signal){EntryShort();Print("SELL");}
  }
}
void EntryLong(){d=OrderSend(Sym,OP_BUY,0.01,Ask,0,Ask-StopLoss,Ask+TakeProfit,Comments,MAGIC,0,BuyColour);}
void EntryShort(){d=OrderSend(Sym,OP_SELL,0.01,Bid,0,Bid+StopLoss,Bid-TakeProfit,Comments,MAGIC,0,SellColour);}

2017年4月12日水曜日

ボリンジャーバンド入門!


少なからず多くの人は私ことTACAがボリンジャーバンド否定論者だという事はご承知の事かと思う!
しかし、原著を読まずに否定するのはよろしくないとある偉大な先生に教わった。
そこで読み始めたのがこの本ボリンジャーバンド入門、本当は英語が欲しかったが残念ながら見つからなかった。

そして、作ってみたのがMACD BANDS!
MACDは平均より早くサインを出す素晴らしいやつであるがだましが多い
ボラティリティが低い時にはだましが出るという事で作ってみたのがこいつです。
条件設定なしで(適当でw)スプレッド10H1でまあ勝てるものです。

現在は適当SL,TPですがここを割合シャンデリアと安全SLを搭載すればムフフかもしれません。



extern double BandLimit=0.5;
extern int MAGIC=1;
datetime OT;
double Band,MA,MACD,MACDOld,Signal,SignalOld;
string Sym;
int d;
void OnInit(){Sym=Symbol();}
void OnTick()
{
if(Time[0]!=OT)
  {
  OT=Time[0];
  Band=iBands(Sym,PERIOD_CURRENT,20,1,0,PRICE_CLOSE,1,0);
  MA=iBands(Sym,PERIOD_CURRENT,20,1,0,PRICE_CLOSE,0,0);
  MACD=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,0,0);
  Signal=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,1,0);
  MACDOld=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,0,1);
  SignalOld=iMACD(Sym,PERIOD_CURRENT,12,26,9,PRICE_CLOSE,1,1);
  if(Band-MA>BandLimit&&MACDOld<SignalOld&&MACD>Signal){EntryLong();Print("buy");}
  if(Band-MA>BandLimit&&MACDOld>SignalOld&&MACD<Signal){EntryShort();Print("SELL");}
  }
}
void EntryLong(){d=OrderSend(Sym,OP_BUY,0.01,Ask,0,Ask-0.1,Ask+0.1,NULL,MAGIC,0,0);}
void EntryShort(){d=OrderSend(Sym,OP_SELL,0.01,Bid,0,Bid+0.1,Bid-0.1,NULL,MAGIC,0,0);}




2017年4月2日日曜日

年別に時間を見ると!

バックデーターは長ければ長いほど良いという人がいますが、これもTACA的にはNOです。

0時1時(オセアニアン)を見てみると2010年まではプラスマイナスが拮抗しています。しかし、ここ五年はほぼプラス(ドル高)です。 

4時~6時のTOKIOは昔から円高のようです。
受給なのでしょうか
12時は2005,6年の影響が強いようで実は偏りはなかったようです。
13,14時(NY)はドル高ですね
16時も傾向はなさそうです。(指標発表でボラティリティが高い)のが原因でしょうか
23時はプラスです。




2017年4月1日土曜日

曜日と時間の恐るべき発見!!

時間と曜日について、考察してみることにしました!
気になるのは週明け、週末、スワップ3日の前後でしょうか!
(最近職場のメッセージに!を付ける人が多いので!マークがマイブームです)


終値から始値を引いた差の合計です。
時間はプーチンタイムGMT+3です!
月曜の12時は強烈なドル高傾向があります!
週末にポジションを持たないのはナンセンスですね!
続いて月曜16時 ロンドンでは強烈な円高!

スワップ狙いが多いのか木曜の0時は強烈な円高です。
この辺も考慮してみたいところですね。

2017年3月20日月曜日

特異日を別角度で見てみよう

2005年からのデーターを縦軸は日にち横軸は時間で見ました。
5、10日(本当の5,10日ではなく5の倍数の日)を太字にしました。
総計の下はマイナスの件数%です。10回中7回マイナスの時は70%です。
12,13時23、0、1時はどうやらマイナス傾向にある様です。
しかし15日を除く5,10日はプラス傾向(ドル高)です。
4,5,6時はマイナス傾向(ドル安)ですこちらは5,10日は関係ありません。
という事はこれを元にAMSERの新型を作ればw いやいや また怒られますねw

本日東京に引っ越ししました!




2017年3月4日土曜日

GMO VR来ました!!これは次世代ツールですね!

あまり企業さまのプロモーションに乗っかるのは苦手なのですが
これはやらざるを得ません。
GMO クリック証券のVRが届きました!!

https://www.click-sec.com/corp/tool/fxvr/

じゃじゃーん!!
iPhoneをはさんで覗く感じですね

画面はこんな感じです。

アシスタントの渋谷櫻子さんがついてきます♪

3秒以上見つめるとクリックできます。
発注もできるようです。(土曜日なので発注は確認できていません・・・)

これの一番いいところは集中できる事ではないでしょうか
ブリンガー(馬の目隠し)のようなものでしょうw

裁量トレーダーの強い見方ですねー




2017年2月26日日曜日

REDER バルサラ破産確率によると破たんしない複数ポジションEA


バルサラの破産確立では3要素で計算をし破産するかどうかを算出するが
資金の使用率についてを考えてみました。
どんなきけんなEAでも1京円持っていて1000通貨ペアでちびちびエントリーしていると決して破産しないという計算になります。

そこを鑑みて作成したのがEA REDER
いかがでしょうか

input int Magic=25600;
double all;
int i,c;
void OnTick()
{
 all=0;c=0;
for(i=OrdersTotal()-1;i>=0;i--)
  {
  OrderSelect(i,0);
  if(OrderMagicNumber()==Magic){all+=OrderOpenPrice();c++;}
  }
  if(c==0){c=1;}  
if(all/c+1<Close[0])
  {
  for(i=OrdersTotal()-1;i>=0;i--)
    {
    OrderSelect(i,0);
    if(OrderMagicNumber()==Magic){OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),0);}
    }
  }

  if(all/c-5>Close[0]||all==0){OrderSend("",0,0.01,Ask,0,0,Ask+1,"Reder",Magic);}
}

2017年2月21日火曜日

【考察】世間のEAの99%は半自動!!

自動売買とは何も考えずにセットすればロジックに沿って売買をしてくれる物です。
(あっているかな?)

しかし、MT4を運用する上で100万円入金して2ロットエントリして1万円少しは余剰金といった風に資金管理は自分でするものがほとんどです。
これでは半自動ですね!

複利(まねーまねーじめんと)などもありますが、MT4を再起動するとリセットされるものがほとんどです。これも全自動とはいえません。

Vシステムは口座残の最大金額をエントリーするものでしたが、1EA1口座での運用が一つの壁でした。
口座を分けられるのはOANDA社とFOREX.COM(要書類)だけです・・・

ここらへんに次世代EAのヒントがありそうです





2017年2月12日日曜日

EA Fortune 坂田五法 フラクタルのTACA的解釈!!

WELCOME Labor Pains Memory EA!!

ろうそく足の形をベースに相場を読む坂田五法やフラクタルは奥が深く神髄まではなかなか理解できません。

そういえば山中先生のボリンジャー本にもろうそくとバンドの位置で云々というものがありましたが、EAにするといい成績は出ませんでした。神髄の理解はやはり難しいものですね。そう山中先生と言えば2/18にセミナーがあるようです。
https://www.dukascopy.jp/forex/seminar/
ご講演を是非とも聞いてみたいものですが、京都にいるので残念です。

さて、講演スポンサーのデュカスコピーと言えばリアルティックデーターを無料配信しています。デュカスコピーのリアルティックデーターを使用してバックテストをした結果は他のブローカーと相関性があるのでしょうか?いつかブローカーごとのリアルティックの比較もしなければなりませんね。

今回は1分足で最高値と現在の価格差が一定以上あればショートエントリー、逆でロングエントリーをします。たった一本のろうそく足で条件設定するのは究極のシンプルさです。

そしてもう一つ!
リアルティックをイメージして下さい。上下に変動しながら推移します。
スリッページを入れると損する方に滑ることがありますが、逆に得するほうに0・001円動かした価格で発注します。5回発注してダメな時は諦めます。
このTACAエントリー手法を使うと0.1pipsスリッページが減ります。


//**********************************************
//**This is Made for people who loves My girl.**
//**********************************************
#property strict
input double Lot=0.01;//Lots
input string Com="Fortune";//Comment
input int Mag=20170212;//Magic Number
extern double SL=0.02;
input double Dif=0.1;
string Sym=Symbol();
int i,d,OT;
double Rate,CS;
void OnTick()
{
OT();if(!OT){
if(High[0]-Dif>Close[0]){OSL();}
if(Low[0] +Dif<Close[0]){OSS();}
}
CT();
}
//OrderSendLong
void OSL(){Rate=Ask-0.001;for(i=0;i<5;i++){if(OrderSend(Sym,0,Lot,Rate,0,Rate-SL,0,Com,Mag)>0){CS=Rate-SL;break;}}}
//OrderSendShort
void OSS(){Rate=Bid+0.001;for(i=0;i<5;i++){if(OrderSend(Sym,1,Lot,Rate,0,Rate+SL,0,Com,Mag)>0){CS=Rate+SL;break;}}}
//OrdersTotal
void OT(){OT=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==Mag)OT++;}}
//ChandelierTrailing
void CT(){
if(OrderType()==OP_SELL&&CS>Bid+SL){CS=Bid+SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}
if(OrderType()==OP_BUY &&CS<Ask-SL){CS=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}
}

2017年2月11日土曜日

HUSTLER ゲロンチョリ―

SUZUKIのハスラーのCMをみて驚きました!
ゲロンチョリ―のポーズをしている人がいます!!!

そこで作成中のEAを緊急公開することにw
※決してゲロンチョリを訴えたかっただけではありませんよ♪
EA HUSTLER GERONCHORI(ハスラー ゲロンチョリ)です


input double lots=0.01,SL=0.5;int d,O;double CS;void OnTick(){O=OrdersTotal();if(iBands("",1,20,2,0,0,1,1)<Close[1]&&iRSI("",5,14,0,1)>75&&!O){d=OrderSend("",0,lots,Ask,0,Ask-SL,0,"Hustler-Geronchori",660);CS=Bid-SL;}if(O){d=OrderSelect(0,0);if(OrderType()==0&&CS<Ask-SL){CS=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}}}


LONGのみで未チューンです。
勝率が41%を超えていますのでシャンデリアトレーリングとしては優秀です。
そして高速EAの為に改行、スペースは一切使っていません。
ソースコードはわずか1行w 実用できるEAとしては世界で一番短いEAかもしれませんw

2017年2月10日金曜日

EA MAcrisp

CRISPyはティック単位で動作させていましたが、スプレッドのご指摘を頂戴いたしました。そこで一気にH1で雇用統計縛り無すべての時間で動作させてみました。

なずけてMAcrisp 平均でロングショートを分けようと思ったのですが、途中でスプレッドに関心が移ってしまいました(^^;) MAはその名残です

CRISPは四条河原町にあったクリスピークリームドーナッツが閉店した追悼ネームです
文京区にはあるかな~


extern double lot=0.01;
extern int MAGIC=72;
extern double SL=0.01;
int d;
datetime OT;
double CSL,CSS;
void OnTick()
{
if(Time[0]!=OT)
  {
  OT=Time[0];
  if(!OrdersTotal())
    {
    {d=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bid+SL,0,"CRISP-TACA",MAGIC);CSS=Bid+SL;}
    {d=OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask-SL,0,"CRISP-TACA",MAGIC);CSL=Ask-SL;}
    }
  else
    {
    for(int i=OrdersTotal()-1;i>=0;i--)
      {
      d=OrderSelect(i,0);
      if(OrderMagicNumber()==MAGIC)
        {  
        if(OrderType()==OP_SELL&&CSS>Bid+SL){CSS=Bid+SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CSS,OrderTakeProfit(),0);}
        if(OrderType()==OP_BUY &&CSL<Ask-SL){CSL=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CSL,OrderTakeProfit(),0);}
        }
      }
    }
  }
}




9-11行目で足変更ごとの動作に制御しています

そういえば最近GOOGLEの検索結果のフォントが四角くなったなぁー

EA CRISPy こ、こいつは・・・リアル稼働させなくっちゃ!!

先程のEACRISPを雇用統計の時間限定で動作するようにしました。
金曜日の7日までのGMT+3で15:30のみ両建てオーダーします。
両方が決済された時には時間内であれば何度でもオーダーを繰り返します!
↑活性が高く上下に激しく動く時のイメージです。

さ~て結果はどうでしょうか
2005-2016
勝率は48.9%
平均勝トレード105 平均負けトレード -9.74

このEAはスピードを要求されますので高速な環境が必要ですね。

うーんこの結果は興奮します!





EA CRISP

何回か似たようなものを作っている気がしますが・・・
ポジションを持っていなければ両建てエントリーし
それぞれにシャンデリアストップをかけます。

ボラティリティーの高い時は有効なEAな気がします。




extern double lot=0.01;
extern int MAGIC=72;
extern double SL=0.2;
int d;
double CSL,CSS;
void OnTick()
{
if(!OrdersTotal())
{
d=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bid+SL,0,"CRISP-TACA",MAGIC);CSS=Bid+SL;
d=OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask-SL,0,"CRISP-TACA",MAGIC);CSL=Ask-SL;
}
else
{
for(int i=OrdersTotal()-1;i>=0;i--)
  {
  d=OrderSelect(i,0);
  if(OrderMagicNumber()==MAGIC)
    {     
    if(OrderType()==OP_SELL&&CSS>Bid+SL){CSS=Bid+SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CSS,OrderTakeProfit(),0);}
    if(OrderType()==OP_BUY &&CSL<Ask-SL){CSL=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CSL,OrderTakeProfit(),0);}
    }
  }
}
}

2017年2月8日水曜日

RSI4 ソース張り忘れていました。 

ソースはじゃじゃーん

extern double lot=0.01,SL=0.6;
input int Magic1=911,Magic2=356;
int d,t[2];
bool t1f=1,t2f=1;
double CS;
void OnTick()
  {
    OrderT();
    if(t1f)
      {CT(0);}
    else
      {
      if(MAD()>0.01&&RSI(15)<65&&RSI(60)<65){t[0]=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bid+SL,0,"RSI-TACA",Magic1);CS=Bid+SL;}
      if(MAD()<-0.01&&RSI(15)>35&&RSI(60)>35){t[0]=OrderSend(Symbol(),OP_BUY,lot,Ask,0,Ask-SL,0,"RSI-TACA",Magic1);CS=Ask-SL;}
      }
   if(t2f)
      {CT(1);}
    else
      {
      if(RSI(5)>65&&RSI(15)<65&&RSI(60)<65){t[1]=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bid+SL,0,"RSI-TACA",Magic2);CS=Bid+SL;}
      if(RSI(5)<35&&RSI(15)>35&&RSI(60)>35){t[1]=OrderSend(Symbol(),OP_BUY ,lot,Ask,0,Ask-SL,0,"RSI-TACA",Magic2);CS=Ask-SL;}
      }
  }
double RSI(int TimeFrame){return(iRSI(Symbol(),TimeFrame,14,PRICE_CLOSE,1));}
double MAD(){return(Close[1]-iMA(Symbol(),5,14,0,MODE_SMA,PRICE_CLOSE,1));}
void OrderT()
{
t1f=false;t2f=false;
for(int i=OrdersTotal()-1;i>=0;i--)
  {
  d=OrderSelect(i,0);
  if(OrderTicket()==t[0]){t1f=true;}
  if(OrderTicket()==t[1]){t2f=true;}
  }
}
void CT(int c)
{
d=OrderSelect(t[c],1);    
if(OrderType()==OP_SELL&&CS>Bid+SL){CS=Bid+SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}
if(OrderType()==OP_BUY &&CS<Ask-SL){CS=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}
}

EA RSI4 (RSIx3) + (MA-d+RSIx2)

RSI3は 時間足RSIを三つ組み合わせたものでしたが、RSI4は RSI3と同時に平均乖離とRSI二個を組み合わせたものを同時に動かしています。

後半だれてみえますが、こちらの方が安定しています。(謎)
タイプ的にはしにもどきですね♪

EA RSI3   

 就職して一ヶ月が過ぎましたところでいきなり長期のお休みを頂いています。
会社の皆さまごめんなさい。
と思っているところに更にインフルエンザで2人ほどダウン・・・・
胸が張り裂けそうです・・・

さて気を取り直して休みの間はEA作成三昧と思っていたのですが、
なかなか忙しいものです、引っ越しに、確定申告に、妻の出産(女のコあと3日の予定)

こそこそとかくれてRSIの探求をしておりました。

①RSIは買われすぎ、売られすぎの指標
②上足のRSIは買われすぎ売られすぎゾーンに入っていないほうがいい。
③USDJPYではNY時間中盤から後半に成績が悪くなる。

そして今回作ったのは、5分RSIは65超過、15分、60分RSIは65未満でショートエントリー シャンデリアストップ 幅は 20-4時は0.6円 他は0.4円です。


extern double lot=0.01,SL1=0.6,SL2=0.4;input int Magic=911;int d;double CS,SL;
void OnTick(){if(Hour()<=04||Hour()>=20){SL=SL1;}else{SL=SL2;}
   if(OrdersTotal()==0)
      {if(RSI(5)>65&&RSI(15)<65&&RSI(60)<65){d=OrderSend(Symbol(),OP_SELL,lot,Bid,0,Bid+SL,0,"RSI-TACA",Magic);CS=Bid+SL;}
       if(RSI(5)<35&&RSI(15)>35&&RSI(60)>35){d=OrderSend(Symbol(),OP_BUY ,lot,Ask,0,Ask-SL,0,"RSI-TACA",Magic);CS=Bid-SL;}}
   else{d=OrderSelect(0,0);    
       if(OrderType()==OP_SELL&&CS>Bid+SL){CS=Bid+SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}
       if(OrderType()==OP_BUY &&CS<Ask-SL){CS=Ask-SL;d=OrderModify(OrderTicket(),OrderOpenPrice(),CS,0,0);}}}
double RSI(int TimeFrame){return(iRSI(Symbol(),TimeFrame,14,PRICE_CLOSE,1));}

最近は読みやすくしようとできるだけ省略はやめているのです。
何とか10行に収まりました。

0.01ロット
最大ポジション1
年14,000円

これは10万円0.1ロットで実運用してみたいですねw







2017年1月30日月曜日

RSIってなんじゃらほい?

昨夜からRSIの事ばかり考えています。

RSIは売られすぎ、買われすぎの指標として考えていたのですが一つ上の足は逆に低く抑えたほうがいい結果が出るようです。

これは感覚的には判っていたのですが、理屈的には考えたことがありませんでした。

買いすぎの指標だとすると、全ての足で70超過もしくは30未満を捉えるのがいいような気がします。

という事はRSIには買われすぎ+ボラティリティの活性を測る力があるのでしょうか

そういえばMACDもMACDとシグナルが0付近でクロスする時は半分以上だましです。

MACD自体2本のMAの平均ですので0付近は平均のゴールデンもしくはデッドリークロスのはずです。

指標の位置に何かあるのでしょうか?

うーんRSIやMACDまだまだ探求の余地がありそうですね@新幹線



2017年1月29日日曜日

EA遠山の金さん 製作時間3分 あれ?いい出来?

先日某スイス企業のイベントに行ってきました。
実はわたしも以前スイスはバーゼル本社の企業で仕事をしていたことがあるのです!!(自慢!?)
23歳の時に老後はインタラーケンですごすと決めたのですが叶うでしょうか

さて、イベント会場でわたしいや私のEAをご存知の方に出会いまして驚きました。
これはブログを頑張って更新せねばなりません!!

ある研究の対象としてサンプルEAを作りました。
製作時間3分 
エントリーは 5分足RSI>70 15分足<60
クローズは  5分足RSI<60
シンプルです。


あれ?勝率72%
こいつはサラリーマンになっていなければ、
ショートをつけてVシステムもしくはRシステムをして販売したいですねw

条件設定は一切してないのでむっふっふです!


extern double lot=2;int d;
void OnTick(){
if(OrdersTotal()==0&&iRSI("",5,14,0,1)>70&&iRSI("",15,14,0,1)<60)
{d=OrderSend("",1,lot,Bid,0,Bid+1,Bid-0.5,"RSI-TACA",911);}
if(iRSI("",5,14,0,1)<60){d=OrderSelect(0,0);d=OrderClose(OrderTicket(),lot,OrderClosePrice(),0);}}






M・H様 突然すぎました。安らかにお休みください!!









2017年1月23日月曜日

新ブローカー誕生(MT4使用可能) 金融庁認可!

メタクオート社のMT4をダウンロードするとなぜかMT5がインストールされるという謎な状態です。
新規のMT4サーバーの販売は終了したとのうわさも小耳にはさみますが、そんななか新たなブローカーが登場しました!

EZインベスト証券です!!
なんと MT4 使用可能!!!
さらに金融庁のお墨付き!!
ということは税率20%です。
https://www.ezinvest-sec.jp/

マリノスやそのほか何やかんやのスポンサーもしているようです。
トレードマークは弾丸でしょうか?
プレミネ●トを思い出します。

この時期の新規MT4は応援したくなりますね!!






2017年1月15日日曜日

EA Woody 新型クローズシステム Rシステム搭載!


朝起きてみると京の町が真っ白です!
こんな日は金閣寺が素敵なのですが、今日はおとなしくEAの作成をw

サイトを旅しているとロシア語のサイトにたどり着きました。
私の写真とプロフィールとあるEAの名前が紹介されていました。

そのEAで使っていたのがVシステム 残高実態をカラムとして負けた時には小さく、勝った時には大きくエントリーするシステムでした。
残念ながら、ロシア人にはALL INと理解されていたようですが・・・

さて今回はRシステム。ある先生(名だしの許可をもらっていないのでここではS先生とさせていただきます)に教えていただいたラウンドナンバーを利用したエントリー決済システムです。

ドル円の場合、市場では少数第一位が0もしくは5が意識されるというものです。
例えば110.6円からドル高で110.9円まで来ましたが、111.0円(小数第一位が0)が意識され反転するといったことです。

そこで、ロングエントリーは少数第一位が1もしくは6の時にエントリーし4.5もしくは9.5でクローズします。ショートもそんな感じです。

ボラティリティと方向性の確認のためRSIを使っています。

Rシステム搭載初EAの結果はいかに!!
OANDA JAPAN FX 5Mを意識して
スプレッド5、ロット0.1でのチャレンジです。

単にRSI 30-70で見ているだけですがRシステム搭載でこのような結果にw









世界初 Rシステム搭載のEA Woodyのソースです。
無料なのになぜか限定100本です(100ビューを超えたらソースは消す予定ですw)

#property strict
#property description"TACA"
int c,d,i,PosNum;
double RSI,AskD,BidD;
extern int Magic=884;
extern int SpreadLim=5;
extern string Com="Woody";
extern double Lots=0.1;
void OnTick()
{
OrderCheck();
if(!PosNum&&MarketInfo(Symbol(),MODE_SPREAD)<=SpreadLim)
{
RSI=iRSI(Symbol(),PERIOD_M1,14,PRICE_CLOSE,1);
if(RSI<30){EntryLong();}
if(RSI>70){EntryShort();}
}
}
void EntryLong()
{
AskD=int((Ask-(int)Ask)*10);
if(AskD==1){d=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,(int)Ask,(int)Ask+0.45,Com+" Long",Magic);}
if(AskD==6){d=OrderSend(Symbol(),OP_BUY,Lots,Ask,0,(int)Ask+0.5,(int)Ask+0.95,Com+" Long",Magic);}
}
void EntryShort()
{
BidD=int((Bid-(int)Bid)*10);
if(BidD==8){d=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,(int)Bid+1,(int)Bid+0.55,Com+" Short",Magic);}
if(BidD==3){d=OrderSend(Symbol(),OP_SELL,Lots,Bid,0,(int)Bid+0.5,(int)Bid+0.05,Com+" Short",Magic);}
}
void OrderCheck(){PosNum=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,SELECT_BY_POS);if(OrderMagicNumber()==Magic){PosNum++;}}}







2017年1月12日木曜日

TACA0712 固定ロット!

最近はブログをおさぼりしていて申し訳ございませんm(__)m
TACA0712の固定ロットを作ってみました!
目覚めてばたばたとつくりましたので、粗削りなところはご容赦ください。

#property copyright "Copyright 2016/7/10,TACA"
//#property icon"x.ico"  
#property description"AMSER UPDATE,Brog 250page,and 20000 memorial EA"
#property strict
datetime TimeOld;
int d,i,LB;
double LS,L,TSL,OTSL,SL,TP,B,NSL;
extern int MaxSpread=4;//最大許容スプレッド
extern int ALLPeriod=14;//RSI,Bands,Alligator,CCI,Forceの期間
extern double EntrySL=0.02;//1st S/L
extern double EntryTP=0.37;//1st T/P
extern double SecSL=0.01;//2nd S/L
extern int StDevPeriod=20;//標準偏差期間(3rd S/Lに使用)
extern double Lot=0.01;
double TACARSI(int TimeFrame){return(iRSI(NULL,TimeFrame,ALLPeriod,0,1));}

void OnTick(){B=Bid;TS();
L=AccountFreeMargin()/MarketInfo(Symbol(),32);LB=(int)MathFloor(L);LS=L-LB;
if(MarketInfo(Symbol(),13)<=MaxSpread){
if(Time[0]!=TimeOld){TimeOld=Time[0];
if(OrdersTotal()==0){
if(TACARSI(1)<37){if(TACARSI(5)<35){E(0);}}
if(TACARSI(1)>71){if(TACARSI(5)>67){E(1);}}}}}
d=(int)iBands("",0,ALLPeriod,2,0,0,1,1);
d=(int)iAlligator("",0,ALLPeriod,8,8,5,5,3,MODE_SMMA,PRICE_MEDIAN,1,1);
d=(int)iCCI("",0,ALLPeriod,0,1);
d=(int)iForce("",0,ALLPeriod,MODE_SMA,PRICE_CLOSE,2);
}

void E(int BoS){
if(BoS==0)
{TSL=Ask;SL=TSL-EntrySL;TP=TSL+EntryTP;}
else
{TSL=B;SL=TSL+EntrySL;TP=TSL-EntryTP;}
//for(i=0;i<LB;i++){d=OrderSend("",BoS,1,TSL,0,SL,TP,"",7,0,0);}
d=OrderSend("",BoS,Lot,TSL,0,SL,TP,"",7,0,0);}

void TS(){d=OrderSelect(0,0);
if(OrderType()==0)
{if(TSL<B){TSL=B;SL=TSL-SecSL;NSL=TSL-iStdDev("",0,StDevPeriod,0,0,0,0);if(NSL>SL){SL=NSL;}}}
else
{if(TSL>B){TSL=B;SL=TSL+SecSL;NSL=TSL+iStdDev("",0,StDevPeriod,0,0,0,0);if(NSL<SL){SL=NSL;}}}

if(TSL!=OTSL){OTSL=TSL;
for(i=OrdersTotal()-1;i>=0;i--)
{d=OrderSelect(i,0);d=OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0,0);}}}

2017年1月8日日曜日

驚愕の◎◎◎インストール!!

複数の証券会社のMT4を一つにまとめたいそんな事を考えていたのですが、
古い記憶ではメタトレーダーからダウンロードしたMT4は可能だと読んだ気がします。

それならばと、メタクオートのHPからMT4をダウンロード!
インストールしてみました!
ダウンロードしたファイル名は「mt4setup.exe」
いつものようにインストールしました。

どこかわかりませんが雰囲気が少し違うような・・・
取り上げずブローカーにログインします。
サーバーを見ると残念ながら「metaquote-demo」しか出てきません。

やり方がないかといろいろいじくってみると
なんということでしょう!
インストールファイル名はmt4setupですが
実際にインストールされたのはMT5です!!

取りあえずバックテストをしてみます。
MT4の欠点は何といってもバックテストで1コアしか使わなところですがMT5はどうでしょうか?

何やら画面には4コアの状態が表示されています。少しわくわくしながらスタートボタンをポチ!!

タスクマネージャーを見るとCPU稼働率36%・・・・
こいつもシングルタスクのようです。

国内で使えるブローカーもないので残念ながら
アンインストールですね。