MT5入門到精通之十指標

MT5入門到精通之十指標
(代碼編譯后最好卸載指標,再重新加載一遍,有時候顏色會怪怪的)
1,界面后設置操作

image.png

我們就畫一根線效果如下:

image.png

1.第一方法 先序列號 (和mt4一樣,最新那根k線下標為0)

//+------------------------------------------------------------------+
//|                                                testIndicator.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//輔圖顯示
#property indicator_chart_window
#property indicator_minimum -100
#property indicator_maximum 100
//總共需要幾個緩存數組
#property indicator_buffers 3
//幾種圖形
#property indicator_plots   3
//--- plot line
#property indicator_label1  "line"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot arrow
#property indicator_label2  "arrow"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot histogram
#property indicator_label3  "histogram"
#property indicator_type3   DRAW_HISTOGRAM
#property indicator_color3  clrRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
//--- indicator buffers
double         lineBuffer[];
double         arrowBuffer[];
double         histogramBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,lineBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,arrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,histogramBuffer,INDICATOR_DATA);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   PlotIndexSetInteger(1,PLOT_ARROW,159);

//1.保證k線圖最右邊那根k線下標是0(和mt4一致)
   ArraySetAsSeries(lineBuffer,true);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//3.接口返回的數組正序華
   setSystemReturnArrayAsSeries(time,open,high,low,close,tick_volume,volume,spread);

//2.設置緩存數據的數組
//lineBuffer[0] = 90;
//lineBuffer[1] = 30;

//2.1 //首次加載prev_calculated = 0,
//加1是為了多計算一根k線【一般只會有新k線出來的時候,才會多計算一根】
   int limit=(prev_calculated>0) ?(rates_total-prev_calculated+1) : 0;

   for(int i=0;i<limit;i++)
     {
      lineBuffer[i]=open[i];
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void setSystemReturnArrayAsSeries(
                                  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[])
  {
   ArraySetAsSeries(time,true);
   ArraySetAsSeries(open,true);
   ArraySetAsSeries(high,true);
   ArraySetAsSeries(low,true);
   ArraySetAsSeries(close,true);
   ArraySetAsSeries(tick_volume,true);
   ArraySetAsSeries(volume,true);
   ArraySetAsSeries(spread,true);

  }
//+------------------------------------------------------------------+

2.方法2(MT5自帶的序列方法,最新那根x下標是rates_total-1)

//+------------------------------------------------------------------+
//|                                                testIndicator.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//輔圖顯示
#property indicator_chart_window
#property indicator_minimum -100
#property indicator_maximum 100
//總共需要幾個緩存數組
#property indicator_buffers 3
//幾種圖形
#property indicator_plots   3
//--- plot line
#property indicator_label1  "line"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot arrow
#property indicator_label2  "arrow"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot histogram
#property indicator_label3  "histogram"
#property indicator_type3   DRAW_HISTOGRAM
#property indicator_color3  clrRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
//--- indicator buffers
double         lineBuffer[];
double         arrowBuffer[];
double         histogramBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,lineBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,arrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,histogramBuffer,INDICATOR_DATA);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
   PlotIndexSetInteger(1,PLOT_ARROW,159);

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
  //多計算一根 【一般只會有新k線出來的時候,才會多計算一根】
   int start= (prev_calculated>0)? prev_calculated-1:0;
   for(int i=start;i<rates_total;i++)
     {
      lineBuffer[i]=open[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

3.第三種方法 (在指標接口里獲取其它指標的數據 1-3知識點即可)【指標里面使用其它指標也是這樣用】

//+------------------------------------------------------------------+
//|                                                testIndicator.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//輔圖顯示
#property indicator_separate_window
#property indicator_minimum -100
#property indicator_maximum 100
//總共需要幾個緩存數組
#property indicator_buffers 3
//幾種圖形
#property indicator_plots   3
//--- plot line
#property indicator_label1  "line"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot arrow
#property indicator_label2  "arrow"
#property indicator_type2   DRAW_ARROW
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot histogram
#property indicator_label3  "histogram"
#property indicator_type3   DRAW_HISTOGRAM
#property indicator_color3  clrRed
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1
//--- indicator buffers
double         lineBuffer[];
double         arrowBuffer[];
double         histogramBuffer[];

//1.句柄定義
int ma_h;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
//6.會分配數組空間大小rates_total
   SetIndexBuffer(0,lineBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,arrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,histogramBuffer,INDICATOR_DATA);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
//5.指標線的屬性(單個指標設置)
//5.1箭頭設置
   PlotIndexSetInteger(1,PLOT_ARROW,159);
//5.2線的顏色設置
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,clrGold);

//4.設置指標的屬性性(整個指標屬性)
   IndicatorSetString(INDICATOR_SHORTNAME,"測試指標");
//4.1指標顯示的位數
   IndicatorSetInteger(INDICATOR_DIGITS,Digits());

//2.句柄初始化值
   ma_h=iMA(Symbol(),0,10,0,MODE_SMA,PRICE_CLOSE);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//3.賦值到數據組
   CopyBuffer(ma_h,0,0,rates_total,lineBuffer);
   return(rates_total);
  }
