アスク! - ページ 7

 

こんにちは、mq4でcci<-150の時にアラートするインジケータを添付しました。

このインジケータはtick by tickベースでアラートされますが、ローソク足の終値でのみアラートするように変更することはできますか?

この場合、私は5mのローソクの終わりにcciが< -150である場合にのみアラートされることを希望します。

ありがとうございました。

ファイル:
 

OK、2つ目の質問ですが、これは簡単だと思います。

私は、価格がMAを横切ったときに警告するユーザーインジケータを構築しています。

iCustomを使ってMAインジケータをイン ポートしています。

CLOSEとPRICE_CLOSEを試しましたが、結果はダメでした。

if (CLOSE?>ma1)

adxvalue= -1;

if (PRICE_CLOSE?>ma1)

adxvalue= -1です。

また、私はアラートが5mバーの終わりにのみ鳴り、tick by tickベースで動作しないようにしたい:私は他に何を変更する必要があります(この質問は、私の前の投稿にあるものです)

ありがとうございます。

 

こんにちは、Codersguruです。

Osma Colorに色が変わったときにアラートが出るようにコーディングするのを手伝ってくれませんか?

ありがとうございます。

ダンカン

//+------------------------------------------------------------------+

//| OsMA_color.mq4(英語)

//| ラファエル

//|marynarz15@wp.pl

//+------------------------------------------------------------------+

#property copyright "ラファエル"

#property リンク "marynarz15@wp.pl"

//---- インジケーターの設定

#property indicator_separate_window(インジケーターウィンドウ

#property indicator_buffers 2 (インジケーターバッファー2)

#property indicator_color1 ライム

#property indicator_color2 レッド

//---- インジケーターのパラメーター

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalSMA=9;

//---- インジケータ・バッファ

double ind_buffer1a[];

double ind_buffer1b[];

double ind_buffer2[];

double ind_buffer3[]です。

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int init()

{

//---- カウントのために2つのバッファを追加で使用します。

IndicatorBuffers(4);

//---- 描画の設定

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。

SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,2);

SetIndexDrawBegin(0,SignalSMA)を設定します。

SetIndexDrawBegin(1,SignalSMA); SetIndexDrawBegin(1,SignalSMA);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);

//---- 3つの指標バッファのマッピング

if(!SetIndexBuffer(0,ind_buffer1a))&&。

!SetIndexBuffer(2,ind_buffer2)アンド&アンド

!SetIndexBuffer(3,ind_buffer3))です。

Print("cannot set indicator buffers!");

//データウィンドウとインジケータサブウィンドウのラベルの名前

IndicatorShortName("OsMA("+FastEMA+", "+SlowEMA+", "+SignalSMA+")");

//---- 初期化完了

return(0);

}

//+------------------------------------------------------------------+

//| オシレーターの移動平均

//+------------------------------------------------------------------+

int start()

{

int limit;

int counted_bars=IndicatorCounted();

//エラーの可能性をチェック

if(counted_bars<0) return(-1);

//---- 最後にカウントされたバーが再カウントされる

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

//---- 1st追加バッファでカウントされたmacd

for(int i=0; i<limit; i++)

ind_buffer2=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)。

-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);

//---- 2番目の追加バッファにカウントされる信号線

for(i=0; i<limit; i++)

ind_buffer3=iMAOnArray(ind_buffer2,Bars,SignalSMA,0,MODE_SMA,i);

//---- メインループ

double value=0;

for(i=0; i<limit; i++)

{

ind_buffer1a=0.0;

ind_buffer1b=0.0;

value=ind_buffer2-ind_buffer3です。

if (value>0) ind_buffer1a=value;

if (value<0)ind_buffer1b=value。

}

//----完了

return(0);

}

//+------------------------------------------------------------------+

 

こんにちは。

バタフライパターンを認識できるインジケーターがあるのですが、MT3用に書かれているので、どなたかMQL4に変換していただけませんか?

ファイル:
butterfly.mql  3 kb
 

2つのpdfを添付します。パターンの要旨とルールが記載されています。

ファイル:
attachment2.pdf  141 kb
attachment1.pdf  189 kb
 

ハイ

こんにちは。

