问吧! - 页 7

 

你好,我在mq4中附上了一个指标,只要cci<-150就会发出警报。

它是以点为单位发出警报的;谁能修改它,使它只在蜡烛收盘时发出警报?

在这种情况下,我只想在5分钟的蜡烛收盘时,当cci<-150时发出警报。

谢谢

附加的文件:
 

好的,第二个问题,我认为这个问题很简单。

我正在建立一个用户指标,当价格接近跨越MA时提醒我。

我使用iCustom来导入 MA指标

然后我不知道如何使用收盘价;我试过CLOSE和PRICE_CLOSE,但没有结果。

如果(CLOSE?>MA1)

adxvalue= -1。

如果(PRICE_CLOSE?>ma1)

adxvalue= -1。

另外,我想让警报只在5分钟的柱子结束时响起,而不是在每一个点的基础上工作:我还应该改变什么(这个问题是我前一个帖子中的问题)?

谢谢

 

Hi Codersguru,

你能帮助我在Osma Color中编写一个警报代码,以便在颜色改变时发出警报。

谢谢

邓肯

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

//| OsMA_color.mq4|

//| Rafael |

//|marynarz15@wp.pl| |

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

#财产版权 "Rafael"

#property link "marynarz15@wp.pl"

//---- 指标设置

#属性 indicator_separate_window

#属性 indicator_buffers 2

#属性 indicator_color1 Lime

#属性 indicator_color2 Red

//---- 指标参数

extern int FastEMA=12;

extern int SlowEMA=26;

extern int SignalSMA=9;

//---- 指标缓冲区

double ind_buffer1a[];

double ind_buffer1b[];

double ind_buffer2[];

双倍 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);

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

//---- 3个指标缓冲区的映射

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

!SetIndexBuffer(1,ind_buffer1b) && !

!SetIndexBuffer(2,ind_buffer2) && !

!SetIndexBuffer(3,ind_buffer3))

Print("不能设置指标缓冲区!")。

//---- DataWindow和指标子窗口标签的名称

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

//---- 初始化完成

return(0);

}

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

//| 振荡器的移动平均线 |

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

开始()

{

int limit;

int counted_bars=IndicatorCounted()。

//----,检查可能的错误

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

//---- 最后一个被计算的柱子将被重新计算。

如果(counted_bars>0) counted_bars--;

limit=Bars-counted_bars。

//---- macd在第1个额外的缓冲区中被计数。

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。

如果(value>0) ind_buffer1a=value。

如果(value<0) ind_buffer1b=value。

}

//---- done

return(0);

}

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

 

尊敬的客户

我有一个能够识别蝴蝶图案的指示器,但它是为MT3编写的,谁能帮我一个忙,把它转换成MQL4。

附加的文件:
butterfly.mql  3 kb
 

我附上了两份PDF,其中提到了模式和规则的要点

附加的文件:
attachment2.pdf  141 kb
attachment1.pdf  189 kb
 

大家好。

你们可能都知道这个作者的名字,但从来不知道

他的方法被编入了软件。

Pesavento在其他书中写了这本精彩的书。

* 斐波那契比率与模式识别

* 股票交易的盈利模式

* 天文周期。交易员的观点

顺便说一下,我知道ENSIGN软件也有他原创的Pesavento模式研究工具,可以在下一个链接中看到。

如果有人能把它从ENSIGN导入到MetaTrader 4,那将是非常了不起的。

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

 

再次问好

我在两个平台上找到了Gartley 222模式的代码。

如果有人能把它翻译成MetaTrade 4,那将是极好的!

以下是这些代码。

1.TradeStation的Gartley 222模式的代码在 "Trading the Gartley 222" by Aaron Behle and Mark Conway, p. 38中找到。

输入。

长度(100)。

强度(8)。

公差(0.10)。

BullColor(Blue),

熊市颜色(红色)。

变量。

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(假的)。

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, High, Strength, Length);

P2Bar = SwingHighBar(2, High, Strength, Length);

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

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

如果P1Bar -1和

P2Bar -1 和

T1Bar -1 和

T2Bar -1 那么开始

{测试一个看涨的222}{测试一个看涨的222}。

{Trough X是T2}。

T2 = Low[T2Bar];

{尖峰A是P2}

P2 = 高点[P2Bar]。

{低谷B是T1} T1 = 低谷[T1Bar]; {低谷B是P2} P2 = 高谷[P2Bar]; {低谷B是T1

T1 = Low[T1Bar];

{峰值C是P1}P1 = 高点[P1Bar]; {峰值B是T1}T1 = 低点[T1Bar]; {峰值C是P1

P1 = 高点[P1Bar]。

{D是买入点}

GD = 低点。

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

HLValid = P1 T2和P1 > T1。

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

如果PTValid和HLValid和InZone然后开始

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 and 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;

如果C1和C2以及C3和C4然后开始

TL1 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P2Bar], Time[P2Bar], P2) 。

如果TL1 >= 0 那么开始

TL_SetColor(TL1, BullColor);

