如何编码? - 页 315 1...308309310311312313314315316317318319320321322...347 新评论 Mladen Rakic 2012.10.05 03:33 #3141 ... 如果你需要固定的0.5,你可以使用MathSqrt(x) 但如果你也需要对可变的0.5部分进行计算,你可以使用MathPow(x,0.5)(0.5部分也可以改变)。 dasio: 你好。有没有一个函数可以让我计算这个操作? x^0,5 (x=已知值) 还有一个问题。 我有5位数的经纪人。是否有可能只得到已知值的前4位小数?谢谢你 谢谢你 dasio 2012.10.05 07:30 #3142 mladen: 如果你需要固定的0.5,你可以使用MathSqrt(x),但如果你也需要计算可变的0.5部分,你可以使用MathPow(x,0.5)(0.5部分也可以改变)。 谢谢你的答复。它工作得很好。 对于第二个要求? 如果我有5位数的经纪人,代码给我5位数的经纪人,但我需要4位数的。我怎样才能将数值从5位转为4位? 谢谢你 Mladen Rakic 2012.10.05 07:34 #3143 dasio 使用类似这样的东西: price4digit = NormalizeDouble(price,4); dasio: 谢谢你的回答。它工作得很好。对于第二个请求? 如果我有5位数的经纪人,代码给我5位数的经纪人,但我需要4位数的。我怎样才能将数值从5位转为4位? 谢谢你 sunshineh 2012.10.05 11:41 #3144 寻找相交点 你好。 我已经喜欢上了下面这个指标。 #property copyright "Kalenzo" #property link "bartlomiej.gorski@gmail.com" #property indicator_color1 DodgerBlue #property indicator_color2 Lime #property indicator_buffers 2 extern int MoMPeriod = 14; extern int MaType = MODE_EMA; extern int MaPeriod = 50; extern int TimeFrame = 60; double mom[], ema[], momTF[], emaTF[]; #property indicator_separate_window //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { //---- indicators IndicatorBuffers(4); SetIndexBuffer(0,mom); SetIndexBuffer(1,ema); SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2); SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1); SetIndexBuffer(2,momTF); SetIndexBuffer(3,emaTF); IndicatorShortName("MTF Momentum "+tf()); //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { //---- int bbshift,limit,limitTF; limit=Bars; limitTF = iBars(Symbol(),TimeFrame); for(int i=0; i<limitTF; i++) momTF = iMomentum(Symbol(),TimeFrame,MoMPeriod,PRICE_CLOSE,i); for(int j=0; j<limitTF; j++) emaTF[j] = iMAOnArray(momTF,0,MaPeriod,0,MaType,j); for(int t=0; t<limit; t++) { bbshift = iBarShift(Symbol(),TimeFrame,Time[t]); mom[t] = momTF; ema[t] = emaTF; } //---- return(0); } [/PHP] But I can't get the intersection point from this two lines with my ea, even I can't get the right value from the indicator, which is displayed. Why? I tried this for example: [PHP] x1= iCustom(NULL,0,"MOM_EMA_MTF",14,MODE_EMA,50,60,0,1); How to code? 编码帮助 Ojala EA dasio 2012.10.05 15:38 #3145 mladen: 晓晓使用类似这样的东西。 price4digit = NormalizeDouble(price,4); 嗨,mladen。 我是如何编码的? Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4) MathPow((MathPow(Pivot,0.5)+Number(defined)),2) 谢谢你 Mladen Rakic 2012.10.05 15:51 #3146 ... 第一行是好的 关于这一行的一个问题。 MathPow((MathPow(Pivot,0.5)+Number(defined)),2); 这一行的确切意图是什么?它的写法是返回(中枢的平方根+定义的增幅)的平方。这就是你所想的吗? dasio: 你好mladen。我的编码方式对吗? Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4) MathPow((MathPow(Pivot,0.5)+Number(defined)),2) 谢谢你 dasio 2012.10.05 15:54 #3147 mladen: 第一行是好的关于这一行的一个问题。 MathPow((MathPow(Pivot,0.5)+Number(defined)),2); 这一行的确切意图是什么?它的写法是返回(中枢的平方根+定义的增幅)的平方。这就是你所想的吗? 是的,它首先计算MathPow(Pivot,0.5)+Number(defined)的值,然后我必须计算结果的平方。 一个例子。 10 = 枢轴 1 = 定义的数字 我有((10^0,5)+1)^2 结果是。 ((3,162)+1)^2 ----> (4,162)^2------>17,324 Mladen Rakic 2012.10.05 15:56 #3148 然后就可以了 dasio: 是的,它首先计算MathPow(Pivot,0.5)+Number(defined)的值,然后我必须计算结果的平方。 dasio 2012.10.05 16:17 #3149 mladen: 然后就可以了 好的,谢谢你。 但我还需要这样的操作 (MathPow((MathPow((Pivot*10000),0.5)+number),2)/10000) 但如果我手动计算,它给我一个不同的值。 差异很高。 澄清一下,如果我有1,2989的枢轴,我需要做12989的操作,在所有操作之后,我需要将结果除以10000。 我不知道为什么它会给我不同的值。 Mladen Rakic 2012.10.05 16:31 #3150 dasio 我不知道那一行的 "意图"。从数学上讲,这一行没有任何问题(将 "数字 "设置为0,你会看到它将返回与Pivot完全相同的值,这意味着它工作正常,所以如果它与你期望的不同,唯一造成差异的部分是增加了 "数字")。你到底想用那一行来计算什么? dasio: 好的,谢谢你。但我也需要这样的操作 (MathPow((MathPow((Pivot*10000),0.5)+number),2) /10000) 但如果我手动计算,它给我一个不同的值。 差异很高。 澄清一下,如果我有1,2989的枢轴,我需要做12989的操作,在所有操作之后,我需要将结果除以10000。 我不知道为什么它给我不同的值 1...308309310311312313314315316317318319320321322...347 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
...
如果你需要固定的0.5,你可以使用MathSqrt(x)
但如果你也需要对可变的0.5部分进行计算,你可以使用MathPow(x,0.5)(0.5部分也可以改变)。
你好。
有没有一个函数可以让我计算这个操作?
x^0,5 (x=已知值)
还有一个问题。
我有5位数的经纪人。是否有可能只得到已知值的前4位小数?谢谢你
谢谢你如果你需要固定的0.5,你可以使用MathSqrt(x),但如果你也需要计算可变的0.5部分,你可以使用MathPow(x,0.5)(0.5部分也可以改变)。
谢谢你的答复。它工作得很好。
对于第二个要求?
如果我有5位数的经纪人,代码给我5位数的经纪人,但我需要4位数的。我怎样才能将数值从5位转为4位?
谢谢你
dasio
使用类似这样的东西:
谢谢你的回答。它工作得很好。
对于第二个请求?
如果我有5位数的经纪人,代码给我5位数的经纪人,但我需要4位数的。我怎样才能将数值从5位转为4位?
谢谢你寻找相交点
你好。
我已经喜欢上了下面这个指标。
#property copyright "Kalenzo"
#property link "bartlomiej.gorski@gmail.com"
#property indicator_color1 DodgerBlue
#property indicator_color2 Lime
#property indicator_buffers 2
extern int MoMPeriod = 14;
extern int MaType = MODE_EMA;
extern int MaPeriod = 50;
extern int TimeFrame = 60;
double mom[],
ema[],
momTF[],
emaTF[];
#property indicator_separate_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(4);
SetIndexBuffer(0,mom);
SetIndexBuffer(1,ema);
SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);
SetIndexBuffer(2,momTF);
SetIndexBuffer(3,emaTF);
IndicatorShortName("MTF Momentum "+tf());
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
int bbshift,limit,limitTF;
limit=Bars;
limitTF = iBars(Symbol(),TimeFrame);
for(int i=0; i<limitTF; i++) momTF = iMomentum(Symbol(),TimeFrame,MoMPeriod,PRICE_CLOSE,i);
for(int j=0; j<limitTF; j++) emaTF[j] = iMAOnArray(momTF,0,MaPeriod,0,MaType,j);
for(int t=0; t<limit; t++)
{
bbshift = iBarShift(Symbol(),TimeFrame,Time[t]);
mom[t] = momTF;
ema[t] = emaTF;
}
//----
return(0);
}
[/PHP]
But I can't get the intersection point from this two lines with my ea, even I can't get the right value from the indicator, which is displayed.
Why?
I tried this for example:
[PHP]
x1= iCustom(NULL,0,"MOM_EMA_MTF",14,MODE_EMA,50,60,0,1);
晓晓
使用类似这样的东西。
嗨,mladen。
我是如何编码的?
Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4)
MathPow((MathPow(Pivot,0.5)+Number(defined)),2)
谢谢你
...
第一行是好的
关于这一行的一个问题。
这一行的确切意图是什么?它的写法是返回(中枢的平方根+定义的增幅)的平方。这就是你所想的吗?
你好mladen。
我的编码方式对吗?
Pivot = NormalizeDouble(( PDayHigh + PDayLow + Close ) / 3,4)
MathPow((MathPow(Pivot,0.5)+Number(defined)),2)
谢谢你第一行是好的
关于这一行的一个问题。
是的,它首先计算MathPow(Pivot,0.5)+Number(defined)的值,然后我必须计算结果的平方。
一个例子。
10 = 枢轴
1 = 定义的数字
我有((10^0,5)+1)^2 结果是。
((3,162)+1)^2 ----> (4,162)^2------>17,324
然后就可以了
是的,它首先计算MathPow(Pivot,0.5)+Number(defined)的值,然后我必须计算结果的平方。
然后就可以了
好的,谢谢你。
但我还需要这样的操作
(MathPow((MathPow((Pivot*10000),0.5)+number),2)/10000)
但如果我手动计算,它给我一个不同的值。
差异很高。
澄清一下,如果我有1,2989的枢轴,我需要做12989的操作,在所有操作之后,我需要将结果除以10000。
我不知道为什么它会给我不同的值。
dasio
我不知道那一行的 "意图"。从数学上讲,这一行没有任何问题(将 "数字 "设置为0,你会看到它将返回与Pivot完全相同的值,这意味着它工作正常,所以如果它与你期望的不同,唯一造成差异的部分是增加了 "数字")。你到底想用那一行来计算什么?
好的,谢谢你。
但我也需要这样的操作
(MathPow((MathPow((Pivot*10000),0.5)+number),2) /10000)
但如果我手动计算,它给我一个不同的值。
差异很高。
澄清一下,如果我有1,2989的枢轴,我需要做12989的操作,在所有操作之后,我需要将结果除以10000。
我不知道为什么它给我不同的值