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%・・・・
こいつもシングルタスクのようです。

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


2017年1月1日日曜日

サラリーマンの掟!

社会復帰しました!

サラリーマンの掟として副業はダメです(><;)

①EAの出品禁止

②アフィリエート禁止
(といっても使えるねっととOANDA社)の二つだけですが

ブログは継続可能のようです。

そして無料EAのブログ公開もOKとのこと!

アフィリエートは外します。関係者の皆さまお許しを~

そして、今年も仕事の合間を縫ってEAを作りますので

お付き合いよろしくお願い致します





EA NewYear 新年あけましておめでとうございます。

新年おめでとうございます。
今年の年越しは自宅で知恩院の除夜の音を楽しみ
お稲荷さん(伏見稲荷大社)へ行ってきました。
伏見稲荷の中には3000本の鳥居と社があります。
目指すは眼力社!!
先見の眼を授けてくれる社で、証券会社の人たちやトレーダーなどもお参りするところです。

おみくじを引くと今年も大吉!!なにもかも順調な一年になる様です^^

さて最後のEAはボラティリティの高い時にLONG SHORT交互にエントリーしナンピンを仕掛けるEAですが、なかなか出来がいい物でした。売るなら50,000円で出すレベルです。

ボラティリティは最高値と最低値の差で取っていましたが、このEAは市場が上がるのか下がるのか一切無視でベッティングレートの追求する手法です。ループイフダンやトラリピのようなものですね。
それならばボラティリティもガン剤の相場から見るのではなく固定で行こうと考えました。

ジャンルの仲間入りをするためにアンチロジカルな事をしていますが・・・

今回は時間で見ています。
時間別に活性を見るとこの様になります。
(GMT+3)プーチンタイムです。
2-3 9-10 15-18時の活性が高いようです。

そこでEAにしてみると


ナンピンはこつこつどがーんですが、どがーんだけ無くすことに成功しました!
いかがでしょうか




#property strict
#property copyright"TACA 2017/1/1"
#property link"taca.asia"
int d,i,Count,Mode,T,hh;
string Sym;
extern double Lots=0.01;
extern string Com="Last EA";
extern int Magic=14;
extern double TP=1;
extern double Velocity=1.6;
void OnInit(){Sym=Symbol();}
void OnTick()
{
hh=Hour();
if(hh==2||hh==3||hh==9||hh==10||hh==14||hh==15||hh==16||hh==17||hh==18){
if(!Mode&&!Pos()){Mode=1;T=OrderSend(Sym,OP_BUY,Lots,Ask,0,Ask-TP,Ask+TP,Com+"1",Magic);}
d=OrderSelect(T,SELECT_BY_TICKET);
if(Mode==1&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_SELL,Lots*2 ,Bid,0,Bid+TP,Bid-TP*Velocity,Com+"2",Magic);Mode++;}}
if(Mode==2&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_BUY ,Lots*4 ,Ask,0,Ask-TP,Ask+TP*Velocity,Com+"3",Magic);Mode++;}}
if(Mode==3&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_SELL,Lots*8 ,Bid,0,Bid+TP,Bid-TP*Velocity,Com+"4",Magic);Mode++;}}
if(Mode==4&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_BUY ,Lots*16,Ask,0,Ask-TP,Ask+TP*Velocity,Com+"5",Magic);Mode++;}}
if(Mode==5&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_SELL,Lots*32,Bid,0,Bid+TP,Bid-TP*Velocity,Com+"4",Magic);Mode++;}}
if(Mode==6&&!Pos()){if(OrderProfit()>0){Mode=0;}else{T=OrderSend(Sym,OP_BUY ,Lots*61,Ask,0,Ask-TP,Ask+TP*Velocity,Com+"7",Magic);Mode=0;}}
}
}
int Pos(){Count=0;for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);if(OrderMagicNumber()==Magic){Count++;}}return(Count);}