FX memo -10ページ目

FX memo

テクニカルに飽きたらやめるさ
と思っていたが新展開・・

一つのディスプレイには現在、RSI と MA乖離をセットに
して4つの時間枠で表示している

で、なんとなく気付いたことがある 
単に二つのMAの乖離の方が使いやすいんじゃなひか

【1時間足】 で比較
  ↓上段( RSI ) と 下段( MA乖離 ) で
 これが実際に使用しているもの
N119W_H1


  ↓上段( MA乖離 ) と 下段( 実値 )
N119ud_H1

    ↓ 上段( RSI ) と 下段( 実値 )
N119rsi_H1

もう一つのディスプレイでの、1時間足( EUR/JPY )
    サブ上段( MA乖離 ) サブ下段( RSI )
N119ej_H1

今まで、1時間足だけではなく全ての足でトレンドの
方向や勢いの転換などを RSI から判断していた

ところが、MA乖離では転換のポイントが当然のこと
だけど異質。全ての時間で、RSI より明快という印象。
具体的に言えば、BreakthroughLineを抜け出して戻る
までが一つのブレ( or トレンド )に当て嵌まる。
ということはポジションを取る場合でも分かりやすい。

この辺りのことは、もう少し調べたい・・・
いつも通り、経過は書くけど結論は書かないヨ



ほとんど、移動平均( MA )ばかりになってしまったがコレが
一番使いやすい。今、RSI 以外は EMA と LWMAだけ

FX を始める時、トレンドラインとMACD、ボリンジャーバンド
を使ったら簡単すぎるから、この三つは使わないと決めていた

途中で StdDev 関連を触ったばかりにボリンジャーバンドは
やっちまったけど、、

そもそも、トレンドラインなんて RSI にひけば楽勝だと昔から
思っていて、もしかすると無意識に頭の中でひいてる可能性も
あるけどサ 
その RSI にしても、考え方は MA 互換 でしか使ってないし・・
MACD はいかにも、もっともらしくてキライ

最近、ATR とか ADX とかのテンションをはかるインジケータ
を使っていないのは、Breakthrough Line をうまく設定すれば
もっと簡単という考え方。これは自分で考えるべきこと。

インジケータ も、1分足から月足までパラメータを変更しないで
すむようにしてるしアタマ悪いからやることが無くなってきたよ 

【1時間足】    EUR/JPY
N111ej_H1

  ↓ 複数通貨 上段 RSI   下段 MA乖離
N111_H1

  



これからも手直しや調整も必要だろうけどコンナ感じで
始めた
今のところ見た目は去年と変わらない 

↓ USD、EUR,、JPY のグループの各【1時間足】

      USD/JPY
N105uj

     EUR/JPY
N105ej
     
      EUR/USD
N105eu

サブ上段はMA、下段はRSI で三つの通貨ペアを
比較して自分が判断しやすいように加工して表示
しているし、今後もその方向で・・・

ざっと見た感じでは、長期足での効能もスゴそう
だけど 継続観察中



FX で提示される価格は何処でも一緒というわけではない
それでも理屈の上では、
例えば、 EUR/JPY = USD/JPY × EUR/USD
という関係が成り立つ

成り立たなければ、即座に矛盾を突いて鞘取りが実行され
ているハズ・・・凄いよね
指標発表などのイベント時には、スプレッドを広げることで
対応してるのかな

 ↓ どうでもいいけど、アソビで

あまり意味は無いし厳密なモンじゃないけど、他の2通貨か
ら計算した『計算値』を5通貨分表示するヤツを書いてみた。
FX会社によって提示価格やスプレッドは違うのでこんなの
役に立つとは思わないヨ

でも、なんらかの情報が得られるんじゃないかと思って観察
はする心算

↓ に1時間足の直近データを下段に表示してるけど、値動
きがない時期だから意味がナイ
各社比較すると当たり前だけどゼンゼン違うヨ

MC29s_H1


//+------------------------------------------------------------------+
//|                        PD_SAYA.mq4 
//|                       ( Test by sSeia )
//+------------------------------------------------------------------+

//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 6

extern int MaxBars = 1000;
extern int MAPeriod=1;
extern int MAPrice=0;
extern int MAMode=0;

//---- buffers
double EURJ_Buffer[];
double AUDJ_Buffer[];
double EURU_Buffer[];
double AUDU_Buffer[];
double USDJ_Buffer[];
double BLine[];

