2016年11月28日月曜日

BEEKS 負荷試験 これはなかなかすごい!!

お借りしているBEEKSのVPSの期限がそろそろ迫ってきました。
以前つくったSSCHECKERというEA?があります。
メジャー通貨のSWAPとSPREADを一画面に表示するものなのですが、
これがなかなか重いのです。
表示しながらバックテストをすると全く動かなくなる一品です。

逆に考えるとVPSの負荷試験として使えるのではないでしょうか!
このSSCHECKERをVPSで何個動かせるかやってみました。
試験をしたのはBEEKSのブロンズです。
MT4一個に6x6で36個同時に動かしましたが全く変化ありません。

タスクマネージャーをみるとCPU使用率はMT4が20%、その他13%
100個くらいはいけそうですね。
恐るべしBEEKS!!

※一つのMT4で複数のEAを走らせると同時に発注が出た場合、発注が正しく出ない可能性がありますので注意して下さい。

BEEKSのTY3をお借りしてのんびりEAを大量に走らせるのはありですね!!




2016年11月26日土曜日

EA Swapper Joe Limited

昨夜からIphoneのGMAILアプリがうまく動きません。
なんかGMAILアプリがアップデートして微妙になってしまいました。
片手で使いにくい・・・

それと同時にBloggerもイメチェン!!
こちらは最高の出来です^^ GOOGLE様ありがとう♪

さて以前SwapperJoeというEAを作成しました。
そこにありがたいコメントを頂きました^^

そこでわたしもアップデートしてみます


設定を日本語にしました(蛇足?こうゆう変更がわからなくなることが多いのですが・・・)

追加したのは
エントリー時間(月-木)は月曜から木曜の23時のエントリー分です。初期55分(23:55GMT+3)
エントリ時間(金)は金曜日の23時のエントリー分初期50分(23:50GMT+3)
最大ポジション数 初期100本
ポジション間隔 最低ポジションより価格が下回る時のみエントリーします。

ん?感覚?・・・・


//+------------------------------------------------------------------+
//|                                                SwapperJoeLimited |
//|                                      Copyright 2016, Taca        |
//|                                       http://taca.asia           |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016/11/26,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
#property strict
sinput int MAGIC=2355;//MAGIC ナンバー
extern int Profit=60;//利益確定額  
extern double Lots=0.01;//ロット
extern int Spread=14;//スプレッド
extern int EntryMin=55;//エントリー時間(月-木)23:xx
extern int EntryMinFri=50;//エントリ時間(金)23:xx
extern int MaxPosition=100;//最大ポジション数
extern double MinPosition=0.01;//ポジション感覚
double PosAve,MinPos=Close[0]+2;
datetime TimeOld;
int d,i;
//+------------------------------------------------------------------+
//|Main Routine                                                      |
//+------------------------------------------------------------------+
void OnTick()
  {
     {
      if(Time[0] != TimeOld)
        {
         TimeOld=Time[0];
         if(OrdersTotal()==0){MinPos=Close[0]+2;}
         if(DayOfWeek()!=5&&Hour()==23&&Minute()==EntryMin   ){Entry();}
         if(DayOfWeek()==5&&Hour()==23&&Minute()==EntryMinFri){Entry();}
        }
     }
  }
//+------------------------------------------------------------------+
//|Entry                                                             |
//+------------------------------------------------------------------+
void Entry()
  {
   if(OrdersTotal()<MaxPosition && MinPos-MinPosition>Close[0])
     {
      d=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,0,0,"Swapper Joe!!",MAGIC,0,Red);
      Averaging();
     }
  }
//+------------------------------------------------------------------+
//|Average Sys                                                       |
//+------------------------------------------------------------------+
void Averaging()
  {
   PosAve=0;double PosAll=0,PosNum=0;
   for(i=0;i<OrdersTotal();i++)
     {
      d=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      PosAll+=OrderOpenPrice()*OrderLots();
      PosNum+=OrderLots();
      if(MinPos>Close[0]){MinPos=Close[0];}
     }
   if(PosNum==0){PosAve=0;}
   else{ PosAve=PosAll/PosNum;}
   for(i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==True)
        { d=OrderModify(OrderTicket(),OrderOpenPrice(),0,PosAve+Profit*Point,0,CLR_NONE);}
     }
  }
//+------------------------------------------------------------------+

2016年11月24日木曜日

きたぁぁービットコインのMT4!!!!BITPoint と USDJPYの相関性

BITPOINTのMT4をインストールしました!

仮想通貨がMT4で使えるというのは面白そうです。
まず、過去データーをエクスポート!
BITJPY おおw カッコイイ!2016/7途中からのデーターです。

同じ日にちのUSDJPYをEXCELで横に並べました。
両方1時間足です。

そして①終値-始値②最高値-始値③始値-最低値
この三つの相関性を見ることにしました。

