請(qǐng)問(wèn)怎么把MT4的MACD單線(xiàn)指標(biāo)修改成博易的指標(biāo);謝謝 [博易POBO]
咨詢(xún)內(nèi)容:
//|????????????????????????????????????????????????? Custom MACD.mq4 |
//|?????????????????? Copyright 2005-2014, MetaQuotes Software Corp. |
//|????????????????????????????????????????????? http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright?? "2005-2014, MetaQuotes Software Corp."
#property link??????? "http://www.mql4.com"
#property description "Moving Averages Convergence/Divergence"
#property strict
#include <MovingAverages.mqh>
//--- indicator settings
#property? indicator_separate_window
#property? indicator_buffers 2
#property? indicator_color1? Silver
#property? indicator_color2? Red
#property? indicator_width1? 2
//--- indicator parameters
input int InpFastEMA=12;?? // Fast EMA Period
input int InpSlowEMA=26;?? // Slow EMA Period
input int InpSignalSMA=9;? // Signal SMA Period
//--- indicator buffers
double??? ExtMacdBuffer[];
double??? ExtSignalBuffer[];
//--- right input parameters flag
bool????? ExtParameters=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function???????????????????????? |
//+------------------------------------------------------------------+
int OnInit(void)
? {
?? IndicatorDigits(Digits+1);
//--- drawing settings
?? SetIndexStyle(0,DRAW_HISTOGRAM);
?? SetIndexStyle(1,DRAW_LINE);
?? SetIndexDrawBegin(1,InpSignalSMA);
//--- indicator buffers mapping
?? SetIndexBuffer(0,ExtMacdBuffer);
?? SetIndexBuffer(1,ExtSignalBuffer);
//--- name for DataWindow and indicator subwindow label
?? IndicatorShortName("MACD("+IntegerToString(InpFastEMA)+","+IntegerToString(InpSlowEMA)+","+IntegerToString(InpSignalSMA)+")");
?? SetIndexLabel(0,"MACD");
?? SetIndexLabel(1,"Signal");
//--- check for input parameters
?? if(InpFastEMA<=1 || InpSlowEMA<=1 || InpSignalSMA<=1 || InpFastEMA>=InpSlowEMA)
???? {
????? Print("Wrong input parameters");
????? ExtParameters=false;
????? return(INIT_FAILED);
???? }
?? else
????? ExtParameters=true;
//--- initialization done
?? return(INIT_SUCCEEDED);
? }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence?????????????????????????? |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,
???????????????? const int prev_calculated,
???????????????? const datetime& time[],
???????????????? const double& open[],
???????????????? const double& high[],
???????????????? const double& low[],
???????????????? const double& close[],
???????????????? const long& tick_volume[],
???????????????? const long& volume[],
???????????????? const int& spread[])
? {
?? int i,limit;
//---
?? if(rates_total<=InpSignalSMA || !ExtParameters)
????? return(0);
//--- last counted bar will be recounted
?? limit=rates_total-prev_calculated;
?? if(prev_calculated>0)
????? limit++;
//--- macd counted in the 1-st buffer
?? for(i=0; i<limit; i++)
????? ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
??????????????????? iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//--- signal line counted in the 2-nd buffer
?? SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//--- done
?? return(rates_total);
? }
//+------------------------------------------------------------------+
DEA ?:= EMA(DIFF,9);?
MACD : DIFF-DEA, COLORSTICK; 謝謝回復(fù),但是效果還不一樣,我想dea線(xiàn)在零軸下方,紅綠柱也在零柱下方,dea線(xiàn)在零軸上方,紅綠柱也在零柱上方,圖片中的效果 來(lái)源 程序化久久網(wǎng)
請(qǐng)問(wèn)怎么把MT4的MACD單線(xiàn)指標(biāo)修改成博易的指標(biāo);謝謝
//+------------------------------------------------------------------+//|????????????????????????????????????????????????? Custom MACD.mq4 |
//|?????????????????? Copyright 2005-2014, MetaQuotes Software Corp. |
//|????????????????????????????????????????????? http://www.mql4.com |
//+------------------------------------------------------------------+
#property copyright?? "2005-2014, MetaQuotes Software Corp."
#property link??????? "http://www.mql4.com"
#property description "Moving Averages Convergence/Divergence"
#property strict
#include <MovingAverages.mqh>
//--- indicator settings
#property? indicator_separate_window
#property? indicator_buffers 2
#property? indicator_color1? Silver
#property? indicator_color2? Red
#property? indicator_width1? 2
//--- indicator parameters
input int InpFastEMA=12;?? // Fast EMA Period
input int InpSlowEMA=26;?? // Slow EMA Period
input int InpSignalSMA=9;? // Signal SMA Period
//--- indicator buffers
double??? ExtMacdBuffer[];
double??? ExtSignalBuffer[];
//--- right input parameters flag
bool????? ExtParameters=false;
//+------------------------------------------------------------------+
//| Custom indicator initialization function???????????????????????? |
//+------------------------------------------------------------------+
int OnInit(void)
? {
?? IndicatorDigits(Digits+1);
//--- drawing settings
?? SetIndexStyle(0,DRAW_HISTOGRAM);
?? SetIndexStyle(1,DRAW_LINE);
?? SetIndexDrawBegin(1,InpSignalSMA);
//--- indicator buffers mapping
?? SetIndexBuffer(0,ExtMacdBuffer);
?? SetIndexBuffer(1,ExtSignalBuffer);
//--- name for DataWindow and indicator subwindow label
?? IndicatorShortName("MACD("+IntegerToString(InpFastEMA)+","+IntegerToString(InpSlowEMA)+","+IntegerToString(InpSignalSMA)+")");
?? SetIndexLabel(0,"MACD");
?? SetIndexLabel(1,"Signal");
//--- check for input parameters
?? if(InpFastEMA<=1 || InpSlowEMA<=1 || InpSignalSMA<=1 || InpFastEMA>=InpSlowEMA)
???? {
????? Print("Wrong input parameters");
????? ExtParameters=false;
????? return(INIT_FAILED);
???? }
?? else
????? ExtParameters=true;
//--- initialization done
?? return(INIT_SUCCEEDED);
? }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence?????????????????????????? |
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,
???????????????? const int prev_calculated,
???????????????? const datetime& time[],
???????????????? const double& open[],
???????????????? const double& high[],
???????????????? const double& low[],
???????????????? const double& close[],
???????????????? const long& tick_volume[],
???????????????? const long& volume[],
???????????????? const int& spread[])
? {
?? int i,limit;
//---
?? if(rates_total<=InpSignalSMA || !ExtParameters)
????? return(0);
//--- last counted bar will be recounted
?? limit=rates_total-prev_calculated;
?? if(prev_calculated>0)
????? limit++;
//--- macd counted in the 1-st buffer
?? for(i=0; i<limit; i++)
????? ExtMacdBuffer[i]=iMA(NULL,0,InpFastEMA,0,MODE_EMA,PRICE_CLOSE,i)-
??????????????????? iMA(NULL,0,InpSlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//--- signal line counted in the 2-nd buffer
?? SimpleMAOnBuffer(rates_total,prev_calculated,0,InpSignalSMA,ExtMacdBuffer,ExtSignalBuffer);
//--- done
?? return(rates_total);
? }
//+------------------------------------------------------------------+
?
?來(lái)源:程序化99網(wǎng)( m.weiqiv.net.cn )
博易技術(shù)人員: DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);DEA ?:= EMA(DIFF,9);?
MACD : DIFF-DEA, COLORSTICK; 謝謝回復(fù),但是效果還不一樣,我想dea線(xiàn)在零軸下方,紅綠柱也在零柱下方,dea線(xiàn)在零軸上方,紅綠柱也在零柱上方,圖片中的效果 來(lái)源 程序化久久網(wǎng)
有思路,想編寫(xiě)各種指標(biāo)公式,交易模型,選股公式,還原公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 或微信號(hào):cxh99cxh99 進(jìn)行 有償收費(fèi) 編寫(xiě)!
(怎么收費(fèi),代編流程等詳情請(qǐng)點(diǎn)擊閱讀!)
(注:由于人數(shù)限制,QQ或微信請(qǐng)選擇方便的一個(gè)聯(lián)系我們就行,加好友時(shí)請(qǐng)簡(jiǎn)單備注下您的需求,否則無(wú)法通過(guò)。謝謝您!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容