TL_SetStyle(TL1, Tool_Solid);

TL_SetSize(TL1, 2)。

结束。

TL2 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T1Bar], Time[T1Bar], T1) 。

如果TL2 >= 0 那么开始

TL_SetColor(TL2, BullColor);

TL_SetStyle(TL2, Tool_Solid);

TL_SetSize(TL2, 2)。

结束。

TL3 = TL_New(Date[T1Bar], Time[T1Bar], T1, Date[P1Bar], Time[P1Bar], P1) 。

如果TL3 >= 0 那么开始

TL_SetColor(TL3, BullColor);

TL_SetStyle(TL3, Tool_Solid);

TL_SetSize(TL3, 2)。

结束。

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

如果TL4 >= 0 那么开始

TL_SetColor(TL4, BullColor);

TL_SetStyle(TL4, Tool_Solid);

TL_SetSize(TL4, 2)。

结束。

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

如果TL5 >= 0 那么开始

TL_SetColor(TL5, BullColor);

TL_SetStyle(TL5, Tool_Dotted);

结束。

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

如果TL6 >= 0 那么开始

TL_SetColor(TL6, BullColor)。

TL_SetStyle(TL6, Tool_Dotted);

结束。

结束。

结束。

{测试一个看跌的222}{测试一个看跌的222}。

{峰值X是P2}

{最高点A是T2}。