相関性を調べる関数はCORREL(A群、B群)です。
相関性が近い時には1に逆相関の時は-1に近づきます。
0近辺は相関性がないということです。

さて結果です

①終値-始値    0.02
②最高値-始値  0.09
③始値-最低値  0.04

全く相関性はありません・・・
逆相関もないという事はまったくUSDと関係なく動いているようです。

また、チャートを見ると祝日の動きに似たような感じがします(感覚・エビデンスなし)

もしそうだとすると、期間の短いRSIや平均乖離など面白そうですね!!










2016年11月22日火曜日

Bars 1000本の壁

前日の同じ時間の傾向をみてエントリーするEAを作ろうと思いました。

今の時間は11:02です。昨日と一昨日と・・・・過去46日の11:02が上がっているのか下がっているのかの傾向をみてエントリーします。
一ヶ月の平日は約23日として二ヶ月分を見ようといった考えです。

条件は二つ
買い建てで一つは46日間でOPENとHIGHの差が0.01以上あれば+1なければ-1
その合計が一定以上になっている事。

OPENとCLOSEの差の平均が一定以上になっている事

この二点でLONGエントリーです。

さてさらさらっとソースを書いてみました。
バックテストと一定以上の最適化をします・・・・・

うまく動作しません。


原因を探るとCLOSE[1439]が0と表示されます。
いろいろ探ってみるとたどり着いたのが Bars 何本の足を格納しているかを表示する定数です。

バックテストの初めの段階でBarsは1000本そこから一本ずつ増えていくようです。
つまり1439本前は開始から439分後からしか表示されないようです。その46日間のデーターは46日経ってからという事のようです・・・・・

1000本というと
1時間足で41日
15分足で10日
5分足では3日の数字しか取れません
う~ん 没かな 
面白そうなアイデアとおもったのですが・・・



2016年11月18日金曜日

BEEKS社 本テスト結果


予備テストでは
FOREX社が337676micsec
外為社が256596micsec
という結果が出ました。
数字の出なかった三社に実発注で測定してみたいと思います。
10連続発注をします。ブローカーさんごめんなさい

今回の画像は上からBEEKS社のプラチナ、ゴールド、シルバーの順です。

まずはFXTF全体の中で一番遅い結果が出ました。
MT4サーバーの場所の問題かと思います。
しかし、10連続発注すべてきれいに受けてくれました。






次はAVA社まずまずの結果です。


←大量発注の痕跡が残ってしまいました・・・


そしてOANDA JAPANPRO 5kです。
ここはBEEKSと同じTY3にサーバーを置いています。
距離が近いからでしょうか
理想通りのプラチナ>ゴールド>ブロンドの速さになっています。





結論

比較ではありませんのでここからは主観が入ります。
BEEKS社のVPSは

OANDA JAPANPRO 超高速EA 超推奨特にプラチナコース!!

AVA社、FOREX社、外為ファイネスト社 推奨 一般的なEAでは問題なく動作すると予想

FTXF社 使用可 スピード的には一番遅い結果でしたが、全発注を受けたMT4サーバーの実力は素晴らしいですね。

といったところでしょうか

やはりTY3同士の相性は抜群ですね!
OANDA社は5kと1mで別々の価格が表示されます。
この差がスプレッドを超えた時に発注するEAを考えているのですが、
それ向けにBEEKS社プラチナを借りようか悩んできました。


ソースコード
※実発注します
TPSLはストップレベル、lotはロットです。
ブローカーコースに合わせて調整してください。
直ぐに動作しますのっで0secになった時は再インストールしてください。


int i,d,c;bool f;datetime NowTime,AllTime;
input double TPSL=0.02;
input double lot=0.01;
void OnTick(){if(!f){f++;for(i=0;i<10;i++)
{NowTime=GetMicrosecondCount();
if(OrderSend(Symbol(),OP_BUY,lot,Ask,5,Ask-TPSL,Ask+TPSL,"SpeedTest",356)>0)
{AllTime+=GetMicrosecondCount()-NowTime;c++;}
}if(!c){c++;}Comment("VPS to "+AccountCompany()+" "+AllTime/c+" micro sec.");}}



VPSをお貸しくださったBEEKS社の皆さま、そしてBEEKS社を紹介して下さったごごじゃんの担当様本当にありがとうございました!!

2016年11月16日水曜日

ソースコードの改行はex4ファイルに影響があるのか!

今日はMT4 TOKYOです!
大切な用事で東京にきています。

さて、ソースコードの改行について以前検証しましたが、
改行を入れるとEAの動作速度が遅くなるという結果が出ました。

でも本当でしょうか?確率的には間違いありませんでしたがプログラムは違うのでしょうか?
もし改行をすることでEX4ファイルに影響が出るなら、
EX4ファイルのバイト数に変化があるかもしれません

そこでEAをふたつw


a.mq4は一行
b.mq4は5行改行を入れました。



改行を5行いれると352バイト増えています!!!!
改行は0x0A 1バイトx5で 5バイト程度の増加と思っていましたが、
こんなに増えるものなのですね!!!

EAを作っていると、空白の1行を入れてしまいますが、
気を付けねばなりませんね

 

2016年11月11日金曜日

BEEKS 予備テスト第二弾!!

大統領選挙はいかがでしたでしょうか!
私は、上へ下への往復ビンタを頂戴いたしました。

反省点はスプレッドの管理不足とEAのスピード不足です。
大統領選挙のような時にはスプレッド上限は固定でなく、過去10分の平均+アルファといったような手法を取らないといけませんね。固定の為多くの勝つはずだった注文が出せませんでした。

そして、急変時に追いつくスピードが大切です。
そのためにはブローカーに最適なVPSを探すことが必須です。

BEEKS社からVPSをお借りしたのですが、大統領選の対策でテストが開始できていません。

いつものSPEEEDTESTの改良版SpeedTest B を作成しました。

#property copyright  "Copyright 2016/11/11,TACA"
#property link      "http://mt4kyoto.blogspot.jp/"
#property version    "11.11"
input int MAGIC=1111;
int NowTime,AddTime[10],count,All,i;
void OnTick()
  {
  count++;
  for(i=10;i>=0;i--){AddTime[i]=AddTime[i-1];}
    NowTime=GetMicrosecondCount();
    if(OrderSend(Symbol(),OP_BUY,0.01,Ask,5,200,50,"SpeedTest",MAGIC)==-1)
      {AddTime[0]=GetMicrosecondCount()-NowTime;}
  if(count<10)
    {
     Comment("We need more "+(10-count) + "Times. Please wait few minute.");
    }
  if(count>=10)
    {
    All=0;
    for(i=10;i>=0;i--){All+=AddTime[i];}
    Comment ("VPS to "+AccountCompany()+" "+(All/10)+" micro sec.");
    }
  }

あれやこれやと改良した後にやっぱりオリジナルが良かったと戻ってきた感じです。
不正なSLやTPでの発注をしてその時間を取得しています。
※一部は口座作成が間に合わず、デモ口座です。

BEEKS社の東京サーバーはエクイニクス社TY3にあります。
相性のいいのはどこのブローカーでしょうか?!
結果が2~4桁の場合はサーバーにMT4内で処理や中継点で処理されていてMT4サーバーに到達していない可能性が濃厚です。この場合は実発注で測るしかありません。


AVA社 16micro秒







FXTF ここも15micro秒 速すぎます。
実発注で試さねばなりません・・・





FOREX(Gain Capital)社







外為ファイネスト社






OANDA JAPAN PRO
ここはTY3にサーバーがあります。
5kと1mがありますが、5kで見ています。
BEEKSと同じTY3の中だとこういったことがあるのでしょうか



OANDA JAPANFX、FXTF、AVA社は実発注で測定してみます!
この三社は本当にこの速さが出れば、恐ろしいEAが開発できそうです。
あんまりスピードを追求しすぎるとよろしくないかもしれませんが・・・w


2016年11月7日月曜日

EA えれべーたーがーる♪

先日は短時間で作った雇用統計プログラム惨敗でした(;・∀・)
テストで動かすつもりだったのですがロットをなぜか1.0にしていたため、あぶら汗がたっぷり出ました。

そして、その反省を踏まえてアメリカ大統領選挙対策EAを開発しています。
また、BEEKS社から借りたVPS試験用のEAも開発中です。

そんな中、試行錯誤しているうちになぜかベッティングレートの探求をしてしまい
数時間たっぷりEXCELにハマってしまいました。
迷走しています。

両建てマーチンゲールから始まり両建てモンテカルロ、そして両建てイースト―コーストプログレと進み、両建てECBの改良で精根尽きました。

この時点でアメリカ大統領選挙のことは完全に忘れて、別のEAを作り始めていました。
以前エスカレーターボーイを作りながら思いついたシステムです。

なずけて「EA えれべーたーがーる♪」
この単語カタカナ表記は放送禁止用語だそうです><;


ボラティリティが0.01以上
でポジションが無ければ両建てエントリー
両建てとも幅0.3のシャンデリア・ストップで追っかけます。

トレーリングはボラティリティーが高い時に効果を発揮しやすいので、
0.01以上に限定しています。発注のタイミングは一切考えていません。




