生猛海鮮 發表於 14-1-12 11:33

請好心人士幫我改一下mt4的指標內容

http://codebase.mql4.com/cn/4524

感謝好心人士幫我這個魯肉腳一下。把指標內容改一下,我想 應該很簡單的才對吧。
我想把月線,週線,30分線三個拿掉不用,然後把顏色改為相反,因為我們的下跌是綠色,上漲是紅色跟國外的剛好相反。這樣看起來的直覺反應才習慣。
以上二個請好心人士幫幫忙,感恩。
順便付上coco幣200以代感謝。

ambercrystal 發表於 14-1-12 14:08



將附件解壓後的兩個檔案縮放在您的 c:\program files\ 裡面您的 MT4 交易商的 folder 下的 \experts\indicators\

.mq4 是原始檔, .ex4 是執行檔, 您在 MT4 裡的 Custom Indicator 內就可以找到這個改過的指標, 我檔案還是用一樣的名字, 您如果不想覆蓋您原有的, 把檔名改一下即可.

Acer2266 發表於 14-1-12 13:27



我是自己做成這種方式
用五個週期
然後做成紅綠燈

生猛海鮮 發表於 14-1-12 13:29

Acer2266 發表於 14-1-12 13:27 static/image/common/back.gif
我是自己做成這種方式
用五個週期
然後做成紅綠燈

這程式的東西我不懂耶。只能寄望現成的而以。

ambercrystal 發表於 14-1-12 13:39

本帖最後由 ambercrystal 於 14-1-12 13:47 編輯

海鮮大, 之前跟您互動過, 隨手之勞不用言謝.我順手將裡面的俄文註釋給清除, 也順便把作者拼錯字的函數名GreatObjectLabel改為CreatObjectLabel.

新的指標程式原碼和新產生的圖和在下面:



#property indicator_chart_window

// 0 -
// 1 - M1
// 2 - M5
// 3 - M15
// 4 - H1
// 5 - H4
// 6 - D1

int LabelCorner = 0;
extern int MACD_Fast = 12;
extern int MACD_Slow = 26;
extern int Signal_Period = 9;
int MACD_Price = 0;            // PRICE_CLOSE
int MACD_Shift = 0;

extern color color_Up;            
extern color color_Dn;            
extern color color_UpDn;            
extern color color_DnUp;            
extern color color_TimeFrame;      