string Pair[] = { "EURJPY", "AUDJPY", "EURUSD", "AUDUSD", "USDJPY"};
color Iro[] = {   OrangeRed,  DodgerBlue, Violet, Aqua, Gold};
string NameObj[] = { "PDSY_1", "PDSY_2", "PDSY_3", "PDSY_4", "PDSY_5" };

string Indicator_Name = "PD5_SAYA";
int    window;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {

//---- indicator buffers mapping
   SetIndexBuffer(0,EURJ_Buffer);   SetIndexBuffer(1,AUDJ_Buffer);
   SetIndexBuffer(2,EURU_Buffer);   SetIndexBuffer(3,AUDU_Buffer);
   SetIndexBuffer(4,USDJ_Buffer);   SetIndexBuffer(5,BLine);

//----   
   for(int j=0;j<=4;j++) {
      SetIndexStyle(j,DRAW_LINE,0,2,Iro[j]);
      SetIndexLabel(j,NULL);
   }
   SetIndexStyle(5,DRAW_LINE,0,1,White);
   SetIndexLabel(5,NULL);

//---- name 
   IndicatorShortName(Indicator_Name);
   window = WindowFind(Indicator_Name);

//----
   SetLevelStyle(STYLE_DOT, 0, Gray);
   SetLevelValue(0, 5);
   SetLevelValue(1, 10);
   SetLevelValue(2, 20);
   SetLevelValue(3, 50);
   SetLevelValue(4, -5);
   SetLevelValue(5, -10);
   SetLevelValue(6, -20);
   SetLevelValue(7, -50);
//---- initialization done
   return(0);
  }

//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
void deinit() {
   for(int j=0;j<=4;j++)   ObjectDelete(NameObj[j]);
   Comment("");
}

//--------------------------------------------------------
int start() {
   int i, j;
   double v1, v2, v3, v4, v5, w1, w2, w3, w4, w5;

   int limit = MathMin(MaxBars,Bars);
   limit = MathMin(limit,Bars-IndicatorCounted()+1);
   if(limit <1) return;
   for(i=Bars-1;i>MaxBars;i--) {
      EURJ_Buffer[i] = EMPTY_VALUE;      AUDJ_Buffer[i] = EMPTY_VALUE;
      EURU_Buffer[i] = EMPTY_VALUE;      AUDU_Buffer[i] = EMPTY_VALUE;
      USDJ_Buffer[i] = EMPTY_VALUE;
   }

   for(i=limit;i>=0;i--) {

      v1 = iMA(Pair[0],NULL,MAPeriod,0,MAMode,MAPrice,i);
      v2 = iMA(Pair[1],NULL,MAPeriod,0,MAMode,MAPrice,i);
      v3 = iMA(Pair[2],NULL,MAPeriod,0,MAMode,MAPrice,i);
      v4 = iMA(Pair[3],NULL,MAPeriod,0,MAMode,MAPrice,i);
      v5 = iMA(Pair[4],NULL,MAPeriod,0,MAMode,MAPrice,i);
      w1 = v1 - v3 * v5;         w2 = v2 - v4 * v5;
      w3 = v3 - v1 / v5;         w4 = v4 - v2 / v5;
      w5 = v5 - v1 / v3;

      EURJ_Buffer[i] = w1 * 100;         AUDJ_Buffer[i] = w2 * 100;
      EURU_Buffer[i] = w3 * 10000;       AUDU_Buffer[i] = w4 * 10000;
      USDJ_Buffer[i] = w5 * 100;         BLine[i] = 0.0;
   }    

//----
    double  b[5];
    b[0] = EURJ_Buffer[0];   b[1] = AUDJ_Buffer[0];    b[2] = EURU_Buffer[0];
    b[3] = AUDU_Buffer[0];   b[4] = USDJ_Buffer[0];
    string sf[5];
    for(j=0;j<=4;j++)  {
         double pq = b[j];
         sf[j] = DoubleToStr( pq, 2);
    }

    for(j=0;j<=4;j++) {
      ObjectCreate(NameObj[j], OBJ_TEXT, window, 0, 0);
    ObjectSet(NameObj[j], OBJPROP_TIME1, Time[0]);
      ObjectSet(NameObj[j], OBJPROP_PRICE1, b[j]);
      while (StringLen(sf[j]) < 30 )    sf[j] = " " + sf[j];
      ObjectSetText(NameObj[j], sf[j], 12, "Arial", Iro[j]);
    }
//----
   return(0);
}
//+------------------------------------------------------------------+