#property copyright"TACA 2016/11/7"
datetime t;int d,i;extern double LOTS=0.01,SL=0.3,Bnd=0.01;
void OnTick(){if(Time[0]!=t){t=Time[0];
if(iBands(Symbol(),PERIOD_CURRENT,14,1,0,PRICE_CLOSE,1,0)-iBands(Symbol(),PERIOD_CURRENT,14,1,0,PRICE_CLOSE,0,0)<Bnd)
{if(MarketInfo(Symbol(),13)<10 && OrdersTotal()==0){ORDSND();}if(OrdersTotal()!=0){ORDMDF();}}}}
void ORDSND(){d=OrderSend(Symbol(),OP_BUY, LOTS,Ask,1,Ask-1,0,"",11);d=OrderSend(Symbol(),OP_SELL,LOTS,Bid,1,Bid+1,0,"",11);}
void ORDMDF(){for(i=OrdersTotal()-1;i>=0;i--){d=OrderSelect(i,0);
if(OrderType()){if(OrderStopLoss()>Bid+SL){d=OrderModify(OrderTicket(),OrderOpenPrice(),Bid+SL,0,0);}}
else{if(OrderStopLoss()<Ask-SL){d=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-SL,0,0);}}}}

月別で見ると試験の25ヵ月中15ヵ月がプラスです。
英国のA社のMT4で試験をしています。

大統領選挙は活性が高いので面白いかもしれませんね。



BEEKS セッティング方法!

BEEKS社のVPS設定方法です!
BEEKS社はMT4等自動売買の事を考えエクイニクス社にさーばーを置くすばらしいコンセプトの会社です。

しかし、一つ大きな壁が・・・サポートが英語のみです。
と、思っていたのですがなんとBEEKS社は日本語サポートもはじめたようです!!



VPSを申し込むとメールが来ます。

赤文字で日本語を書いてみました。だいぶ意訳です

RDPファイルを落としてWクリックすればVPSに入るためのID,PassWord入力の画面になります。
そこにこのメールのUsernnameとInnitial Passwordを入力いたします。

パスワードをコピペするとうまく進みません。手入力しましょう。

次にInnitial Password(初期パスワード)の変更を求められます。
①条件は10文字以上
②大文字、小文字、数字をすべて使用する事
お恥ずかしい話なのですが、ここを適当に読んでいたので、パスワード更新が出来ず悩みました。

ログインするとさすが東京BEEKS!体感は恐ろしく速いです。

実テストは大統領選挙後にw









2016年11月4日金曜日

BEEKS TY3 予備テスト 雇用統計用EA(高負荷)

先日、またわがままをゴゴジャンのご担当様に言ってしまったところ
駆けつけて下さり、問題解決をしてくださいました。
ほんとにいつもごめんなさい。

そのミーティングの最中にBEEKS社の話題が出ました。

東京エクイニクスにあるBEEKSのVPSサーバーの速さを体感してみたいと話したところ、
なんとBEEKSの担当者に連絡をと取ってくださいました!!
ゴゴジャンN氏の人脈の広さに驚きです。

そしてあれよあれよでBEEKS社のVPS ブロンズ、シルバー、ゴールドサーバーを一ヶ月お借りできることとなりました。
ゴゴジャンN氏もBEEKS社様も恐るべき仕事の速さです。

さて、いままでは不適切なSL/TPのオーダーを送信して返信のスピードを測定していました。
問題としては、中継サーバーではじかれてしまいMT4サーバーにたどり着けない会社がいくつかありました。
極端に乖離した予約注文を発注し時間を測る手もあるのですが、やはり知りたいのは実発注の時間です。

そして今夜は雇用統計
とっさに作ったのが雇用統計用EAです。
15:28に両建てをします。
シャンデリア・トレーディングで両方を追っかけ利益を出します。
両方の発注が無くなったらまた両建て発注をします。
ひたすら高速回線と処理速度を必要とするEAで予備テストです。

バックテストではいい結果が出るのですが、BEEKS社VPS vs 英国A社はいかに!!



※BEEKS社はエクイニクス社の東京TY3にVPSを立てています。
A社もTY3に中継点を置いていることからA社にしました。
(中継点からNY4までは高速回線でつないでいるようです。)

TY3はOANDA JAPANProコースが最近サーバーを立て話題になったところです。





int d,OTL,OTS;double C;
void OnTick(){{if(OrdersTotal()!=0){C=Close[0];
d=OrderSelect(OTL,1);if(OrderStopLoss()<C-0.02){d=OrderModify(OTL,OrderOpenPrice(),C-0.02,0,0);}
d=OrderSelect(OTS,1);if(OrderStopLoss()>C+0.02){d=OrderModify(OTS,OrderOpenPrice(),C+0.02,0,0);}}
else{if(Hour()==15&&Minute()>=31&&Minute()<=35&&MarketInfo("",13)<16)
{OTL=OrderSend("",0,1,Ask,2,Ask-0.02,0,"",1);OTS=OrderSend("",1,1,Bid,2,Bid+0.02,0,"",1);}}}}