Sayfa 55/55 İlkİlk ... 545535455
Arama sonucu : 437 madde; 433 - 437 arası.

Konu: Metatrader ile ilgili herşey

  1. #433
    Duhul
    Jan 2013
    İkamet
    BODRUM GÜMÜŞLÜK
    Yaş
    71
    Gönderi
    866

    Esas

    MetaTrader Hormonic ABCD formülü arıyorum...

  2. #434

    Esas

    //+------------------------------------------------------------------+
    //| ADXW.mq5 |
    //| Copyright 2009, MetaQuotes Software Corp. |
    //| http://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "2009, MetaQuotes Software Corp."
    #property link "http://www.mql5.com"
    #property description "Average Directional Movement Index"
    #property description "by Welles Wilder"
    #include <MovingAverages.mqh>
    //---
    #property indicator_separate_window
    #property indicator_buffers 10
    #property indicator_plots 3
    #property indicator_type1 DRAW_LINE
    #property indicator_style1 STYLE_SOLID
    #property indicator_width1 1
    #property indicator_color1 LightSeaGreen
    #property indicator_type2 DRAW_LINE
    #property indicator_style2 STYLE_DOT
    #property indicator_width2 1
    #property indicator_color2 YellowGreen
    #property indicator_type3 DRAW_LINE
    #property indicator_style3 STYLE_DOT
    #property indicator_width3 1
    #property indicator_color3 Wheat
    #property indicator_label1 "ADX Wilder"
    #property indicator_label2 "+DI"
    #property indicator_label3 "-DI"
    //--- input parameters
    input int InpPeriodADXW=14; // Period
    //---- buffers
    double ExtADXWBuffer[];
    double ExtPDIBuffer[];
    double ExtNDIBuffer[];
    double ExtPDSBuffer[];
    double ExtNDSBuffer[];
    double ExtPDBuffer[];
    double ExtNDBuffer[];
    double ExtTRBuffer[];
    double ExtATRBuffer[];
    double ExtDXBuffer[];
    //--- global variable
    int ExtADXWPeriod;
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function |
    //+------------------------------------------------------------------+
    void OnInit()
    {
    //--- check for input parameters
    if(InpPeriodADXW>=100 || InpPeriodADXW<=0)
    {
    ExtADXWPeriod=14;
    printf("Incorrect value for input variable InpPeriodADXW=%d. Indicator will use value=%d for calculations.",InpPeriodADXW,ExtADXWPeriod);
    }
    else ExtADXWPeriod=InpPeriodADXW;
    //---- indicator buffers
    SetIndexBuffer(0,ExtADXWBuffer);
    SetIndexBuffer(1,ExtPDIBuffer);
    SetIndexBuffer(2,ExtNDIBuffer);
    //--- calculation buffers
    SetIndexBuffer(3,ExtPDBuffer,INDICATOR_CALCULATION S);
    SetIndexBuffer(4,ExtNDBuffer,INDICATOR_CALCULATION S);
    SetIndexBuffer(5,ExtDXBuffer,INDICATOR_CALCULATION S);
    SetIndexBuffer(6,ExtTRBuffer,INDICATOR_CALCULATION S);
    SetIndexBuffer(7,ExtATRBuffer,INDICATOR_CALCULATIO NS);
    SetIndexBuffer(8,ExtPDSBuffer,INDICATOR_CALCULATIO NS);
    SetIndexBuffer(9,ExtNDSBuffer,INDICATOR_CALCULATIO NS);
    //--- set draw begin
    PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,ExtADXWPerio d<<1);
    PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,ExtADXWPerio d+1);
    PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,ExtADXWPerio d+1);
    //--- indicator short name
    string short_name="ADX Wilder("+string(ExtADXWPeriod)+")";
    IndicatorSetString(INDICATOR_SHORTNAME,short_name) ;
    //--- change 1-st index label
    PlotIndexSetString(0,PLOT_LABEL,short_name);
    //--- indicator digits
    IndicatorSetInteger(INDICATOR_DIGITS,2);
    //---- end of initialization function
    }
    //+------------------------------------------------------------------+
    //| 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[])
    {
    //--- checking for bars count
    if(rates_total<ExtADXWPeriod)
    return(0);
    //--- detect start position
    int start;
    if(prev_calculated>1) start=prev_calculated-1;
    else
    {
    start=1;
    for(int i=0;i<ExtADXWPeriod;i++)
    {
    ExtADXWBuffer[i]=0;
    ExtPDIBuffer[i]=0;
    ExtNDIBuffer[i]=0;
    ExtPDSBuffer[i]=0;
    ExtNDSBuffer[i]=0;
    ExtPDBuffer[i]=0;
    ExtNDBuffer[i]=0;
    ExtTRBuffer[i]=0;
    ExtATRBuffer[i]=0;
    ExtDXBuffer[i]=0;
    }
    }
    //--- main cycle
    for(int i=start;i<rates_total && !IsStopped();i++)
    {
    //--- get some data
    double Hi =high[i];
    double prevHi=high[i-1];
    double Lo =low[i];
    double prevLo=low[i-1];
    double prevCl=close[i-1];
    //--- fill main positive and main negative buffers
    double dTmpP=Hi-prevHi;
    double dTmpN=prevLo-Lo;
    if(dTmpP<0.0) dTmpP=0.0;
    if(dTmpN<0.0) dTmpN=0.0;
    if(dTmpN==dTmpP)
    {
    dTmpN=0.0;
    dTmpP=0.0;
    }
    else
    {
    if(dTmpP<dTmpN) dTmpP=0.0;
    else dTmpN=0.0;
    }
    ExtPDBuffer[i]=dTmpP;
    ExtNDBuffer[i]=dTmpN;
    //--- define TR
    double tr=MathMax(MathMax(MathAbs(Hi-Lo),MathAbs(Hi-prevCl)),MathAbs(Lo-prevCl));
    //--- write down TR to TR buffer
    ExtTRBuffer[i]=tr;
    //--- fill smoothed positive and negative buffers and TR buffer
    if(i<ExtADXWPeriod)
    {
    ExtATRBuffer[i]=0.0;
    ExtPDIBuffer[i]=0.0;
    ExtNDIBuffer[i]=0.0;
    }
    else
    {
    ExtATRBuffer[i]=SmoothedMA(i,ExtADXWPeriod,ExtATRBuffer[i-1],ExtTRBuffer);
    ExtPDSBuffer[i]=SmoothedMA(i,ExtADXWPeriod,ExtPDSBuffer[i-1],ExtPDBuffer);
    ExtNDSBuffer[i]=SmoothedMA(i,ExtADXWPeriod,ExtNDSBuffer[i-1],ExtNDBuffer);
    }
    //--- calculate PDI and NDI buffers
    if(ExtATRBuffer[i]!=0.0)
    {
    ExtPDIBuffer[i]=100.0*ExtPDSBuffer[i]/ExtATRBuffer[i];
    ExtNDIBuffer[i]=100.0*ExtNDSBuffer[i]/ExtATRBuffer[i];
    }
    else
    {
    ExtPDIBuffer[i]=0.0;
    ExtNDIBuffer[i]=0.0;
    }
    //--- Calculate DX buffer
    double dTmp=ExtPDIBuffer[i]+ExtNDIBuffer[i];
    if(dTmp!=0.0) dTmp=100.0*MathAbs((ExtPDIBuffer[i]-ExtNDIBuffer[i])/dTmp);
    else dTmp=0.0;
    ExtDXBuffer[i]=dTmp;
    //--- fill ADXW buffer as smoothed DX buffer
    ExtADXWBuffer[i]=SmoothedMA(i,ExtADXWPeriod,ExtADXWBuffer[i-1],ExtDXBuffer);
    }
    //---- OnCalculate done. Return new prev_calculated.
    return(rates_total);
    }
    //+------------------------------------------------------------------+




    Arkadaşlar bu gördüğünüz mt 5 te adxwilder göstergesi , ben bu indikatör içindeki di+- nin kesişimlerinden alım satım sinyali üretsin istiyuorum , sadece alım ve ya satım sinyali geldiğinde alarm çalsın birde grafik üzerine al-sat ikonu koysun
    metatrader yazım dili konusunda epeyce cahilim bu konuda yardımcı olabilen varsa sevinirim

  3. #435

    Esas

    Mt4 için çok basit bişey düşündüm bana bu konuda yardımcı olursanız cok sevınırım.Ağırlıklı ortala 9-21 moving averge eklıyoruz 9 21 i hangi yöndekeserse o tarafa işlem açıyor(buy-sell) işlemi açtıktan sonra %0,05 karı görünce %0,02 stop koyuyo çıkış devam ederse örneğin %0,07 oldu stopbu %0,04 e koyuyo %0,09 olursa %0,07 ye stopu kaydırıyoönü açık gıdebıldıgı kadar gıdıyo ama stopta onunla beraber takıp edıyo.
    Stop olunca flat beklıyo şartların oluşmasını.Şartlarda 9 21 i tekrar neterafa keserse otarafa tekrar poz açıyo ve aynı şekilde devam edıyor.
    Bununla ilgili bana yardımcı olursanız çok sevinirim.

  4. Esas

    Merhabalar yeni üye oldum... gram altın var mt4 de ama gram gümüş yok gram gümüş acabileceğim bir program var mı arkadaşlar çoktandır arıyorum bulamıyorum tavsiye edeceğiniz bir program var mı ?

  5. Esas

    arkadaşlar mt4 ü bende yeni indirdim fakat bist30, vob yok bulamıyorum veya varda ben ekleyemiyorum yardımcı olan olursa memnun olurum

Sayfa 55/55 İlkİlk ... 545535455

Gönderi Kuralları

  • Yeni konu açamazsınız
  • Konulara cevap yazamazsınız
  • Yazılara ek gönderemezsiniz
  • Yazılarınızı değiştiremezsiniz
  •