レジスタンスラインとサポートラインがあればFXだけでなくバイナリーオプションでも勝率100%近く出てしまいます。
しかしレジスタンスラインとサポートラインを自作するなんてプログラミングがそもそもできない!無理!という方も多いのではないでしょうか。
この記事では、
- レジスタンスラインとサポートラインの意味や見方
- レジスタンスラインとサポートラインをMT4に無料で実装する方法
- レジスタンスラインとサポートラインをプログラミングで自分の思い通りに作成する方法
を中心に詳しく解説していきます
レジスタンスラインとサポートラインとは?
まずレジスタンスラインとサポートラインの意味ですが、レジスタンスラインは高値を結んだライン、サポートラインは安値を結んだラインをいいます。
どちらもローソク足の高値とローソク足の安値を一直線で結んだ線になります。
このように高値と安値に水平ラインを引くことで「レンジ相場」を把握することができます。
レンジ相場は次に起きるトレンド相場の前段階と捉えることができ、バイナリーオプションでも予測の的中の確度が高くなります。
次に、レジスタンスラインとサポートラインをMT4に「自動で実装させる方法」と「プログラミングで自由度高く作成する方法」の二部構成になってますのであなたのお好みの章をご覧ください。
レジスタンスラインとサポートラインを無料でMT4に導入する方法
レジスタンスラインとサポートラインを無料でMT4に実装させる方法は大きな作業の流れとして二つあります。
- 自動でレジスタンスラインとサポートラインを引ける無料ソフトをダウンロードする
- MT4にダウンロードしたソフトを実装する
となります。では、詳しく手順を解説していきますね。
自動でレジスタンスラインとサポートラインを引ける無料ソフトをダウンロードする
自動でレジスタンスラインとサポートラインをしかも無料でダウンロードできるソフトがあります。
実際に実装した画像が以下。
では早速無料ソフトをダウンロードしていきましょう。以下をクリックするだけでレジスタンスラインとサポートライン無料ソフトがダウンロードできます。
上記のソフトがダウンロードできたら続けてMT4にソフトを入れて使えるようにしましょう。
MT4にダウンロードしたソフトを実装する
MT4にソフトを実装させるには、大まかに2つの工程になります。工程といってもカンタンです。
- 実装したい通貨ペアを選ぶ
- ファイルを開いて実装
となります。
※今回の解説では外為ファイネストで使えるMT4で解説しています。MT4はどこでも共通の仕様となっているので操作方法はほとんど同じなはずです。
- 実装したい通貨ペアを選ぶ
- ファイルを開いて実装
2.ファイル→データフォルダを開く→MQL4を開く→Indicatorsを開く→ダウンロードしたzipフォルダを解凍し、中に入っている「__MACOSX」と「supply-and-demand.mq4」をIndicatorsファイルにコピーアンドペーストします。
※万が一まだMT4を準備できていない方がいたら、以下がMT4のダウンロード・設定方法となります。
※※MT4のダウンロード方法に内部リンク
レジスタンスラインとサポートラインをプログラミングで自由度高く作成する方法
レジスタンスラインとサポートラインをプログラミングで自作してMT4に入れることもできます。
レジスタンスラインとサポートラインの色をカスタマイズしたいなどの時は自作したほうが自由に改編できますよね。
自作すると以下のようなイメージが完成図です。
黄色の線がレジスタンスラインとサポートラインですね。
自作したプログラミングコードを紹介しますので、必要な方は使ってみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
#property copyright "" #property link "" #property indicator_chart_window extern int MaxLmt = 1000; extern int MaxCrsLv = 10; extern int LineWidth = 0; extern int LineStyle = 0; extern int TmPeriod = 0; extern double MaxR = 0.001; extern color LineColor = White; int LIndex = 0; double p1Num = 0.0; double p2Num = 0.0; datetime TMaxI = 0; color Colors[] = {Red,Maroon,Sienna,OrangeRed,Purple,Indigo,DarkViolet,MediumBlue,DarkSlateGray}; int Widths[] = {1,2,3,4,5,6,7,8,9}; string Alphabet[] = {"i","h","g","f","e","d","c","b","a"}; int CrsBarCnt[]; bool CrsBarMin[]; #define MxLine 1000 string LName[MxLine]; double GetPrLow(int i) { return (iLow(NULL,TmPeriod,i)); } double GetPrHigh(int i) { return (iHigh(NULL,TmPeriod,i)); } int GetPeriod2Int(int tp) { switch (tp) { case PERIOD_M1 : return(0); case PERIOD_M5 : return(1); case PERIOD_M15 : return(2); case PERIOD_M30 : return(3); case PERIOD_H1 : return(4); case PERIOD_H4 : return(5); case PERIOD_D1 : return(6); case PERIOD_W1 : return(7); case PERIOD_MN1 : return(8); } return (0); } string GetPeriod2AlpthabetString(int tp) { return (Alphabet[GetPeriod2Int(tp)]); } int init() { if (TmPeriod == 0) { TmPeriod = Period(); } if (TmPeriod != 0 && LineWidth == 0) { if (GetPeriod2Int(TmPeriod) - GetPeriod2Int(Period()) >= 0) { LineWidth = Widths[GetPeriod2Int(TmPeriod) - GetPeriod2Int(Period())]; } else { LineWidth = 0; if (LineStyle == 0) { LineStyle = STYLE_DASH; } } } if (TmPeriod != 0 && LineColor == White) { LineColor = Colors[GetPeriod2Int(TmPeriod)]; } return(0); } int deinit() { for (int i = 0; i < LIndex; i++) { ObjectDelete(LName[i]); } return(0); } int start() { int counted_bars = IndicatorCounted(); int limit = MathMin(Bars - counted_bars, MaxLmt); double p1 = GetPrLow(Lowest(NULL,TmPeriod,MODE_LOW,limit,0)); double p2 = GetPrHigh(Highest(NULL,TmPeriod,MODE_HIGH,limit,0)); if (p1Num != p1 || p2Num != p2) { ArrayResize(CrsBarCnt, (p2-p1) * 10000); ArrayResize(CrsBarMin, (p2-p1) * 10000); if (p1Num != p1 && p1Num != 0.0) { ArrayCopy(CrsBarCnt,CrsBarCnt, 0, (p1Num-p1) * 10000); ArrayCopy(CrsBarMin,CrsBarMin, 0, (p1Num-p1) * 10000); } p1Num = p1; p2Num = p2; } for (double d = p1; d <= p2; d += 0.0001) { int di = (d-p1) * 10000; for (int i = 1; i < limit; i++) { if (d > GetPrLow(i) && d < GetPrHigh(i)) { CrsBarCnt[di]++; } } if (Time[limit] != TMaxI && TMaxI != 0) { if (d > GetPrLow(iBarShift(NULL,0,TMaxI)) && d < GetPrHigh(iBarShift(NULL,0,TMaxI))) { CrsBarCnt[di]--; } } } TMaxI = Time[limit]-1; double l = MaxR * 10000; for (d = p1 + MaxR; d <= p2 - MaxR; d += 0.0001) { di = (d-p1) * 10000; if (!CrsBarMin[di] && CrsBarCnt[ArrayMaximum(CrsBarCnt,2*l,di-l)]-CrsBarCnt[ArrayMinimum(CrsBarCnt,2*l,di-l)]>MaxCrsLv && CrsBarCnt[di] ==CrsBarCnt[ArrayMinimum(CrsBarCnt,2*l,di-l)] && CrsBarCnt[di-1]!=CrsBarCnt[ArrayMinimum(CrsBarCnt,2*l,di-l)]) { CrsBarMin[di] = true; LName[LIndex] = GetPeriod2AlpthabetString(TmPeriod) + TmPeriod + "_" + d; ObjectCreate(LName[LIndex],OBJ_HLINE ,0,0,d); ObjectSet(LName[LIndex], OBJPROP_COLOR,LineColor); ObjectSet(LName[LIndex], OBJPROP_WIDTH,LineWidth); ObjectSet(LName[LIndex], OBJPROP_STYLE,LineStyle); LIndex++; } if (CrsBarMin[di] && CrsBarCnt[di] != CrsBarCnt[ArrayMinimum(CrsBarCnt, 2 * l, di - l)]) { CrsBarMin[di] = false; ObjectDelete(GetPeriod2AlpthabetString(TmPeriod) + TmPeriod + "_" + d); } } return(0); } |
自作したレジスタンスラインとサポートラインの色を変える方法
自作したレジスポラインであればある程度自由に自分の好きな色に変更することも可能です。
①MT4のチャート→表示中のインジゲータの順で開く
②自作したプログラミングファイル名→開くをクリック
③パラメーターの入力→色の所をダブルクリックすることで好きな色を選択できる
このレジサポラインの色変更についての解説は、「外為ファイネスのMT4」を使って解説しています。
お使いのMT4の仕様により、操作方法が異なることがありますのでご了承ください。
コメント