皆さんはこの作者の名前を知っているかもしれませんが、この作者のメソッドがソフトウェアに

彼のメソッドがソフトウェアにコード化されていることを知りませんでした。

Pesaventoは、この素晴らしい本の中で、他の人たちの間を縫った。

* パターン認識によるフィボナッチ比率

* 株式取引のための収益性の高いパターン

* アストロ・サイクルトレーダーズビューポイント

ところで、私は、ENSIGNソフトウェアが、次のリンクで見ることができる彼のオリジナルのPesaventoパターン研究ツールを持っていることを知っている。

ENSIGNからMetaTrader 4にインポートしてくれる人がいたら、すごいことになりそうです。

http://www.ensignsoftware.com/help/pesavento.htm

 

またまた

2つのプラットフォームでガートレイ222パターンのコードを見つけました。

どなたかMetaTrade 4に翻訳していただければ幸いです。

ここにそのコードがあります。

1.TradeStation ガートレイ222パターンのコード Aaron Behle and Mark Conway著 "Trading the Gartley 222", p. 38に掲載されています。

入力

長さ(100),

強さ(8),

公差(0.10),

BullColor(青),

ベアカラー(赤);

変数

F1(0.618),

F2(0.786),

F3(1.27),

F4(1.618),

P1Bar(-1),

P2Bar(-1),

T1Bar(-1),

T2Bar(-1),

P1(0.0),

P2(0.0),

T1(0.0),

T2(0.0),

PTValid(False),

HLValid(False)。

InZone(False)。

GD(0.0),

XA(0.0),

AB(0.0),

BC(0.0),

CD(0.0),

AD(0.0)です。

C1(False)です。

C2(False)。

C3(False)です。

C4(False)です。

ABdXA(0.0),

BCdAB(0.0),

CDdBC(0.0),

ADdXA(0.0),

TL1(-1),

TL2(-1),

TL3(-1),

TL4(-1),

TL5(-1),

TL6(-1)です。

P1Bar = SwingHighBar(1, 高値, 強さ, 長さ);

P2Bar = SwingHighBar(2, 高値, 強さ, 長さ);

T1Bar = SwingLowBar(1、Low、Strength、Length);

T2Bar = SwingLowBar(2, Low, Strength, Length);

もしP1Bar -1 と

P2Bar -1かつ

T1Bar -1 と

T2Bar -1 Then Begin

{強気222のテスト}。

{トラフXはT2}。

T2 = 安値[T2Bar]。

ピークAはP2} {ピークAはP2

P2 = High[P2Bar];

トラフBはT1} {トラフBはT1

T1 = Low[T1Bar]。

{ピークCはP1}。

P1 = 高値[P1Bar];

{Dが買いポイント}です。

GD = Low;

PTValid = P1Bar < T1Bar かつ T1Bar < P2Bar かつ P2Bar < T2Bar;

HLValid = P1 T2 and P1 > T1;

InZone = GD T2 and P2 >= Highest(High, T2Bar);

If PTValid and HLValid and InZone Then Begin

XA = P2 - T2;

AB = P2 - T1;

BC = P1 - T1;

CD = P1 - GD。

AD = P2 - GD。

ABdXA = AB / XA; {ABはXAの61.8%でなければなりません}。

C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance;

BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。

C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance;

CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。

C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値;

ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。

C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;

If C1 and C2 and C3 and C4 Then Begin

TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2).もしTL1 >= 0 ならば、TL_New(Date[T2Bar], Time[T2Bar], T2);

If TL1 >= 0 Then Begin

TL_SetColor(TL1, BullColor);

TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。

TL_SetSize(TL1, 2); TL_SetSize(TL1, 2);

終了

TL2 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T1Bar], Time[T1Bar], T1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End;

If TL2 >= 0 Then Begin

TL_SetColor(TL2, BullColor);

TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)を設定する。

TL_SetSize(TL2, 2); TL_SetSize(TL2, 2);

終了

TL3 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date[P1Bar], Time[P1Bar], P1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End;

If TL3 >= 0 Then Begin

TL_SetColor(TL3, BullColor);

TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。

TL_SetSize(TL3, 2); TL_SetSize(TL3, 2);

終了

