前回同様MQL4のコード変更です。MQL4の知識は全く有りませんので、ご承知の上お読みください。
シグナル系Indicatorでシンボルの表示位置を変更できるIndicatorも有りますが、多くのIndicatorに其の機能は付
てませんよね。表示位置を少し上に(下に)したい、とか思ったこと 有りませんか。
チャートの足に埋もれたり、重なって表示されたり、〇〇眼の身にはいささか辛い。
思い立って、MQL4コードの中で何処が表示の位置を決めているか探してみた。
何となく 此処じゃーないかな~ と思ったのが下の例。
例
SetIndexStyle(0, DRAW_ARROW); *1
SetIndexArrow(0, 233);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_ARROW);
SetIndexArrow(1, 234);
SetIndexBuffer(1, CrossDown);
CrossUp[i] = Low[i] - Range*0.5; *2
CrossDown[i] = High[i] + Range*0.5;
Low[i] - Range*0.5 で 安値から マイナスRange*0.5 の位置 同様に
High[i] + Range*0.5 で 高値から プラスRange*0.5 の位置 という事だろう。
CrossUp[i]( CrossDown[i])は配列変数だと思うので例えばnemakiUp[neko] でも良いかな。但し*1の
CrossUp も nemakiUpでないと。
0.5を1.0に替て表示させてみた。赤・緑が 0.5 オレンジ・黄 が 1.0
Indicatorの 編集 で変更出来るようにすれば良いのだが、そこまでの知恵は、老いぼれ頭には無い。
まぁ、此れで良しとする、と言うか此れしか出来ない。
上記以外の記述例
Low[shift] - n*Point);
Hight[shift] + n*Point);
nは変数なので、ここより上のどこかに n=** と記述されているはず、 ** を替えれば良いと思われます。
ちなみに、画像の水平ラインは現在の、ねまき猫のポジション、下でLongエントリー、上で指値して、就寝、
惜しくも(でもないか)届かず。 マイナス街道驀進中!!