フロートインジケータの.mq4への書き換え ?
こんにちは、New Digitalです。
どなたかFloatインジケータをMT4用の.mq4スクリプトに書き換えた方はいらっしゃいませんか? こちらには.mql版があるようですね。 SBフォーラムでは、このインディケータについての議論があり、エキスパートが書かれましたが、インディケータ(バリー・スタンダーによって書かれた)はバグがあり、誰もソースコードを見つけることができません。 Gordagoのサイトに'Bigblock'による以下のスクリプトが投稿されているのを発見しました。このスクリプトが何であるかは分からないが、おそらく、これを.mq4ファイルとして動作させたいと思う野心家にとっては、ロジックが明確なのだろう? barry S.の'Float'と同じかもしれませんが、こちらの方が長いです(私はコーダーではありません)。
上に掲載したFloatインジケータのうち、私が好むのは、青いヒストグラムの線のランプを作るものです。 SBフォーラムにあったバグだらけのFloatファイルも添付しておきます。
-MJ
-----------------------------
/*[[
名前 := FLOAT
作者 := Bigblockfw
セパレート・ウインドウ := Yes
最初の色 := 青
最初の描画タイプ:= ヒストグラム
最初のシンボル := 217
2つ目のデータの使用 := Yes
第二の色 := 赤
第二の描画タイプ := 線
2つ目のシンボル := 218
Floatの値を100に変更すると、15分足チャートで正しく表示されるようになります。
200 = 30分 20 = 5分
]]*/
input : float(100),use_fibos(1),Backtesting(0);
変数:
shift(0),f(0),c1(0),high_bar(0),Low_bar(0),bars_high(0),bars_low(0);
変数:
累積V(0),FLOATV(0),累積V2(0),loopbegin2(0),swing(0),swing_time(0);
変数 : swingv(0),loopbegin1(0),cnt(0);
変数 : first(True),first1(True), prevbars(0);
変数 : cvstart(0),cvend(0),bar(0),newcv(0),CV(0),CV2(0);
変数:fib23(0),fib38(0),fib50(0),fib62(0),fib76(0);
変数:dinap0(0),dinap1(0),dinap2(0),dinap3(0),dinap4(0),dinap5(0);
変数:CVL(0),CVL1(0),CVL2(0),CVL3(0),CVL4(0);
cumulativeV=0;
cumulativeV2=0;
SetLoopCount(0);
If Bars 1 Then
first = True;
first1 = True;
prevbars = Bars;
FLOATV=0;
If first Then Begin
loopbegin1 = Bars-float-1;
loopbegin2 = Bars-float-1;
first = False;
loopbegin1 = loopbegin1+1;
For shift = loopbegin1 Downto 0 Begin
//ハイとローを見つける
high_bar = H;
Low_bar = L[Lowest(MODE_LOW,float,float)];
//バーカウントを求める
bars_high = 最高値(MODE_HIGH,float,float);
bar_low=最低(MODE_LOW,float,float);
//スイング値幅を求める
スイング = H
L[最下位(MODE_LOW,float,float)];
//フロート時間バーカウントを求める
swing_time = abs(bars_low-bars_high);
//フロート期間中の累積出来高を求める
IF bars_high < bars_low then
{
cvstart=bars_low;
cvend=bars_high;
}
それ以外の場合
{
cvstart=bars_high;
cvend=bars_low;
}
If first1 and FLOATV=0 Then Begin
for shift = cvstart downto cvend Begin { (シフト = cvstart から cvend まで)
FLOATV=FLOATV+V[shift];
first1 = False;}.
を終了します。
//前回のターンオーバーからの累積量を求める
for shift = cvstart downto 0 Begin
cumulativeV=cumulativeV+V[shift]。
if cumulativeV>=FLOATV then{.
cumulativeV=0;
}
SetIndexValue(shift,cumulativeV*0.001);//Blue
SetIndexValue2(shift,FLOATV*0.001);//赤色
コメント(
"ⅳ","高値は",bars_high,,"bars ago",
"Ⅻ","低 "は",bars_low, "bars ago","ⅶ"Ⅻ",
"ⅷ"フロート時間 = ", swing_time," bars",
"Ⅾn", "フロートVol.左 = ",FLOATV-cumulativeV."。
"ⅳ","フロートボリューム=",FLOATV
);
MoveObject("swingtop",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[1],high_bar,Blue,1,STYLE_SOLID);
MoveObject("swingbottom",OBJ_TRENDLINE,Time[cvstart],Low_bar,Time[1],Low_bar,Blue,1,STYLE_SOLID);
//fibos
use_fibos=1 ならば{.
fib23=((high_bar-Low_bar)*0.236)+Low_bar;
fib38=((high_bar-Low_bar)*0.382)+Low_bar;
fib50=((high_bar-Low_bar)/2)+Low_bar。
fib62=((high_bar-Low_bar)*0.618)+Low_bar;
fib76=((high_bar-Low_bar)*0.764)+Low_bar;
dinap0=(Low_bar+fib23)/2。
dinap1=(fib23+fib38)/2;
dinap2=(fib38+fib50)/2;
dinap3=(fib50+fib62)/2;
dinap4=(fib62+fib76)/2;
dinap5=(high_bar+fib76)/2。
MoveObject("fib23",OBJ_TRENDLINE,Time[cvstart],fib23,Time[1],fib23,Green,1,STYLE_DASH);
SetObjectText("23", "23.6", "Arial",8,green);
MoveObject("23", OBJ_TEXT,time[0],fib23,time[0],fib23,Green);
MoveObject("fib38",OBJ_TRENDLINE,Time[cvstart],fib38,Time[1],fib38,Green,1,STYLE_DASH); MoveObject("fib38",OBJ_TRENDLINE,Time[1],fib38,Green,1,STYLE_DASH);
SetObjectText("38", "38.2", "Arial",8,green);
MoveObject("38", OBJ_TEXT,time[0],fib38,time[0],fib38,Green);
MoveObject("fib50",OBJ_TRENDLINE,Time[cvstart],fib50,Time[1],fib50,Red,2,STYLE_SOLID); MoveObject("fib50",OBJ_TRENDLINE,Time[1],fib50,Red,2,STYLE_SOLID);
SetObjectText("50", "50", "Arial",8,green);
MoveObject("50",OBJ_TEXT,time[0],fib50,time[0],fib50,Green); SetObject("50",OBJ_TEXT,time[0],fib50,Green);
MoveObject("fib62",OBJ_TRENDLINE,Time[cvstart],fib62,Time[1],fib62,Green,1,STYLE_DASH); MoveObject("fib62",OBJ_TRENDLINE,Time[1],fib62,Green,1,STYLE_DASH);
SetObjectText("62", "61.8", "Arial",8,green);
MoveObject("62", OBJ_TEXT,time[0],fib62,time[0],fib62,Green);
MoveObject("fib76",OBJ_TRENDLINE,Time[cvstart],fib76,Time[1],fib76,Green,1,STYLE_DASH); MoveObject("fib76",OBJ_TRENDLINE,Time[1],fib76,Green,1,STYLE_DASH);
SetObjectText("76", "76.4", "Arial",8,green);
MoveObject("76",OBJ_TEXT,time[0],fib76,Green);
MoveObject("dinap0",OBJ_TRENDLINE,Time[cvstart],dinap0,Time[1],dinap0,Red,1,STYLE_DOT);
MoveObject("dinap1",OBJ_TRENDLINE,Time[cvstart],dinap1,Time[1],dinap1,Red,1,STYLE_DOT);
MoveObject("dinap2",OBJ_TRENDLINE,Time[cvstart],dinap2,Time[1],dinap2,Red,1,STYLE_DOT);
MoveObject("dinap3",OBJ_TRENDLINE,Time[cvstart],dinap3,Time[1],dinap3,Red,1,STYLE_DOT);
MoveObject("dinap4",OBJ_TRENDLINE,Time[cvstart],dinap4,Time[1],dinap4,Red,1,STYLE_DOT);
MoveObject("dinap5",OBJ_TRENDLINE,Time[cvstart],dinap5,Time[1],dinap5,Red,1,STYLE_DOT);
}
//浮動小数点数の計算を行う線を描きます.
//トレンドラインをVラインに変更すると、オシレータも通過して描画されるので面白いかもしれない。
MoveObject("CVSTART",OBJ_TRENDLINE,Time[cvstart],high_bar,Time[cvstart],Low_bar*point,Blue,1,STYLE_SOLID).MoveObject("CVSTART",OBJ_TRENDLINE,Time[cvstart],Low_bar*point,Blue,1,STYLE_SOLID);
MoveObject("CVEND",OBJ_TRENDLINE,Time[cvend],high_bar,Time[cvend],Low_bar*point,Blue,1,STYLE_SOLID);
//浮動小数点数の予測を反転させます。これらは,時間だけに基づいています.
//実際の浮動小数点数については、青いヒストグラムを参照してください。
//トレンドライン」を「Vライン」に変更すると、オシレータも通過して描画されます。
if cvend-swing_time>0 then {.
MoveObject("swingend",OBJ_TRENDLINE,Time[(cvend-swing_time)+5],high_bar,Time[cvend-swing_time+5],Low_bar,Red,1,STYLE_DOT).を使って、トレンドラインを描画することができます。
}
else DelObject("swingend",0,0,0)。
もしcvend-(swing_time*2)>0なら{。
MoveObject("swingend2",OBJ_TRENDLINE,Time[(cvend-(swing_time*2))+5],high_bar,Time[cvend-(swing_time*2) +5],Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend2",0,0,0)。
if cvend-(swing_time*3)>0 then {.
MoveObject("swingend3",OBJ_TRENDLINE,Time[(cvend-(swing_time*3))+5],high_bar,Time[cvend-(swing_time*3)+5],Low_bar,Red,1,STYLE_DOT);
}
else DelObject("swingend3",0,0,0)。
if cvend-(swing_time*4)>0 then {.
MoveObject("swingend4",OBJ_TRENDLINE,Time[(cvend-(swing_time*4))+5],high_bar,Time[cvend-(swing_time*4)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend4",0,0,0)。
if cvend-(swing_time*5)>0 then {.
MoveObject("swingend5",OBJ_TRENDLINE,Time[(cvend-(swing_time*5))+5],high_bar,Time[cvend-(swing_time*5)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend5",0,0,0)。
if cvend-(swing_time*6)>0 then {.
MoveObject("swingend6",OBJ_TRENDLINE,Time[cvend-(swing_time*6)+5],high_bar,Time[cvend-(swing_time*6)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend6",0,0,0)。
if cvend-(swing_time*7)>0 then {.
MoveObject("swingend7",OBJ_TRENDLINE,Time[cvend-(swing_time*7)+5],high_bar,Time[cvend-(swing_time*7)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend7",0,0,0)。
if cvend-(swing_time*8)>0 then {.
MoveObject("swingend8",OBJ_TRENDLINE,Time[cvend-(swing_time*8)+5],high_bar,Time[cvend-(swing_time*8)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend8",0,0,0)。
もしcvend-(swing_time*9)>0なら{。
MoveObject("swingend9",OBJ_TRENDLINE,Time[cvend-(swing_time*9)+5],high_bar,Time[cvend-(swing_time*9)+5],Low_bar,Red,1,STYLE_DOT) を実行します。
}
else DelObject("swingend9",0,0,0)。
//使っていないものはコメントアウトしておくと、スピードアップにつながります。
もし、Backtesting = 1 ならば {
SetGlobalVariable("fib23",fib23)。
SetGlobalVariable("fib38",fib38);。
SetGlobalVariable("fib50",fib50)を設定します。
SetGlobalVariable("fib62",fib62)を設定します。
SetGlobalVariable("fib76",fib76)を設定します。
SetGlobalVariable("dinap0",dinap0)を設定します。
SetGlobalVariable("dinap1",dinap1)を設定します。
SetGlobalVariable("dinap2",dinap2)を設定します。
SetGlobalVariable("dinap3",dinap3)を設定します。
SetGlobalVariable("dinap4",dinap4)を設定します。
SetGlobalVariable("dinap5",dinap5)を設定します。
SetGlobalVariable("swingtop",high_bar)を設定します。
SetGlobalVariable("swingbottom",Low_bar)を設定します。
SetGlobalVariable("CVSTART",CVSTART)を設定する。
SetGlobalVariable("CVEND",CVEND);。
SetGlobalVariable("FLOATV",FLOATV)。
SetGlobalVariable("cumulativeV",cumulativeV).を設定する。
SetGlobalVariable("swing_time",swing_time)。
SetGlobalVariable("bars_high",bars_high)を設定します。
SetGlobalVariable("bars_low",bars_low)を設定します。
if cvend-swing_time>0 then
SetGlobalVariable("swingend",(cvend-swing_time)+5);
if cvend-(swing_time*2)>0 then
SetGlobalVariable("swingend2",cvend-(swing_time*2)+5)。
もしcvend-(swing_time*3)>0なら
SetGlobalVariable("swingend3",cvend-(swing_time*3)+5)。
もしcvend-(swing_time*4)>0なら
SetGlobalVariable("swingend4",cvend-(swing_time*4)+5)。
もしcvend-(swing_time*5)>0なら
SetGlobalVariable("swingend5",cvend-(swing_time*5)+5)。
もしcvend-(swing_time*6)>0なら
SetGlobalVariable("swingend6",cvend-(swing_time*6)+5).もしcvend-(swing_time*6)>0であれば。
もしcvend-(swing_time*7)>0なら
SetGlobalVariable("swingend7",cvend-(swing_time*7)+5)。
もしcvend-(swing_time*8)>0なら
SetGlobalVariable("swingend8",cvend-(swing_time*8)+5).もしcvend-(swing_time*8)>0なら;
もしcvend-(swing_time*9)>0なら
SetGlobalVariable("swingend9",cvend-(swing_time*9)+5)で設定します。
}
終了
を終了します。
を終了します。
を終了します。
こんにちは。
MT4用のfloatインジケータを持っていますが、EX4ファイルにはBarry Standerのウェブページにあるものしか入っていません。
http://www.4africa.net/4meta/Indicators/
乾杯
EX4ファイルの使い方を教えてください。 フロートインジケータ
MFXさん、こんにちは。
ご協力ありがとうございます。しかし、EX4ファイルを使える.mq4ファイルにする方法がわからないのですが?そうなんですか?MetaEditor内から開いても、"Please download newest file. "と表示されるだけです。 どこからかは書いてありません。 添付していただいたファイルを.txtファイルにして開こうとすると、ただの文字化けです。 何かいい方法はないでしょうか?
ありがとうございます。
MJ
こんにちは。
ex4 file don't open in the Meta Editor.Copy to your paste C:Progam FilesMetaTrader Mathematics Indicators and restart your plataform, If youuse iCustom mode it's running too.
Cheers
みんな、時間を無駄にしないでね。MT4用の最後のフロートも、バリーズフロートも、歴史の中で自分自身を変化させているので、彼らが示すものは真実ではありません。
この1年間、どのフォーラムでも、フロート・インディケータ(MA`sではなく、FibsとHistogramsを使ったもの)の実用版を見たことがありません。
Barryさん、ソースファイルをありがとうございました。
mq4でfloatのインジケータを試しましたが、確かに時々リペイントされますね。 フロートはかなり信頼できそうですが、その割合が少ないです。 何ヶ月か前にデモで試したことがありますが、100%ではありませんが、実際にトレードできるようです。 ここに掲載されているfloatのインジケーターは、私が使ったことのあるインジケーターとは違うものです。
mq4でfloatインジケータを試しましたが、確かに時々リペイントされますね。 フロートはかなり信頼性が高いようですが、その割合が少ないですね。 何ヶ月か前にデモで試したことがありますが、100%ではありませんが、実際にトレードできるようです。 ここに掲載されているfloatのインジケーターは、私が使ったことのあるインジケーターとは違うものです。
どれをお使いでしょうか、投稿していただけませんか?
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索
非常に興味深いインジケーターです。添付の画像をご覧ください。
赤がアフラットです。aflatの間は取引していないようです。