TL4 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD);

If TL4 >= 0 Then Begin

TL_SetColor(TL4, BullColor);

TL_SetStyle(TL4, Tool_Solid);

TL_SetSize(TL4, 2);

終了

TL5 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD);

If TL5 >= 0 Then Begin

TL_SetColor(TL5, BullColor);

TL_SetStyle(TL5, Tool_Dotted);

End

TL6 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date, Time, GD);

If TL6 >= 0 Then Begin

TL_SetColor(TL6, BullColor);

TL_SetStyle(TL6, Tool_Dotted);

End

End

End

{弱気222のテスト}。

{ピークXはP2}。

{トラフAはT2}。

{ピークBはP1}。

{トラフCはT1}。

{GDがショートポイント}。

GD = 高値です。

PTValid = T1Bar < P1Bar and P1Bar < T2Bar and T2Bar < P2Bar;

HLValid = T1 > T2 and P1 < P2 and T1 < P1;

InZone = GD > P1 and GD < P2 and T2 <= Lowest(Low, P2Bar);

If PTValid and HLValid and InZone Then Begin

XA = P2 - T2;

AB = P1 - T2;

BC = P1 - T1;

CD = GD - T1;

AD = GD - T2。

ABdXA = AB / XA; {ABはXAの61.8%でなければならない}。

C1 = ABdXA > F1 - Tolerance かつ ABdXA < F1 + Tolerance;

BCdAB = BC / AB; {BCはABの61.8-78.6%であるべきです}。

C2 = BCdAB > F1 - Tolerance かつ BCdAB < F2 + Tolerance;

CDdBC = CD / BC; {CDはBCの127-161.8%でなければならない}。

C3 = CDdBC > F3 - 許容値および CDdBC < F4 + 許容値;

ADdXA = AD / XA; {ADはXAの78.6%でなければならない}。

C4 = ADdXA > F2 - Tolerance and ADdXA < F2 + Tolerance;

If C1 and C2 and C3 and C4 Then Begin

TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2).もしTL1 >= 0 ならば、TL_New(Date[P2Bar], Time[P2Bar], P2);

If TL1 >= 0 Then Begin

TL_SetColor(TL1, BearColor);

TL_SetStyle(TL1, Tool_Solid).TL_SetSize(TL1)を設定する。

TL_SetSize(TL1, 2); TL_SetSize(TL1, 2);

終了

TL2 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P1Bar], Time[P1Bar], P1).If TL2 >= 0 Then TL_Settyle(TL1, 2); TL_SetSize(TL1, 2); End; End;

If TL2 >= 0 Then Begin

TL_SetColor(TL2, BearColor);

TL_SetStyle(TL2, Tool_Solid).TL_SetSize(TL2)。

TL_SetSize(TL2, 2); TL_SetSize(TL2, 2);

終了

TL3 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date[T1Bar], Time[T1Bar], T1).If TL3 >= 0 Then TL_Settyle(TL2, 2); TL_SetSize(TL2, 2); End; End;

If TL3 >= 0 Then Begin

TL_SetColor(TL3, BearColor);

TL_SetStyle(TL3, Tool_Solid).TL_SetSize(TL3)を設定する。

TL_SetSize(TL3, 2); TL_SetSize(TL3, 2);

終了

TL4 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date, Time, GD);

If TL4 >= 0 Then Begin

TL_SetColor(TL4, BearColor);

TL_SetStyle(TL4, Tool_Solid).TL_SetSize(TL4)を設定する。

TL_SetSize(TL4, 2);

終了

TL5 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date, Time, GD);

If TL5 >= 0 Then Begin

TL_SetColor(TL5, BearColor);

TL_SetStyle(TL5, Tool_Dotted);

End

TL6 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date, Time, GD);

If TL6 >= 0 Then Begin

TL_SetColor(TL6, BearColor);

TL_SetStyle(TL6, Tool_Dotted);

End

End

End

終了。

2.Wealth-Labのコード。

手順 Gartley222

(

VPFactor: float;

トレランス:float;

ルックバック:integer;

HoldBars: integer;

VolMin: 整数

);

開始

var ATRValue, VP, Reversal: float;