//+------------------------------------------------------------------+

二.變色指標
1.效果

image.png

2.如下設置

image.png

3.實現(xiàn)

//+------------------------------------------------------------------+
//|                                         changeColorIndicator.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"

#property indicator_chart_window
//1.1總共用到多少個緩存數組
#property indicator_buffers 18
//1.2畫多少個圖形
#property indicator_plots   7
//--- plot line
#property indicator_label1  "line"
#property indicator_type1   DRAW_COLOR_LINE
#property indicator_color1  clrRed,clrGold,clrWhite,clrLime,clrLightSeaGreen,C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot histogram
#property indicator_label2  "histogram"
#property indicator_type2   DRAW_COLOR_HISTOGRAM
#property indicator_color2  clrRed,clrYellow,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot histogram2
#property indicator_label3  "histogram2"
#property indicator_type3   DRAW_COLOR_HISTOGRAM2
#property indicator_color3  clrRed,clrYellow,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style3  STYLE_SOLID
#property indicator_width3  3
//--- plot upArrow
#property indicator_label4  "upArrow"
#property indicator_type4   DRAW_COLOR_ARROW
#property indicator_color4  clrFuchsia,clrGoldenrod,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style4  STYLE_SOLID
#property indicator_width4  1
//--- plot downArrow
#property indicator_label5  "downArrow"
#property indicator_type5   DRAW_COLOR_ARROW
#property indicator_color5  clrCornflowerBlue,clrWhite,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style5  STYLE_SOLID
#property indicator_width5  1
//--- plot candle
#property indicator_label6  "candle"
#property indicator_type6   DRAW_COLOR_CANDLES
#property indicator_color6  clrSpringGreen,clrBlue,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style6  STYLE_SOLID
#property indicator_width6  1

#property indicator_label7  "line2"
#property indicator_type7   DRAW_COLOR_LINE
#property indicator_color7  clrRed,clrGold,clrWhite,clrLime,clrLightSeaGreen,C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style7  STYLE_SOLID
#property indicator_width7  1
//--- indicator buffers
//line
double         lineBuffer[];
double         lineColors[];
//histogram
double         histogramBuffer[];
double         histogramColors[];
//histogram2
double         histogram2Buffer1[];
double         histogram2Buffer2[];
double         histogram2Colors[];
//upArrow
double         upArrowBuffer[];
double         upArrowColors[];
//downArrow
double         downArrowBuffer[];
double         downArrowColors[];
//candle
double         candleBuffer1[];
double         candleBuffer2[];
double         candleBuffer3[];
double         candleBuffer4[];
double         candleColors[];

//line2
double         line2Buffer[];
double         line2Colors[];