extern int FontSize = 14;         
string Font = "Times New Roman";
   

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
   
   int interval = 10;   
   CreatObjectLabel("Label1_1",10, 1*FontSize+interval);
   CreatObjectLabel("Label1_2",10, 2*FontSize+interval);
   CreatObjectLabel("Label1_3",10, 3*FontSize+interval);
   CreatObjectLabel("Label1_4",10, 4*FontSize+interval);
   CreatObjectLabel("Label1_5",10, 5*FontSize+interval);
   CreatObjectLabel("Label1_6",10, 6*FontSize+interval);
   
   
   CreatObjectLabel("Label2_1",60, 1*FontSize+interval);
   CreatObjectLabel("Label2_2",60, 2*FontSize+interval);
   CreatObjectLabel("Label2_3",60, 3*FontSize+interval);
   CreatObjectLabel("Label2_4",60, 4*FontSize+interval);
   CreatObjectLabel("Label2_5",60, 5*FontSize+interval);
   CreatObjectLabel("Label2_6",60, 6*FontSize+interval);
   
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                     |
//+------------------------------------------------------------------+
int deinit()
{
//----

   ObjectDelete("Label1_1");
   ObjectDelete("Label1_2");
   ObjectDelete("Label1_3");
   ObjectDelete("Label1_4");
   ObjectDelete("Label1_5");
   ObjectDelete("Label1_6");
   
   ObjectDelete("Label2_1");
   ObjectDelete("Label2_2");
   ObjectDelete("Label2_3");
   ObjectDelete("Label2_4");
   ObjectDelete("Label2_5");
   ObjectDelete("Label2_6");
   
//----
   return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
{
   
         

   string com1, com2, com3, com4;
   com1 = "Up";
   com2 = "Down";
   com3 = "Up->Down";
   com4 = "Down->Up";
   
   color_TimeFrame = White;
   color_Up = DeepPink;
   color_Dn = Lime;
   color_UpDn = DodgerBlue;
   color_DnUp = DodgerBlue;
   
         
   int limit, i;
   int counted_bars = IndicatorCounted();
   if(counted_bars < 0) return(-1);
   if(counted_bars > 0) counted_bars--;
   limit = Bars - counted_bars;
   for(i=0; i<limit; i++)
   
{
//======== D1 ======================================================================================
   if(MACD(TimeFrame(6))==1)
       {
       ObjectSetText("Label1_1",StrTimeFrame(6),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_1",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(6))==2)
       {
       ObjectSetText("Label1_1",StrTimeFrame(6),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_1",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(6))==3)
       {
       ObjectSetText("Label1_1",StrTimeFrame(6),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_1",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(6))==4)
       {
       ObjectSetText("Label1_1",StrTimeFrame(6),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_1",com4,FontSize,Font,color_DnUp);
       }
//======== H4 ======================================================================================
   if(MACD(TimeFrame(5))==1)
       {
       ObjectSetText("Label1_2",StrTimeFrame(5),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_2",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(5))==2)
       {
       ObjectSetText("Label1_2",StrTimeFrame(5),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_2",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(5))==3)
       {
       ObjectSetText("Label1_2",StrTimeFrame(5),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_2",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(5))==4)
       {
       ObjectSetText("Label1_2",StrTimeFrame(5),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_2",com4,FontSize,Font,color_DnUp);
       }
//======== H1 ======================================================================================
   if(MACD(TimeFrame(4))==1)
       {
       ObjectSetText("Label1_3",StrTimeFrame(4),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_3",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(4))==2)
       {
       ObjectSetText("Label1_3",StrTimeFrame(4),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_3",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(4))==3)
       {
       ObjectSetText("Label1_3",StrTimeFrame(4),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_3",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(4))==4)
       {
       ObjectSetText("Label1_3",StrTimeFrame(4),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_3",com4,FontSize,Font,color_DnUp);
       }

//======== M15 =====================================================================================
   if(MACD(TimeFrame(3))==1)
       {
       ObjectSetText("Label1_4",StrTimeFrame(3),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_4",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(3))==2)
       {
       ObjectSetText("Label1_4",StrTimeFrame(3),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_4",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(3))==3)
       {
       ObjectSetText("Label1_4",StrTimeFrame(3),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_4",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(3))==4)
       {
       ObjectSetText("Label1_4",StrTimeFrame(3),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_4",com4,FontSize,Font,color_DnUp);
       }
//======== M5 ======================================================================================
   if(MACD(TimeFrame(2))==1)
       {
       ObjectSetText("Label1_5",StrTimeFrame(2),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_5",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(2))==2)
       {
       ObjectSetText("Label1_5",StrTimeFrame(2),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_5",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(2))==3)
       {
       ObjectSetText("Label1_5",StrTimeFrame(2),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_5",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(2))==4)
       {
       ObjectSetText("Label1_5",StrTimeFrame(2),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_5",com4,FontSize,Font,color_DnUp);
       }
//======== M1 ======================================================================================   
   if(MACD(TimeFrame(1))==1)
       {
      
       ObjectSetText("Label1_6",StrTimeFrame(1),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_6",com1,FontSize,Font,color_Up);
       }
   if(MACD(TimeFrame(1))==2)
       {
       ObjectSetText("Label1_6",StrTimeFrame(1),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_6",com2,FontSize,Font,color_Dn);
       }
   if(MACD(TimeFrame(1))==3)
       {
       ObjectSetText("Label1_6",StrTimeFrame(1),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_6",com3,FontSize,Font,color_UpDn);
       }
   if(MACD(TimeFrame(1))==4)
       {
       ObjectSetText("Label1_6",StrTimeFrame(1),FontSize,Font,color_TimeFrame);
       ObjectSetText("Label2_6",com4,FontSize,Font,color_DnUp);
       }

//==============================================================================================   
   }
//----
   return(0);
}
//==================================================================================================
int MACD(int MACDTimeFrame)
   {
   int MACD_Trend;
   
   double MACD_Main_0;
   double MACD_Main_1;
   double MACD_Signal_0;
   double MACD_Signal_1;

   MACD_Main_0 = iMACD(Symbol(),MACDTimeFrame,MACD_Fast,MACD_Slow,Signal_Period,MACD_Price,MODE_MAIN,0);
   MACD_Main_1 = iMACD(Symbol(),MACDTimeFrame,MACD_Fast,MACD_Slow,Signal_Period,MACD_Price,MODE_MAIN,1);
   MACD_Signal_0 = iMACD(Symbol(),MACDTimeFrame,MACD_Fast,MACD_Slow,Signal_Period,MACD_Price,MODE_SIGNAL,0);
   MACD_Signal_1 = iMACD(Symbol(),MACDTimeFrame,MACD_Fast,MACD_Slow,Signal_Period,MACD_Price,MODE_SIGNAL,1);
   
   if(MACD_Main_0>MACD_Main_1 && MACD_Signal_0>MACD_Signal_1 && MACD_Main_0>MACD_Signal_0) {MACD_Trend = 1;}   
   if(MACD_Main_0<MACD_Main_1 && MACD_Signal_0<MACD_Signal_1 && MACD_Main_0<MACD_Signal_0) {MACD_Trend = 2;}   
   if(MACD_Main_0<MACD_Main_1 && MACD_Signal_0>MACD_Signal_1 && MACD_Main_0>MACD_Signal_0) {MACD_Trend = 3;}   
   if(MACD_Main_0>MACD_Main_1 && MACD_Signal_0<MACD_Signal_1 && MACD_Main_0<MACD_Signal_0) {MACD_Trend = 4;}   
   return(MACD_Trend);
   }


//==================================================================================================
int TimeFrame(int Time_Period)   
{
   switch(Time_Period)
   {
      case 0: return(0);         
      case 1: return(1);         // M1
      case 2: return(5);         // M5
      case 3: return(15);          // M15
      case 4: return(60);          // H1
      case 5: return(240);          // H4
      case 6: return(1440);         // D1
   }
}
//==================================================================================================
string StrTimeFrame(int T_Frame)
{
   switch(T_Frame)
   {
      case 0: return("Cur:");      
      case 1: return("M1:");      // M1
      case 2: return("M5:");      // M5
      case 3: return("M15:");       // M15
      case 4: return("H1:");      // H1
      case 5: return("H4:");      // H4
      case 6: return("D1:");      // D1
   }
}
//==================================================================================================
int CreatObjectLabel(string NameObj, int Coord_X, int Coord_Y)
{
   ObjectCreate(NameObj, OBJ_LABEL, 0, 0, 0);
   ObjectSet(NameObj, OBJPROP_CORNER, LabelCorner);
   ObjectSet(NameObj, OBJPROP_XDISTANCE, Coord_X);
   ObjectSet(NameObj, OBJPROP_YDISTANCE, Coord_Y);
}
//==================================================================================================







生猛海鮮 發表於 14-1-12 13:52

ambercrystal 發表於 14-1-12 13:39 static/image/common/back.gif
海鮮大, 之前跟您互動過, 隨手之勞不用言謝.我順手將裡面的俄文註釋給清除, 也順便把作者拼錯字的函數名G ...

十萬分的感激您,可是可以再幫一個忙嗎,把檔案傳上來,我才會安裝,不然您用這程式碼,我也不會裝啊。{:4_186:}

生猛海鮮 發表於 14-1-12 14:12

ambercrystal 發表於 14-1-12 14:08 static/image/common/back.gif
將附件解壓後的兩個檔案縮放在您的 c:\program files\ 裡面您的 MT4 交易商的 folder 下的 \experts\indi ...

感謝您的幫助,浪費您寶貴時間。萬分感激。謝謝。感恩。

靈光波動 發表於 14-1-12 22:21

生猛海鮮 發表於 14-1-12 14:12 static/image/common/back.gif
感謝您的幫助,浪費您寶貴時間。萬分感激。謝謝。感恩。

生猛大, 要不要改一下標題 "[已解決]"{:4_186:}

生猛海鮮 發表於 14-1-12 22:28

靈光波動 發表於 14-1-12 22:21 static/image/common/back.gif
生猛大, 要不要改一下標題 "[已解決]"

時間已過不能編輯

bytegiga168 發表於 14-2-4 16:04

這指標真的好用嗎?因我沒做過,有空試試用{:4_163:}

生猛海鮮 發表於 14-2-4 17:30

bytegiga168 發表於 14-2-4 16:04 static/image/common/back.gif
這指標真的好用嗎?因我沒做過,有空試試用

這不是指標,而且須搭配均線使用。
頁: [1]
查看完整版本: 請好心人士幫我改一下mt4的指標內容