凤凰城来了! - 页 13

 
AZBOfin:
哇,我越看越糊涂了

我提出以下建议。

1)所有的计算都是基于服务器的时间,而不是本地时间

2) EA中的所有时间设置都应以格林威治标准时间为准。

3) 引入一个新的变量,名为ServerOffset

这个变量反映了从GMT时区到服务器时区的一个偏移。

我的本地时间是不相关的。今天我在这里是GMT-7,明天我可能是GMT-4,下周是GMT+2

但我的交易服务器总是在同一个地方。这应该是所有计算的基础。

只是我的2分钱--亨德里克你是男人,你怎么想?

蔚蓝海岸(AZBOfin

我也在考虑类似的问题......对于像我这样有时间转换障碍的人来说,要保持简单......我支持关于ServerOffset变量的动议......我希望我自己能知道如何做这个。我希望我自己也知道怎么做。我还没到编码的地步......唯一更好的是让代码检测到它需要的东西并自动调整,这样用户就不需要把它弄乱了。

 
附加的文件:
 
Hendrick:
我需要一些帮助。凤凰城的买入和卖出信号是由下面这段代码产生的。

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0)。

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1)。

.

亨德里克,我似乎仍然在这些板块上关注你。

Firebird v63g里有一个趋势代码,但没有被使用。我在修改后的Firebird中使用了它,它似乎在趋势期间可以阻止交易。

外部int DVLimit = 10; // 被Renato包括在内。

int TrendUp=0, Trenddown=0;

double iFXAnalyser(int FXA_Period, int mode, int shift)//由MrPip制作的本地函数

如果 ( (iFXAnalyser(0,MODE_DIV,0)>DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)>0 ) )Trendup=1。

如果 ( (iFXAnalyser(0,MODE_DIV,0)<-DVLimit*Point && iFXAnalyser(0,MODE_SLOPE,0)<0 ) )TrendDown=1。

然后在卖出触发器中DealTime==1之后的"&& TrendUp !=1"。而"&&TrendDown !=1 "在DealTime==1后触发BUY。

另一种方法是为RV!设置一个控制因素,以调节交易活动。

extern double RVI_Factor =50; // 0-200系数添加到RVI值中以调节交易活动。

然后在卖出和买入触发器中把RVI代码改为 "RVI(0+(RVI_Factor*Point)) "尊重。

另一种方法是放一个更大的iMA包络,以收紧活跃的交易区域,鼓励在非趋势期进行交易。

extern double doubleLimit = 0.15; // 第二个较高的包络线(带子),停止交易。

int Safe2=0。

如果( myMA*(1+(PercentLimit/100))=Ask) Safe2=1;

把"&&Safe2==1 "放在SELL和BUY触发器中。你可以附加第二个Firebird类型的指标,设置为PercentLimit来查看活跃的交易区域。

我使用一个Firebird和所有三个过滤器,它平均减少了约50%的交易,赢率约为90%。我遇到的问题是新闻对市场的影响。我已经向这个主题报告过,过去4个星期五有很大的负面影响,因为周四的未结交易。我正在测试消除交易日和/或时间,看看我是否能更好地管理历史上的集团损失。

亨德里克,这将是你的交易时间结果图的进一步发展,这将是一个很大的工作。但是,我希望有一个可以在6/24交易时间编程的EA,可以调查其历史,确定不好的交易时间并在这些时间停止交易,同时保持这些时间的幽灵交易历史。当历史上的幽灵交易再次获利时,这些时间将被重新确立为良好的交易时间。一厢情愿的想法,但我将尝试着去做这件事,或者看看是否有编码员能让它发挥作用。现在,我使用你的图表类型,并试图手动做这个。

打字太多了。好吧,这就是当你在一个线程上喝酒时发生的事情。如果这一切都没有意义,那是酒的错。

Wackena

 
Hendrick:
我需要一些帮助。凤凰城的买入和卖出信号是由下面这段代码产生的。

MA =iMA(NULL,MA_Timeframe,MA_Length,0,MODE_SMA,PRICE_OPEN,0)。

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1)。

在Firebird线程中,有人建议做如下修改。

而不是你的。

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1)。

他们把它改成。

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1)。

他们声称这能减少错误信号。这有帮助吗?

 

