谁能帮助把这个指标的箭头加上报警声音,求助
谁能帮助把这个指标的箭头加上报警声音,求助,先谢啊//+------------------------------------------------------------------+
//| ASCTrend1sig_noSound.mq4|
//| Ramdass - Conversion only|
//+------------------------------------------------------------------+
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 Blue
//---- input parameters
extern int RISK = 4;
extern int CountBars = 30000;
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0, DRAW_ARROW, 0, 1);
SetIndexArrow(0, 234);
SetIndexStyle(1, DRAW_ARROW, 0, 1);
SetIndexArrow(1, 233);
SetIndexBuffer(0, val1);
SetIndexBuffer(1, val2);
if(CountBars >= 1000)
CountBars=950;
SetIndexDrawBegin(0, Bars - CountBars + 11 + 1);
SetIndexDrawBegin(1, Bars - CountBars + 11 + 1);
//----
return(0);
}
//+------------------------------------------------------------------+
//| ASCTrend1sig |
//+------------------------------------------------------------------+
int start()
{
int i, shift, counted_bars = IndicatorCounted();
int Counter, i1, value10, value11;
double value1, x1, x2;
double value2, value3;
double TrueCount, Range, AvgRange, MRO1, MRO2;
double Table_value2;
//----
value10 = 3 + RISK*2;
x1 = 67 + RISK;
x2 = 33 - RISK;
value11 = value10;
//----
if(Bars <= 11 + 1)
return(0);
//---- initial zero
if(counted_bars < 11 + 1)
{
for(i = 1; i <= 0; i++)
val1 = 0.0;
for(i = 1; i <= 0; i++)
val2 = 0.0;
}
//----
shift = CountBars - 11 - 1;
while(shift >= 0)
{
Counter = shift;
Range = 0.0;
AvgRange = 0.0;
//----
for(Counter = shift; Counter <= shift + 9; Counter++)
AvgRange=AvgRange + MathAbs(High - Low);
//----
Range = AvgRange / 10;
Counter = shift;
TrueCount = 0;
//----
while(Counter < shift + 9 && TrueCount < 1)
{
if(MathAbs(Open - Close) >= Range*2.0)
TrueCount = TrueCount + 1;
Counter=Counter+1;
}
//----
if(TrueCount >= 1)
{
MRO1 = Counter;
}
else
{
MRO1 = -1;
}
//----
Counter = shift;
TrueCount = 0;
//----
while(Counter < shift + 6 && TrueCount < 1)
{
if (MathAbs(Close - Close) >= Range*4.6)
TrueCount = TrueCount + 1;
Counter = Counter + 1;
}
//----
if(TrueCount >= 1)
{
MRO2 = Counter;
}
else
{
MRO2 = -1;
}
//----
if(MRO1 > -1)
{
value11 = 3;
}
else
{
value11 = value10;
}
//----
if(MRO2 > -1)
{
value11 = 4;
}
else
{
value11 = value10;
}
//----
value2 = 100 - MathAbs(iWPR(NULL, 0, value11, shift)); // PercentR(value11=9)
Table_value2 = value2;
val1 = 0;
val2 = 0;
value3 = 0;
//----
if(value2 < x2)
{
i1 = 1;
while(Table_value2 >= x2 && Table_value2 <= x1)
{
i1++;
}
//----
if(Table_value2 > x1)
{
value3 = High + Range*0.5;
val1 = value3;
}
}
if(value2 > x1)
{
i1=1;
while(Table_value2 >= x2 && Table_value2 <= x1)
{
i1++;
}
if(Table_value2 < x2)
{
value3 = Low - Range*0.5;
val2 = value3;
}
}
shift--;
}
return(0);
}
//+------------------------------------------------------------------+ [:2-123:] 把第一行的声明去了试试,那个应是管声音的
(瞎建议)
//|ASCTrend1sig_noSound.mq4| 把第一行的声明去了试试,那个应是管声音的
(瞎建议)
//|ASCTrend1sig_noSound.mq4|
baolilai 发表于 2011-6-6 14:05 http://www.y2.cn/images/common/back.gif
那是附加说明,不对程序起作用的. 本帖最后由 baolilai 于 2011-6-6 17:50 编辑
那是附加说明,不对程序起作用的.
dannygz 发表于 2011-6-6 16:21 http://www.y2.cn/images/common/back.gif
谢谢! 有空多讲点,
以前搞过C,VB等,现在都忘得差不多了。
重温一遍基本能看懂,各种程序中断循环语句,结构都差不多的,
不知MT4用的是什么‘语言。
页:
[1]