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システムを載せると・・・・