var F1、F2、F3、F4、P1、P2、T1、T2:float;

var Bar, P1Bar, P2Bar, T1Bar, T2Bar, p: integer;

var XA, AB, BC, CD, AD, D, XD, DT, ABdXA, BCdAB, CDdBC, ADdXA: float;

var PTValid, HLValid, InZone, C1, C2, C3, C4: boolean(ブール値);

var BT, BS, ST, SS: float;

{フィボナッチ定数}

F1 := 0.618;

F2 := 0.786;

F3 := 1.27;

F4 := 1.618;

TimeBasedExit(HoldBars)をインストールします。

for Bar := Lookback to BarCount() - 1 do

開始

ApplyAutoStops(Bar);

ATRValue := ATR(Bar, Lookback);

SetShareSize( 1000 * Int( 10 / ATRValue ) );

VP := 100 * ATRValue / PriceClose(Bar);

{ピークと谷を見つける}。

リバーサル := Int(VPFactor * VP);

P1 := Peak(Bar, #High, F1 * Reversal);

P1Bar := PeakBar(Bar, #High, F1 * Reversal); P2 := Peak(P1Bar, #High, F1 * Reversal);

P2 := Peak(P1Bar, #High, Reversal);

P2Bar := PeakBar(P1Bar, #High, Reversal);

T1 := Trough(Bar, #Low, F1 * Reversal);

T1Bar := TroughBar(Bar, #Low, F1 * Reversal);

T2 := Trough(T1Bar, #Low, Reversal);

T2Bar := TroughBar(T1Bar, #Low, Reversal);

{強気222のテスト}。

{トラフXはT2}。

{ピークAはP2}。

{トラフBはT1}。

{ピークCはP1}。

{Dは買いゾーン}。

D := PriceLow(Bar);

PTValid := (P1Bar > T1Bar) かつ (T1Bar > P2Bar) かつ (P2Bar > T2Bar);

HLValid := (P1 T2) and (P1 > T1);

InZone := (D T2);

if (MarketPosition = 0) and

(SMA(Bar, #Volume, Lookback) >= VolMin) かつ

(PTValid) and (HLValid) and (InZone) then

開始

XA := P2 - T2;

AB := P2 - T1;

BC := P1 - T1;

XD := P2 - (F2 * XA);

CD := P1 - XD;

AD := P2 - XD;

ABdXA := AB / XA; {ABはXAの61.8%であるべきです}。

C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance);

BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。

C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance);

CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。

C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。

ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。

C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。

if C1 and C2 and C3 and C4 then

開始

DrawLine(P2Bar, P2, T2Bar, T2, 0, #Blue, #Solid);

DrawLine(T1Bar, T1, P2Bar, P2, 0, #Blue, #Solid);

DrawLine(P1Bar, P1, T1Bar, T1, 0, #Blue, #Solid);

DrawLine(Bar, D, P1Bar, P1, 0, #Blue, #Solid);

DrawLine(Bar, D, T1Bar, T1, 0, #Blue, #Dotted)(バー、D、T1バー、T1、0、#Blue、#Dotted)。

DrawLine(Bar, D, T2Bar, T2, 0, #Blue, #Dotted);

AnnotateBar('B', Bar, True, #Blue, 10);

BuyAtLimit(Bar, XD, 'G222 LE');

DT := F1 * CD;

BT := XD + DT;

BS := T2;

を終了します。

を終了します。

{弱気222のテスト}。

{ピークXはP2}。

{トラフAはT2}。

{ピークBはP1}。

{トラフCはT1}。

{Dはショートゾーン}。

D := PriceHigh(Bar);

PTValid := (T1Bar > P1Bar) かつ (P1Bar > T2Bar) かつ (T2Bar > P2Bar);

HLValid := (T1 > T2) and (P1 < P2) and (T1 < P1);

InZone := (D > P1) and (D < P2);

if (MarketPosition = 0) and

(PriceClose( Bar ) >= 5) かつ

(SMA(Bar, #Volume, Lookback) >= VolMin)かつ

(PTValid) and (HLValid) and (InZone) then

開始

XA := P2 - T2;

AB := P1 - T2;

BC := P1 - T1;

XD := T2 + (F2 * XA);

CD := XD - T1;

AD := XD - T2;

ABdXA := AB / XA; {ABはXAの61.8%になるようにする}。

C1 := (ABdXA > F1 - Tolerance) かつ (ABdXA < F1 + Tolerance) です。

BCdAB := BC / AB; {BCはABの61.8〜78.6%であるべき}。

C2 := (BCdAB > F1 - Tolerance) and (BCdAB < F2 + Tolerance);

CDdBC := CD / BC; {CDはBCの127〜161.8%であるべき}。

C3 := (CDdBC > F3 - Tolerance) and (CDdBC < F4 + Tolerance)です。

ADdXA := AD / XA; {ADはXAの78.6%でなければならない}。

C4 := (ADdXA > F2 - Tolerance) and (ADdXA < F2 + Tolerance)とする。

if C1 and C2 and C3 and C4 then

開始

DrawLine(T2Bar, T2, P2Bar, P2, 0, #Red, #Solid);

DrawLine(P1Bar, P1, T2Bar, T2, 0, #Red, #Solid);

DrawLine(T1Bar, T1, P1Bar, P1, 0, #Red, #Solid); DrawLine(T1Bar, T1, P1Bar, P1, 0, #Solid);

DrawLine(Bar, D, T1Bar, T1, 0, #Red, #Solid);

DrawLine(Bar, D, P1Bar, P1, 0, #Red, #Dotted)(バー、D、P1Bar、P1、0、#Red、#Dotted);

DrawLine(Bar, D, P2Bar, P2, 0, #Red, #Dotted);

AnnotateBar('S', Bar, False, #Red, 10);

ShortAtLimit(Bar, XD, 'G222 SE');

DT := F1 * CD;

ST := XD - DT;

SS := P2;

を終了します。

end

if LastPositionActive then

開始

if MarketPosition = 1 then begin

SellAtLimit(Bar+1, BT, #All, 'G222 LX+').SellAtStop(Bar+1,BS,#All,G222LX-')。

SellAtStop(Bar+1, BS, #All, 'G222 LX-');

を終了します。

If MarketPosition = -1 then begin

CoverAtLimit(Bar+1, ST, #All, 'G222 LX+').CoverAtLimit(Bar+1、ST、#All、'G22 LX+')。

CoverAtStop(Bar+1, SS, #All, 'G222 LX-');

を終了します。

を終了します。

を終了します。

end

Gartley222(2.0, 0.1, 20, 7, 2000000);

 

SMCMAとWCMAは何ですか?

誰でもこれらの2つのもののMAとどこで取得し、Meta Trader 4のためにそれらを使用することについて何かを知っている

1.SMCMA

2.WCMA

私が知ることができた唯一のものは、これらはMAのいくつかのタイプであること

(Moving Averages)ですが、どこで手に入れ、どのように使うのでしょうか?

バイバイ

ゼロ_フォレックス

 

EAで他の通貨ペ アを使う?

Expert Advisorに他の通貨ペアのチャートをチェックさせて、売買の判断材料にする方法をご存知の方はいらっしゃいますか? 例えば、gbp-chfの売買を決定する基準の一部としてusd-chfを見るEAを作るにはどうしたらいいでしょうか? 今のところ気に入っているEAがあるのですが、他の関連ペアもチェックするようにプログラムに書き込めたらもっといいと思うのです。 Codersguruさん、または他にお手伝いいただける方がいらっしゃいましたら、ぜひ教えてください。

ありがとうございました。

 
codersguru:
皆さん、こんにちは。

プライベートメッセージで、あるコードの一部について助けを求めている人がたくさんいます。

ここでは、MQL4に関連する質問を投稿してください。

こんにちは、Coderです。

5分足ごとに1回だけアラートを鳴らすことは可能でしょうか?

条件を満たしたときに一度だけアラートが鳴るようにすることは可能ですか?

その後、オフにします。

その後、次のバーのオープニングでインジケータをリフレッシュし、再び音が鳴るようにします。

その後、0.0005の条件が満たされるまで、再びスイッチを切ります。

そしてまたスイッチを入れる......の繰り返し。

下のインジケータは、トリガーがかかると、1つのバーに何度もアラートを鳴らすことができます。

下記をご覧ください。

//+------------------------------------------------------------------+

//| Juice.mq4

//| Perky_z

//|http://fxovereasy.atspace.com/index

//+------------------------------------------------------------------+

#property copyright "パーキー"

#property link "http://fxovereasy.atspace.com/index"

//---- インジケータの設定

#property indicator_separate_window(インジケータ分離ウィンドウ

#property indicator_buffers 2 (インジケーターバッファー2)

#property indicator_color1 ライムグリーン

#property indicator_color2 ファイヤーブリック

//---- インジケーターのパラメーター

extern bool DoAlerts = false;

extern int AlertFromPips = 5;

extern int Periyod=7;

extern double Level=5;

extern bool JuiceLevelsVisible = true;

extern int JuiceStartPips = 5;

extern int JuiceStepPips = 5;

extern int JuiceLevelsNumber = 4;

extern color JuiceLevelColor = Silver;

//---- インジケーターバッファ

double OsMAUpBuffer[];

double OsMADownBuffer[];

double OsMAValue;

double currentJuiceLevel;

//+------------------------------------------------------------------+

//| カスタムインジケータ初期化関数

//+------------------------------------------------------------------+

int init()

{

//---- カウントのために2つのバッファを追加で使用します。

IndicatorBuffers(2);

//---- 描画の設定

SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID,2)を設定します。

SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID,1);

SetIndexDrawBegin(0,Level); SetIndexDrawBegin(0,Level);

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS)+2);

//---- 2つの指標バッファをマッピング

if(!SetIndexBuffer(0,OsMAUpBuffer) &&)

!SetIndexBuffer(1,OsMADownBuffer))。

Print("cannot set indicator buffers!");

//---- データウィンドウとインジケータサブウィンドウのラベルの名前

IndicatorShortName("Juice("+Periyod+", "+Level+")");

//---- 初期化完了

return(0);

}

int SetLevelLines()

{

文字列 levelLabel;

if(JuiceLevelsVisible)

{

SetLevelStyle(STYLE_DASH,1,JuiceLevelColor);

for(int i=1; i<= JuiceLevelsNumber; i++)

{

currentJuiceLevel = (JuiceStartPips + (i-1)*JuiceStepPips)*Point;

SetLevelValue(i,currentJuiceLevel)を設定します。

levelLabel = "レベル "+i+"。"+currentJuiceLevel "です。

SetIndexLabel(i,levelLabel)を設定します。

}

}else

{

for(i=1; i<= JuiceLevelsNumber; i++)

{

SetLevelValue(i,0.0)とする。

}

}

}

//+------------------------------------------------------------------+

//| オシレーターの移動平均

//+------------------------------------------------------------------+

int start()

{

//if ( Period != 15) Alert ("Juice Is Recommended for 15 Min Chart only!!!");

int limit,i;

int counted_bars=IndicatorCounted();

double Juice;

bool TurnOnAlert = true;

//---- エラーの可能性をチェック

if(counted_bars<0) return(-1);

//---- 最後にカウントされたバーが再カウントされる

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

レベル=レベル*ポイント

if (期間()==5 ) Level=Level/2;

SetLevelLines();

//---- メインループ

for(i=0; i<limit; i++)

{

Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level.Juice=iStdDev (NULL,0,Periyod,MODE_EMA,0,PRICE_CLOSE,i)-Level;

if(Juice>0){。

OsMAUpBuffer=Juice;

OsMADownBuffer=0;

}else if(Juice<0){。

OsMADownBuffer=Juice。

OsMAUpBuffer=0。

}else{

OsMAUpBuffer=0;

OsMADownBuffer=0。

}

}

if (DoAlerts)

{

if (Juice > AlertFromPips*Point && Period() == 5)

{

if (TurnOnAlert)

{

アラート("Juice above ",AlertFromPips*Point," for ", Symbol()).PlaySound("Tick.wav");。

PlaySound("Tick.wav")。

TurnOnAlert = false;

}

}

さもなければ

{

TurnOnAlert = true。

}

}

//----完了

return(0);

}

//+------------------------------------------------------------------+

皆様のご協力をお願いいたします。

Many Thanks.

リー