hgy等高手请进,希望帮助我完成这个指标

Discussion in 'AmiBroker' started by xiyun, Aug 8, 2009.

  1. 我不会用这个,如果方便请你教教我。非常感谢
     
  2. 打开和软件同来的帮助文件,进入其中的搜索菜单,输入需要查找的单词 "bar replay ", 在搜索结果中,打开'using fundamental data ", 里面有非常详细的使用方法。
     
  3. ok,非常感谢,我试试看,我英文水平一般,所以看这个帮助文件要下很多功夫。有时候还是感觉电脑出信号有遗漏,不知道你复盘结果如何,核对后感觉该出的地方却没有显示,唉,不知道为什么
     
  4. 你好,hgy兄长,我这里测试还是有信号一直在报警啊,真是搞不清楚为什么会这样,你说的问题我都注意到,已经纠正过来了啊?
     
  5. 确定没有重复使用saying在主图和附图吗?
    如果一定要在主图附图或不同周期下同时使用saying,全局变量的名称必须不一样
     
  6. 是啊,只有一个主图或者附图里面,不同周期里面,5.15分钟分别测试的,都是一出现信号就一直报警 ,我同时开着几个周期在看,不过报警都是分别测试的,不测试时是//状态。
     
  7. 如果一定要在主图附图或不同周期下同时使用saying,全局变量的名称必须不一样 ,“全局变量”这个怎么改?我想对应不同的信号都分别会有报警提示 ,希望实现这个功能,非常感谢,你帮助我好好研究一下吧
     
  8. //External function to replace the say() add desired spoken times.
    Intervals=NumToStr(Interval());
    function Saying( text, repeat )
    {
    speak=Nz(StaticVarGet("lastspeak"+Intervals));
    if( speak<=repeat )
    {
    StaticVarSet("lastspeak"+Intervals, speak+1 );
    PlotText(NumToStr(speak,1.0),BarCount+speak,80,2);
    Say( text );
    }
    }

    PrevBar=StaticVarGet("PB"+Intervals);
    CurrentBar=LastValue( BarIndex() );
    NewBar = PrevBar != CurrentBar;
    StaticVarSet("PB"+Intervals,CurrentBar);

    if(NewBar) StaticVarSet("lastspeak"+Intervals, 0 );
    //end of function as Saying(your text,number of voice)

    用这个代替以前的saying()
    测过了,可以的
     
  9. 是啊,这次是终于成功了,我这里测试也是正常,可是加在不同周期里面就是报错不能正常显示和报警了,请问你上次说的如果一定要在主图附图或不同周期下同时使用这个报警功能,全局变量的名称必须不一样 ,“全局变量”是指哪一个,应该怎么改啊?我想对应不同类型和周期的信号都分别会有报警提示 ,希望实现这个功能,请你再提示我一下。非常感谢!

    我是这样改的,结果对应的图表不能显示,报警还是一直持续

    PrevBar=StaticVarGet("PB1"+Intervals);
    CurrentBar=LastValue( BarIndex() );
    NewBar = PrevBar != CurrentBar;
    StaticVarSet("PB1"+Intervals,CurrentBar);
     
  10. 我需要在一个主图里面出现2种信号都报警,需要怎么作啊?目前直接粘贴是报错
     
  11. 我需要在一个主图里面各自出现几种种信号都报警,需要怎么作才可以啊?目前直接粘贴这个部分是报错
     

  12. //External function to replace the say() add desired spoken times.
    //Intervals=Interval();
    intervals=GetChartID();
    function Saying( text, repeat )
    {
    speak=Nz(StaticVarGet("lastspeak"+Intervals));
    if( speak<=repeat )
    {
    StaticVarSet("lastspeak"+Intervals, speak+1 );
    PlotText(NumToStr(speak,1.0),BarCount+speak,80,2);
    Say( text );
    }
    }
    PrevBar=StaticVarGet("PB"+Intervals);
    CurrentBar=LastValue( BarIndex() );
    NewBar = PrevBar != CurrentBar;
    StaticVarSet("PB"+Intervals,CurrentBar);
    if(NewBar) StaticVarSet("lastspeak"+Intervals, 0 );
    //end of function as Saying(your text,number of voice)

    就这样吧,不适合同样主图多种信号,但可以适合于不同charts同时发声,
    至于一个主图多种信号都报警?可以考量合并信号,或对照软件手册来修改saying中的全局变量,你自己发挥吧
     
  13. 谢谢你提醒,暂时这样子也是解决了我很多问题,等我们有空再慢慢研究那个吧。非常感谢您这几天一直耐心细致的帮助我解决了这些问题。