{最高点B是P1}{最高点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 且 GD < P2 且 T2 <= Lowest(Low, P2Bar);

如果PTValid和HLValid以及InZone,那么开始

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 and 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;

如果C1和C2以及C3和C4然后开始

TL1 = TL_New(Date[P2Bar], Time[P2Bar], P2, Date[T2Bar], Time[T2Bar], T2) 。

如果TL1 >= 0 那么开始

TL_SetColor(TL1, BearColor)。

TL_SetStyle(TL1, Tool_Solid);

TL_SetSize(TL1, 2)。

结束。

TL2 = TL_New(Date[T2Bar], Time[T2Bar], T2, Date[P1Bar], Time[P1Bar], P1) 。

如果TL2 >= 0 那么开始

TL_SetColor(TL2, BearColor)。

TL_SetStyle(TL2, Tool_Solid);

TL_SetSize(TL2, 2)。

结束。

TL3 = TL_New(Date[P1Bar], Time[P1Bar], P1, Date[T1Bar], Time[T1Bar], T1) 。

如果TL3 >= 0 那么开始

TL_SetColor(TL3, BearColor)。

TL_SetStyle(TL3, Tool_Solid);

TL_SetSize(TL3, 2)。

结束。

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

如果TL4 >= 0 那么开始

TL_SetColor(TL4, BearColor)。

TL_SetStyle(TL4, Tool_Solid);

TL_SetSize(TL4, 2)。

结束。

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

如果TL5 >= 0 那么开始

TL_SetColor(TL5, BearColor)。

TL_SetStyle(TL5, Tool_Dotted);

结束。

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

如果TL6 >= 0 那么开始

TL_SetColor(TL6, BearColor)。

TL_SetStyle(TL6, Tool_Dotted);

结束。

结束。

结束。

结束。

2.财富-实验室代码。

程序 Gartley222

(

VPFactor: float;

容差:浮动。

Lookback: 整数。

HoldBars: 整数。

VolMin: 整数

);

开始

var ATRValue, VP, Reversal: float;

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

var Bar, P1Bar, P2Bar, T1Bar, T2Bar, p:整数。

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;

{Fibonacci常数}

F1 := 0.618;

F2 := 0.786;

F3 := 1.27;

F4 := 1.618;

安装基于时间的退出(HoldBars)。

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

开始

ApplyAutoStops(Bar);

ATRValue := ATR(Bar, Lookback);

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

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

{寻找高峰和低谷}。

Reversal := Int(VPFactor * VP);

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

P1Bar := PeakBar(Bar, #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点}{测试一个看涨的222点}。

{Trough X是T2}。

{峰值A是P2}

{槽点B是T1}{槽点C是P1

{峰值C是P1}{D是买入区}。

{D是买入区域}。

D := PriceLow(Bar);

PTValid := (P1Bar > T1Bar) and (T1Bar > P2Bar) and (P2Bar > T2Bar);

HLValid := (P1 T2) 和 (P1 > T1)。

InZone := (D T2);

如果(MarketPosition = 0)和

(SMA(Bar, #Volume, Lookback) >= VolMin) 和

(PTValid) 和 (HLValid) 以及 (InZone) 则

开始

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-公差)和(ABdXA<F1+公差)。

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 - Tolerance) 和 (CDdBC < F4 + Tolerance)。

ADdXA := AD / XA; {AD应该是XA的78.6%}。

C4 :=(ADdXA > F2 - Tolerance)和(ADdXA < F2 + Tolerance)。

如果C1和C2以及C3和C4,那么

开始

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);

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点}{测试看跌的222点}。

{峰值X是P2}

{最高点A是T2}。

{最高点B是P1}{最高点C是T1}。

{最高点C是T1}{最高点B是P1}{最高点C是T1}。

{D是空头区域}。

D := PriceHigh(Bar);

PTValid := (T1Bar > P1Bar) and (P1Bar > T2Bar) and (T2Bar > P2Bar);

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

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

如果(MarketPosition = 0)和

(PriceClose( Bar ) >= 5) 和

(SMA(Bar, #Volume, Lookback) >= VolMin) 和

(PTValid) 和 (HLValid) 和 (InZone) 则

开始

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-公差)和(ABdXA<F1+公差)。

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 - Tolerance) 和 (CDdBC < F4 + Tolerance)。

ADdXA := AD / XA; {AD应该是XA的78.6%}。

C4 :=(ADdXA > F2 - Tolerance)和(ADdXA < F2 + Tolerance)。

如果C1和C2以及C3和C4,那么

开始

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(Bar, D, T1Bar, T1, 0, #Red, #Solid);

DrawLine(Bar, 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;

结束。

结束。

如果LastPositionActive,那么

开始

如果MarketPosition = 1则开始

SellAtLimit(Bar+1, BT, #All, 'G222 LX+')。

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

结束。

如果MarketPosition = -1 那么开始

CoverAtLimit(Bar+1, ST, #All, 'G222 LX+');

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

结束。

结束。

结束。

结束。

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

 

什么是SMCMA和WCMA?

有谁知道这两个东西的MA以及在哪里可以得到并使用它们的Meta Trader 4?

1.SMCMA

2.WCMA

我唯一能知道的是,这些是某种类型的MA

(Moving Averages),但在哪里可以得到它们,如何使用它们呢?

bye

Zero_Forex

 

在EA中使用其他货币对?

有谁知道如何让专家顾问检查其他货币对的图表,以帮助决定你是否要进行买入或卖出? 例如,我怎样才能让EA查看usd-chf,作为决定是否买入或卖出gbp-chf的标准之一? 我有一个迄今为止我喜欢的EA,但我认为如果我也能把它写进程序来检查其他相关货币对,那会更好。 Codersguru,或其他能够提供帮助的人,请让我知道。

谢谢!

 
codersguru:
嗨,伙计们。

我收到很多私人信息,要求我帮助处理一些代码。

在这里,您可以发布与MQL4有关的问题,我会尽力回答。

嗨,编码员。

有没有可能让警报只在每个5分钟条形图上响一次?

有没有可能让警报只在条件满足时响一次?

然后关闭。

然后在下一个条形图打开时刷新指标,准备再次发出声音。

然后再关闭一次,直到再次满足0.0005的条件。

然后再开机,如此反复......

下面的指标在触发时可以在每个柱子上发出许多警报。

请看下面。

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

//| Juice.mq4 |

//| Perky_z ||

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

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

#财产版权 "perky"

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

//---- 指标设置

#属性 indicator_separate_window

#属性 indicator_buffers 2

#属性 indicator_color1 LimeGreen

#属性 indicator_color2 FireBrick

//---- 指标参数

外部 bool DoAlerts = false;

extern int AlertFromPips = 5;

extern int Periyod=7;

extern double Level=5。

外部 bool JuiceLevelsVisible = true;

外置 int JuiceStartPips = 5;

外置 int JuiceStepPips = 5;

外置 int JuiceLevelsNumber = 4;

外置颜色 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);

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

//---- 2个指标缓冲区的映射

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

!SetIndexBuffer(1,OsMADownBuffer))

Print("不能设置指标缓冲区!")。

//---- DataWindow和指标子窗口标签的名称

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

//---- 初始化完成

返回(0)。

}

int SetLevelLines()

{

string levelLabel;

如果(JuiceLevelsVisible)

{

SetLevelStyle(STYLE_DASH,1,JuiceLevelColor)。

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

{

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

SetLevelValue(i,currentJuiceLevel);

levelLabel = "Level "+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()。

双倍的Juice.Juice.Juice.Juice.Juice.Juice.Juice.Juice;

bool TurnOnAlert = true。

//----,检查可能的错误

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

//---- 最后一个被计算的柱子将被重新计算

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

Level = Level*Point;

如果(Period()==5 ) Level=Level/2;

SetLevelLines()。

//---- 主循环

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

{

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

如果(Juice>0){

OsMAUpBuffer=Juice。

OsMADownBuffer=0。

}else if(Juice<0){

OsMADownBuffer=Juice。

OsMAUpBuffer=0。

}else{

OsMAUpBuffer=0。

OsMADownBuffer=0。

}

}

如果(DoAlerts)

{

如果(Juice > AlertFromPips*Point && Period() == 5)

{

如果(TurnOnAlert)

{

Alert("Juice above",AlertFromPips*Point," for ", Symbol())。

PlaySound("Tick.wav")。

TurnOnAlert = false;

}

}

否则

{

TurnOnAlert = true;

}

}

//---- done

return(0);

}

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

非常感谢您的帮助。

非常感谢。

Leigh.