额外的信号

嗨,Hendrick。

在准备交易的时候,我总是在较高的TF上看到趋势的形成。

也许在同一个15分钟TF上给Phoenix增加一个额外的信号是有限的?

请看一下多时间框架指标XO。

你可以把它设置为你喜欢的任何TF,但对于在M15上工作的Phoenix,我

我想把它设置为H4或甚至D1。

也许在EA的输入面板上设置TF是最灵活的,这样就可以沿途进行优化。

请看所附的图片,该指标加载了两次;一次是M15,另一次是H4。

谢谢。

赫伯特

PS,我确实像Holyguy7今天提醒的那样将Firebird的iRVI改为iMACD,但尽管它在回测 中增加了Firebird的速度,作为一个副作用 ,我的印象是它没有消除虚假信号。

附加的文件:
 
holyguy7:
有人在Firebird线程上建议做以下改动。

而不是你的。

RVI=iRVI(NULL,0,10,MODE_MAIN,0)-iRVI(NULL,0,10,MODE_MAIN,1)。

他们把它改成。

RVI=iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,0)-iMACD(NULL,0,24,52,9,PRICE_CLOSE,MODE_MAIN,1)。

他们声称这样可以减少错误信号。这有帮助吗?

嘿,Holyguy。

对于Phoenix第二版,我现在在15M的图表上使用SMA120和SMA12。主要目的是防止Phoenix违背趋势进行交易。到目前为止,它似乎运作良好。

 
HerbertH:
嗨,Hendrick。

当准备交易时,我总是看向更高的TF来观察趋势的形成。

也许在同一个15分钟TF上给凤凰城增加一个额外的信号是有限的?

请看一下多时间框架指标XO。

你可以把它设置为你喜欢的任何TF,但对于在M15上工作的Phoenix,我

我想把它设置为H4或甚至D1。

也许在EA的输入面板上设置TF是最灵活的,这样就可以沿途进行优化。

请看所附的图片,该指标加载了两次;一次是M15,另一次是H4。

谢谢。

赫伯特

PS,我今天确实像Holyguy7提醒的那样把Firebird的iRVI改成了iMACD,但尽管它在回测中提高了Firebird的速度,作为一个副作用 ,我的印象是它并没有消除虚假信号。

嘿,Herberth。

见我之前对Holyguy的回答。

 

凤凰城 v2

凤凰城第二版。

变化。

删除了 分歧(我认为它没有用处)

删除了Surf-orders(性能不好)

用这段代码取代了RVI。

AdMA=(iMA(NULL,PERIOD_M15,120,0,0,3,1) - iMA(NULL,PERIOD_M15,12,0,0,3,1));

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

如果(AdMA > 1)

{

AdSELLSignal = true;

SortOrder = "SELLSignal";

}

如果(AdMA < -1)

{

AdBUYSignal = true;

SortOrder = "BUYSignal";

}

如果((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = true;

SortOrder = "BUYSELLSignal";

}

这段代码的目的是防止Phoenix在逆势下交易。

用于测试。

使用文件中的设置。TF=15。所有可用的货币对。

附加的文件:
 
Hendrick:
凤凰网2版。

变化。

删除了背离(我认为它没有用)。

删除了Surf-orders(性能不好)

用这段代码代替RVI。

AdMA=(iMA(NULL,PERIOD_M15,120,0,0,3,1) - iMA(NULL,PERIOD_M15,12,0,3,1))。

if(Point==0.0001) {AdMA=AdMA*1000;}

if(Point==0.01) {AdMA=AdMA*10;}

如果(AdMA > 1)

{

AdSELLSignal = true;

SortOrder = "SELLSignal";

}

如果(AdMA < -1)

{

AdBUYSignal = true;

SortOrder = "BUYSignal";

}

如果((AdMA > -1) && (AdMA < 1))

{

AdBUYSELLSignal = true;

SortOrder = "BUYSELLSignal";

}

这段代码的目的是防止Phoenix在逆势下交易。

用于测试。

使用文件中的设置。TF=15。所有可用的配对。

谢谢,放在图表上。

你是否做了任何回测

 
Yauhen:
谢谢,放在图表上。你是否做了任何回测?

你好。

没有回测,只有正向测试。