//2.1定義指標句柄
int ma5_h;
int ma10_h;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {

   SetIndexBuffer(0,lineBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,lineColors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(2,histogramBuffer,INDICATOR_DATA);
   SetIndexBuffer(3,histogramColors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(4,histogram2Buffer1,INDICATOR_DATA);
   SetIndexBuffer(5,histogram2Buffer2,INDICATOR_DATA);
   SetIndexBuffer(6,histogram2Colors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(7,upArrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(8,upArrowColors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(9,downArrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(10,downArrowColors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(11,candleBuffer1,INDICATOR_DATA);
   SetIndexBuffer(12,candleBuffer2,INDICATOR_DATA);
   SetIndexBuffer(13,candleBuffer3,INDICATOR_DATA);
   SetIndexBuffer(14,candleBuffer4,INDICATOR_DATA);
   SetIndexBuffer(15,candleColors,INDICATOR_COLOR_INDEX);

   SetIndexBuffer(16,line2Buffer,INDICATOR_DATA);
   SetIndexBuffer(17,line2Colors,INDICATOR_COLOR_INDEX);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
//1.3指標對應的是plot的個數(windings查看圖標代碼)
   PlotIndexSetInteger(3,PLOT_ARROW,225);
   PlotIndexSetInteger(4,PLOT_ARROW,226);

//2.2初始化句柄
   ma5_h=iMA(NULL,0,5,0,0,0);
   ma10_h=iMA(NULL,0,10,0,0,0);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//2.3創(chuàng)建賦值數組
   double ma5[];
   CopyBuffer(ma5_h,0,0,rates_total,ma5);
   double ma10[];
   CopyBuffer(ma10_h,0,0,rates_total,ma10);
//2.4
//多計算一根 【一般只會有新k線出來的時候,才會多計算一根】
   int start=(prev_calculated>0)?(prev_calculated-1):0;

//3.2數組越界保護(原因:line2Buffer[i-1])
   start=(start>0)?start:1;

   for(int i=start;i<rates_total;i++)
     {
      lineBuffer[i]=ma5[i];
      line2Buffer[i]=ma10[i];

      //2.5變色條件
      if(close[i]>ma5[i])
        {
         lineColors[i]=1;
        }
      else
        {
         lineColors[0]=0;
        }

      if(close[i]>ma10[i])
        {
         line2Colors[i]=0;
        }
      else
        {
         line2Colors[0]=1;
        }
      //3.金叉死叉畫法
      //3.2金叉
      if(lineBuffer[i-1]<line2Buffer[i-1] && lineBuffer[i]>=line2Buffer[i])
        {
         upArrowBuffer[i]=line2Buffer[i]-100*Point();
         if((lineBuffer[i]-line2Buffer[i])<50*Point())
           {
            upArrowColors[i]=0;
           }
         else
           {
            upArrowColors[i]=1;
           }
        }
      //3.3死叉
      if(lineBuffer[i-1]>line2Buffer[i-1] && lineBuffer[i]<=line2Buffer[i])
        {
         downArrowBuffer[i]=line2Buffer[i]+100*Point();
         if((line2Buffer[i]-lineBuffer[i])<50*Point())
           {
            downArrowColors[i]=0;
           }
         else
           {
            downArrowColors[i]=1;
           }
        }

      //4.柱狀體
      //4.1 0-值
      //histogramBuffer[i]=ma5[i];
      //4.2 a-b
      histogram2Buffer1[i]=ma5[i];
      histogram2Buffer2[i]=ma10[i];

      if(lineBuffer[i]>=line2Buffer[i])
        {
         histogram2Colors[i]=0;
        }
      else
        {
         histogram2Colors[i]=1;
        }

      /*//5.蠟燭圖
      candleBuffer1[i]=open[i]+100*Point();
      candleBuffer2[i]=high[i]+100*Point();
      candleBuffer3[i]=low[i]+100*Point();
      candleBuffer4[i]=close[i]+100*Point();

      if(candleBuffer1[i]>candleBuffer4[i])
       {
         candleColors[i]=0;
       }
      else
       {
         candleColors[i]=1;
       }*/
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+

三自定義macd指標
1、效果

image.png

2.設置

image.png

3.實現(xiàn)

//+------------------------------------------------------------------+
//|                                                   customMACD.mq5 |
//|                        Copyright 2017, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window
#property indicator_buffers 8
#property indicator_plots   6
//--- plot macd
#property indicator_label1  "macd"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1
//--- plot signal
#property indicator_label2  "signal"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- plot histogram
#property indicator_label3  "histogram"
#property indicator_type3   DRAW_COLOR_HISTOGRAM
#property indicator_color3  clrWhite,clrAqua,clrDarkGray,C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0',C'0,0,0'
#property indicator_style3  STYLE_SOLID
#property indicator_width3  3
//--- plot upArrow
#property indicator_label4  "upArrow"
#property indicator_type4   DRAW_ARROW
#property indicator_color4  clrLime
#property indicator_style4  STYLE_SOLID
#property indicator_width4  1
//--- plot downArrow
#property indicator_label5  "downArrow"
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrLightSalmon
#property indicator_style5  STYLE_SOLID
#property indicator_width5  1
//--- plot filling
#property indicator_label6  "filling"
#property indicator_type6   DRAW_FILLING
#property indicator_color6  clrRed,clrYellow
#property indicator_style6  STYLE_SOLID
#property indicator_width6  1

//--- input parameters
input int                InpFastEMA=12;               // Fast EMA period
input int                InpSlowEMA=26;               // Slow EMA period
input int                InpSignalSMA=9;              // Signal SMA period
input ENUM_APPLIED_PRICE InpAppliedPrice=PRICE_CLOSE; // Applied price

//--- indicator buffers
double         macdBuffer[];

double         signalBuffer[];

double         histogramBuffer[];
double         histogramColors[];

double         upArrowBuffer[];

double         downArrowBuffer[];

double         fillingBuffer1[];
double         fillingBuffer2[];
//2.句柄
int macd_h;
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,macdBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,signalBuffer,INDICATOR_DATA);
   SetIndexBuffer(2,histogramBuffer,INDICATOR_DATA);
   SetIndexBuffer(3,histogramColors,INDICATOR_COLOR_INDEX);
   SetIndexBuffer(4,upArrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(5,downArrowBuffer,INDICATOR_DATA);
   SetIndexBuffer(6,fillingBuffer1,INDICATOR_DATA);
   SetIndexBuffer(7,fillingBuffer2,INDICATOR_DATA);
//--- setting a code from the Wingdings charset as the property of PLOT_ARROW
//3.設置箭頭類型
   PlotIndexSetInteger(3,PLOT_ARROW,225);
   PlotIndexSetInteger(4,PLOT_ARROW,226);
//3.1 什么都不畫
   PlotIndexSetDouble(3,PLOT_EMPTY_VALUE,0);
   PlotIndexSetDouble(4,PLOT_EMPTY_VALUE,0);

//2.3句柄初始化
   macd_h=iMACD(NULL,0,InpFastEMA,InpSlowEMA,InpSignalSMA,InpAppliedPrice);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//2.4創(chuàng)建賦值數組
   double macd[];
   double signal[];
   CopyBuffer(macd_h,0,0,rates_total,macd);
   CopyBuffer(macd_h,1,0,rates_total,signal);

   int start=(prev_calculated>0)?(prev_calculated-1):0;
//1.數組越界保護(原因:line2Buffer[i-1])
   start=(start>0)?start:1;
   for(int i=start;i<rates_total;i++)
     {

      //2.5填充緩存數組的值
      macdBuffer[i]=macd[i];
      signalBuffer[i]=signal[i];
      histogramBuffer[i]=macd[i]-signal[i];
      //2.6變色
      if(histogramBuffer[i]>0)
        {
         if(histogramBuffer[i]>histogramBuffer[i-1])
           {
            histogramColors[i]=0;
           }
         else
           {
            histogramColors[i]=2;
           }
        }
      else
        {
         if(histogramBuffer[i]<histogramBuffer[i-1])
           {
            histogramColors[i]=1;
           }
         else
           {
            histogramColors[i]=2;
           }
        }

      //3.3金叉
      if(macdBuffer[i]>signalBuffer[i] && macdBuffer[i-1]<signalBuffer[i-1])
        {
         upArrowBuffer[i]=signalBuffer[i]-50*Point();
        }
      //3.4死叉
      if(macdBuffer[i]<signalBuffer[i] && macdBuffer[i-1]>signalBuffer[i-1])
        {
         downArrowBuffer[i]=signalBuffer[i]+50*Point();
        }

      //4.填充值設好上邊界和下邊界即可
      fillingBuffer1[i]=macdBuffer[i];
      fillingBuffer2[i]=signalBuffer[i];
     }
   return(rates_total);
  }
//+------------------------------------------------------------------+

如果您發(fā)現(xiàn)本文對你有所幫助,如果您認為其他人也可能受益,請把它分享出去。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,362評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,577評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,486評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,852評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,600評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,944評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,944評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,108評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 49,652評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,385評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,616評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,111評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,798評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,205評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,537評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,334評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,570評論 2 379

推薦閱讀更多精彩內容