#property indicator_separate_window#property indicator_minimum -3#property indicator_maximum 3#property indicator_buffers 1#property indicator_color1 Red#property indicator_level1 0.0//горизонтальный уровень N в отдельном окне индикатора, где N от 1 до 8 #property indicator_levelcolor Black // цвет горизонтальных уровней индикатора е #property indicator_levelwidth 1//толщина горизонтальных уровней индикатораdouble T_Vol[];
int init()
{ SetIndexBuffer (0, T_Vol);
SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 1);
IndicatorDigits(Digits);
return(0); }
int start(){
int limit;
int сounted_bars=IndicatorCounted();
if (сounted_bars==0) limit=Bars-1;
if (сounted_bars>0) limit=Bars-сounted_bars-1;
for(int i=limit;i>=0;i--){
int T_V=0;
if (Volume[i]>Volume[i+1])T_V=1;
if (Volume[i]<Volume[i+1])T_V=-1;
T_Vol[i]=T_V;
}
return(0);
}
機能はありませんが、MQL4+WinAPIで作ることができます。
こんにちは。コードは初歩的で複雑なものはないようですが、なぜインジケータラインが 表示されないのか、教えていただけませんか?Print (T_V) で確認したところ、値は出るのですが、なぜか行が表示されない?
質問を追加 します。 インジケーターを削除し、再度チャートに貼り付けたところ、線が表示されるようになりました。コンパイル時にインジケータが再計算されないのはなぜですか?
1.
変数 "SignalBar "の値は何ですか?また、インジケータはこのバーで計算されますか?
おそらくSignalBar=0で、インジケータが0本目のバーを計算しないのでしょう。
2.
はい、ビジュアルテスト中は、テストが完了するか中断されるまで、インジケーターバッファは表示されません。しかし、指標は重要です。
ご指摘ありがとうございます。しかし、今のところ何の役にも立っていない :(
そこで、現在、Expert Advisorへのインジケータの移管を 勉強しています。何かアドバイスがあれば、お断りしませんよ。:)
皆さん、こんにちは。
素人ながらプログラミングを勉強していた、久しぶりにプログラミングをしたいので質問させてください。
ブレークポイントを設定してもコンパイル時に何も起こらないのに、なぜMQL4でブレークポイントが必要なのですか?以前、C#でよくプログラミングをしていたのですが、プログラムの実行 中に一時停止があり、変数の値やどの関数が呼ばれたか、エラーがリストアップされるなど、その様子を確認することができました。しかし、ここではCompileを押しても何も起こりません。あるいは、どうにかしてDebugを有効にすることもできますが、方法がわかりません。
doubleMathRound( double value)" という関数がありますが、より大きな小数への丸めが必要で、整数やすでに小数である場合はそのままにしておきます。
例えば、こんな感じです。1) 0.744は0.8へ、1.233は1.3へ丸められます。
2) 0.9、3、1.5 は触れない。
言語の完全かつ詳細なDocumentationが あることすらご存知なのでしょうか。
NormalizeDouble
言語の完全かつ詳細なDocumentationが あることすらご存知なのでしょうか。
NormalizeDouble
上へ上へ、ちょっと単純ですね......?
数値を文字 列に変換し、この文字列の文字を処理する関数を書くことができます。小数点以下の数字が2桁以上ある場合だけ切り上げるのです。
数値を文字列に変換し、その文字列の中の文字を処理する関数を書くことができます。小数点以下の桁が2つ以上ある場合のみ丸めるのです。
double MathRound( double value)" という関数がありますが、より大きな小数への丸めが必要で、整数やすでに小数である場合はそのままにしておきます。
例えば、こんな感じです。1) 0.744は0.8へ、1.233は1.3へ丸められます。
2) 0.9、3、1.5 は触れない。