永发信息网

外汇智能交易EA,这个函数求的是什么值??

答案:1  悬赏:0  手机版
解决时间 2021-04-29 23:48
  • 提问者网友:我是女神我骄傲
  • 2021-04-29 02:23

1.SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);求的是什么,和MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);有什么关系和区别;

2.柱子的开盘价怎么求??

最佳答案
  • 五星知识达人网友:廢物販賣機
  • 2021-04-29 03:26

int buyorsell() //在这个函数计算设置你的交易信号 这里使用MACD 和MA 做例子
{
double MacdCurrent, MacdPrevious, SignalCurrent;
double SignalPrevious, MaCurrent, MaPrevious;
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
SignalCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
SignalPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
MaCurrent=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,0);
MaPrevious=iMA(NULL,0,MATrendPeriod,0,MODE_EMA,PRICE_CLOSE,1);
if(MacdCurrent<0 & MacdCurrent>SignalCurrent && MacdPrevious<SignalPrevious
& MaCurrent>MaPrevious)
return (1); // 买 Ma在上升,Macd在0线上,并且两线上交叉
if(MacdCurrent>0 & MacdCurrent<SignalCurrent && MacdPrevious>SignalPrevious
& MaCurrent<MaPrevious)
return (-1); // 卖
return (0); //不交易
}


Buffer1[ i ]=iMACD(NULL,0,Fast,Slow,Signal,PRICE_CLOSE,MODE_MAIN,i); //调用MACD指标函数为Buffer1数组负值。
看下iMACD()这个内置指标函数的定义。
iMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)
symbol: 货币标识。通用指标用NULL常量。
timeframe: 计算所依据的图表时间周期 。0表示依据当前图表周期。
fast_ema_period: 快线周期
slow_ema_period: 慢线周期
signal_period: 信号线周期
applied_price: 计算所用价格模式
mode: 指标索引模式。MACD指标有两条线,因此这个位置有0,1两个选择。也可以用mt4预定义常量。
shift: 索引号
这里Buffer1取macd主线数据。Buffer2取macd信号线数据。


具体教程参考这里 http://bbs.forex.com.cn/showtopic-68436.aspx



还有可参考MetaTrader编程入门教程 http://bbs.forex.com.cn/attachment.aspx?attachmentid=1640



最详尽的解释在这 http://articles.mql4.com/cn/399

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