如何编码? - 页 328

 
mladen:
因为使用自定义指标,你可以在两个点之间保存状态(趋势),而当你使用iMA时,你不能(只是一个例子)。

所以理论上说,如果我在EA编程中用iMA指标取代stocastic equator指标,它应该能够工作?

谢谢

Terrance

 
tkuan77:
所以理论上说,如果我在我的EA编程中用iMA指标取代stocastic equator指标,它应该可以工作?

关于我们

Terrance

特伦斯

根据我的经验,当需要满足的条件有点复杂或包括以前的状态继承时,你可以为EA做的最好的事情是一个具有这些条件的自定义指标。这将在多个方面帮助你,但有两个可能是最重要的:它将简化你的EA代码(因为一部分逻辑将被转移到该自定义指标),更重要的是,你将能够 "一目了然 "地检查这些条件的结果(因为你有一个指标,将立即显示你的进入和退出是否会获利)。

这只是多了一点编码,但在测试中给你更多的自由和速度,并在检查一些毕竟被证明是无利可图的条件时节省了时间。

 
mladen:
Terrance

根据我的经验,当需要满足的条件有点复杂或包括以前的状态继承时,你可以为EA做的最好的事情是一个具有这些条件的自定义指标。这将在多个方面帮助你,但有两个可能是最重要的:它将简化你的EA代码(因为一部分逻辑将被转移到该自定义指标),而且可能更重要的是,你将能够 "一目了然 "地检查这些条件的结果(因为你有一个指标,将立即显示你进入和退出是否有利可图)。

这只是多了一点编码,但在测试中给你更多的自由和速度,并在检查一些条件时节省时间,毕竟这些条件会被证明是无利可图的。

谢谢mladen,我设法找到了一个方法,但是当测试EA的时候,我注意到我的随机指数 显示的是固定最小值18.93016和固定最大值82.92942。

我试图得到一个0的固定最小值和一个100的固定最大值。有什么办法可以做到这一点吗?

非常感谢,问候

特伦斯

 
tkuan77:
谢谢mladen,我设法找到了一个方法,但在测试EA时,我注意到我的随机指数显示为固定的最低值18.93016和固定的最大值82.92942。

我想得到一个固定的最小值为0,固定的最大值为100。有什么办法可以做到这一点吗?

非常感谢,问候

特伦斯

特伦斯

恐怕在没有例子的情况下,我不明白你说的随机数 的 "固定最小值 "和 "固定最大值 "是什么意思。随机,就其计算的性质而言,是以0和100为界限的,只取决于数据本身和所选择的价格是否会达到这些最低和最高值(如果你使用低/高价格域来计算随机,则非常少。使用收盘价/收盘价字段,那么你就能达到0和100。)

 

你好。

我试图编写一个指标,以显示我在实际开盘前同一方向的连续条数。

我有一个问题,当我改变tf和新的柱子打开时。它不能正确地更新这个数字。

你能帮助我吗?

谢谢你。

附加的文件:
 
dasio:
你好。

我试图编写一个指标,以显示我在实际开盘前同一方向的连续条数。

我有一个问题,当我改变tf和新的柱子打开时。它不能正确地更新这个数字。

你能帮助我吗?

谢谢你

大西欧

尝试不同的逻辑(如下面的例子)

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 LimeGreen

#property indicator_width1 2

double count[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { SetIndexBuffer(0,count); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

//

//

//

//

//

for(int i=limit; i>=0; i--)

{

count = count;

if (Close>Open) if (count<0) count = 1; else count +=1;

if (Close0) count = -1; else count -=1;

}

return(0);

}
 
mladen:
大西奥

尝试不同的逻辑(如下面的例子)。

#property indicator_separate_window

#property indicator_buffers 1

#property indicator_color1 LimeGreen

#property indicator_width1 2

double count[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

int init() { SetIndexBuffer(0,count); return(0); }

int deinit() { return(0); }

int start()

{

int counted_bars=IndicatorCounted();

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

if(counted_bars>0) counted_bars--;

int limit = MathMin(Bars-counted_bars,Bars-1);

//

//

//

//

//

for(int i=limit; i>=0; i--)

{

count = count;

if (Close>Open) if (count<0) count = 1; else count +=1;

if (Close0) count = -1; else count -=1;

}

return(0);

}

好的。谢谢你。我将尝试一下。

 

好的。

现在我把我需要的东西编成了代码。只有一个问题。这个数字的格式是x.00000000。是否有可能让它没有数字,如1,2,3?谢谢你

附加的文件:
 
dasio:
好了,现在我写出了我需要的代码。只有一个问题。这个数字的格式是x.00000000。是否有可能让它没有数字,如1,2,3?谢谢你

晓晓

简单替换

NormalizeDouble(MathAbs(count),1)[/CODE]

with

[CODE]DoubleToStr(MathAbs(count),0)
 
mladen:
dasio

简单地替换

NormalizeDouble(MathAbs(count),1)[/CODE]

with

[CODE]DoubleToStr(MathAbs(count),0)

就正确了 -.-"

谢谢你。

原因: