国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MT4編程實例:箭頭符號

 


 

  符號是一種斷斷續(xù)續(xù)的指標線。在指標線有值區(qū)域,指標線顯示;在指標線無值區(qū)域,指標線隱藏。例如下圖:當價格上穿、下穿均線時,均線上出現(xiàn)一個標記符號。

  原理也很簡單:在上圖中,存在二條指標線,一條是均線,另一條是笑臉符號線。

均線在任何位置都有值,所以均線是一條連續(xù)的曲線;

當價格上、下穿均線時,符號線被賦予了均線值;而在其他位置上,符號線被賦了空值。所以只是在價格上、下穿均線的位置上,符號線才有值,才能出現(xiàn)笑臉符號。因為符號線只是個別位置有值,所以符號線僅在個別位置顯現(xiàn)。

符號也正好落在均線上,因為符號線值=均線值。如果符號線被賦了別的值,例如(符號線=均線+10點),那么符號水平坐標不變,垂直坐標將是均線上方的10點位置。
源碼如下:

//======================================================
#property  indicator_chart_window
#property  indicator_buffers 1           
#property  indicator_color1 Yellow
extern int  均線=10;
double mk[];
double temp0,temp1;
int init()
  {
    IndicatorBuffers(1);  
    SetIndexBuffer(0,mk);
    SetIndexStyle(0,DRAW_ARROW);
    SetIndexArrow(0,204);
    IndicatorDigits(Digits);
   return(0);
  }
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars-均線;
   for(int i=0; i<limit; i++)
      {
       temp0=iMA(NULL,0,均線,0,0,0,i);
       temp1=iMA(NULL,0,均線,0,0,0,i+1);
       mk[i]=EMPTY_VALUE;
       if(Close[i]>temp0  && Close[i+1]<temp1)  mk[i]=temp0;
       if(Close[i]<temp0  && Close[i+1]>temp1)  mk[i]=temp0;
      }
  return(0);
  }
//源碼到此已結束

=============================================
語句簡要解釋如下:
=============================================

#property  indicator_chart_window
指標放在主圖

#property  indicator_buffers 1           
設置指標線數(shù)為1條

#property  indicator_color1 Yellow
設置第一條指標線顏色為黃色

extern int  均線=10;
設立一個自定義變量,允許外部值修改,整數(shù)形,變量名為"均線",默認值10

double mk[];
設立一個自定義數(shù)組,雙精度型

double temp0,temp1;
設立二個自定義變量,雙精度型,變量名為temp0、temp1

int init()
設立初始化函數(shù)init。init為系統(tǒng)規(guī)定函數(shù)名,函數(shù)內容自定義。該函數(shù)在指標被加載時僅運行一次 

 {
    IndicatorBuffers(1);
    指標線數(shù)量為1條
  
    SetIndexBuffer(0,mk);
    第一條指標線的數(shù)組為mk

    SetIndexStyle(0,DRAW_ARROW);
    第一條指標線的線型為箭頭符號

    SetIndexArrow(0,204);
    第一條指標線的箭頭符號為第204種符號,如果換一個編號,那出現(xiàn)的就是另一種符號。箭頭符號的編碼詳見《MT4編程參考》

    IndicatorDigits(Digits);
    設置指標線的小數(shù)位數(shù)
    Digits=當前匯率的小數(shù)位數(shù),如日元叉盤Digits=2,其他幣對Digits==4

   return(0);
   函數(shù)結束,返回零值

  }
int start()
設立觸發(fā)函數(shù)start。start為系統(tǒng)規(guī)定函數(shù)名,函數(shù)內容自定義。當數(shù)據(jù)變動時,start函數(shù)被觸發(fā)
  {
   int limit;
   設立整數(shù)型自定義變量limit

   int counted_bars=IndicatorCounted();
   設立整數(shù)型自定義變量counted_bars,并將IndicatorCounted()的值賦給counted_bars
   IndicatorCounted()為緩存數(shù)量,即已經計算過值的燭柱數(shù)

   if(counted_bars>0) counted_bars--;
   如果counted_bars大于零,則將counted_bars的值減掉1
   這是為了配合下一句,以避免limit相差1而發(fā)生出錯

   limit=Bars-counted_bars-均線;
   這是給limit賦值
   Bars為圖表中的柱數(shù)
   counted_bars為已經賦值的柱數(shù)
   這樣limit的結果就是未賦值的燭柱數(shù)
   再減去“均線”是因為圖表最右邊段均線無意義

   for(int i=0; i<limit; i++)
   循環(huán)語句,括號中有三個語句:
   第一句int i=0; 表示循環(huán)從i=0開始
   第二句i<limit; 這是循環(huán)的條件,如果條件滿足則執(zhí)行大括號中的循環(huán)體,如果條件不滿足,則中止循環(huán),跳到大括號下面的語句執(zhí)行
   第三句i++,這是循環(huán)步調控制語句,每循環(huán)一次后執(zhí)行一次此語句。
   i++相當于i=i+1,即i值在原有數(shù)值上增加1
      {
       temp0=iMA(NULL,0,均線,0,0,0,i);
       把均線在i位置上的值賦給temp0
       iMA:均線取值函數(shù)

       temp1=iMA(NULL,0,均線,0,0,0,i+1);
       把均線在(i+1)位置上的值賦給temp1

       mk[i]=EMPTY_VALUE;
       給數(shù)組mk在i位置上賦空值
       EMPTY_VALUE就是空值

       if(Close[i]>temp0  && Close[i+1]<temp1)  mk[i]=temp0;
       條件判斷語句。如果在i位置上價格大于均線,并且在(i+1)位置上價格小于均線(即價格上穿均線),則給數(shù)組mk在i位置上賦該位置的均線值
       Close[i]:在i位置上收盤價。
       &&:邏輯運算符“并且”

       if(Close[i]<temp0  && Close[i+1]>temp1)  mk[i]=temp0;
       與上一句相似
      }
  return(0);
  start函數(shù)結束語句

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
會變色的均線
請教高手 IndicatorCounted這個函數(shù)是什么意思(頁 1)
MT4實例薈萃(入門者整理)
MT4編程實例:在歐元圖上顯示英磅的RSI指標
問題集
遇到的問題應該就是這個“循環(huán)”問題
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服