Pengguna TL: Idea Mengubah Carta MT4 Linear kepada Carta Logaritmik
Halaman 1 daripada 1132 12 TerakhirTerakhir
Results 1 to 10 of 15

Thread: Pengguna TL: Idea Mengubah Carta MT4 Linear kepada Carta Logaritmik

  1. #1
    Hai,
    Saya mempunyai idea yang sangat istimewa untuk semua orang yang menyalahkan MT4MT5 kerana tidak menggambar trendline yang betul dan betul menggunakan Charts Linear yang digunakan MT4MT5.
    Bolehkah Coder mana pun boleh mengubah Pengubah selang ini dari Standard MT4-Arithmetic-Linear Standard kepada Skala Carta Logaritmik.
    Saya percaya ini adalah satu-satunya cara untuk memperoleh Carta Logaritma di MT4MT5 untuk semua Trendline-Lovers teknikal.
    Inilah kod sumber dan kod sumber:
    // ------------------------------------ ----------- -------------------
    //| Period_Converter_Opt. mq4 |
    //| Hak cipta (c) 2005, MetaQuotes Software Corp .. |
    //|
    http://www.metaquotes.net|
    //| Ver.1.6 Diubah oleh micclly |
    //| Ver.1.5 Diubah oleh fai |
    //| Diubah oleh wfy05 @ talkforex berdasarkan Period_Converter |
    //|
    http://www.talkforex.com|
    // ------------------------------------ ----------- -------------------
    #property hak cipta
    #property pautan http://www.mql4.com/codebase/indiors/277/
    #property indior_chart_window

    #include lt; WinUser32.mqhgt;

    /*
    Baca saya:

    I. Ciri-ciri:
    Ini adalah versi penukar selang yang lebih baik untuk MT4 berdasarkan kepada
    Penukar tempoh lalai MT4 dengan metaquotes.
    Skrip penukar interval lalai tidak menggalakkan penyegaran masa nyata,
    dan menggunakan banyak CPU (50% -9xpercent) menjadikan seluruh sistem perlahan.
    Selain itu, lalai adalah skrip yang tidak ditarik apabila anda keluar dari MT4,
    supaya anda perlu memohon setiap skrip penukar sekali lagi selepas memulakan semula, cukup
    mengganggu.

    Ini yang mendedahkan semua isu:
    1. Selang kebiasaan atau mengemaskini peningkatan gelaran milisaat.
    2. Kos rendah CPU, tipikal 5% -10percent atau kurang.
    3. Bekerja sebagai penunjuk, jadi boleh disimpan dan dimuat semula semasa resume.
    4. Tidak ada penukar per batasan carta kerana ia bukan skrip
    lagi, hanya boleh menggunakan satu tetingkap sebagai sumber untuk menghasilkan sebanyak mungkin
    carta masa baru yang mungkin.
    5. Mengemas kini secara automatik jika terdapat blok sejarah baru dimuatkan.

    II. Bagaimana nak guna:
    Duplikat fail mq4 ke folder penunjuk MT4 (pakar \ indikator)
    untuk memasangnya sebagai penunjuk, BUKAN skrip. Kemudian dalam indikator adat
    rekod, lampirkan period_converter_opt ke carta yang anda perlukan.
    Ia menggalakkan 4 parameter:
    PeriodMultiplier: pembolehubah pengganda fasa baru, lalai adalah 2
    UpdateInterval: selang kemas kini dalam milisaat,
    sifar menandakan kemas kini masa nyata. lalai adalah sifar.
    Diaktifkan: Anda boleh mematikannya tanpa mengeluarkannya dengan alternatif ini.

    Parameter lain termasuk komen atau debugging, adalah selamat untuk mengabaikannya.

    Juga Pastikan bahawa anda mempunyai alternatif import Dll Permit yang diperiksa dalam tab kongsi
    ia tidak akan berfungsi

    Kemudian, FileOpen Offline untuk membuka maklumat offline yang dihasilkan. Selepas itu
    Maklumat luar talian akan dikemas kini secara automatik.

    Selagi anda mengekalkan carta sumber terbuka dan penunjuk converter
    berjalan, carta yang dihasilkan termasuk petunjuk di dalam akan sentiasa
    dikemas kini. Juga anda boleh menutup carta yang dihasilkan dan buka lagi
    kemudian dari FileOpen Offline tanpa masalah.

    Jika anda mahu menghentikan MT4, adalah mungkin untuk meninggalkan carta luar talian yang lain
    carta dalam talian biasa. Apabila anda memulakan MT4 kali seterusnya, carta ini akan
    juga dimuatkan dan dikemas kini.


    III. Nota:
    1. TIDAK centang pilihan carta luar talian dalam carta luar talian yang dikongsi bersama.
    Atau selepas dimulakan semula MT4, ia akan merawat carta itu sebagai carta dan permintaan dalam talian
    maklumat dari pelayan, menghasilkan tetingkap carta kosong.
    2. Adalah mungkin untuk melampirkan lebih daripada satu penukar ke tetingkap yang sama menggunakan berbeza
    PeriodMultiplier, mis. Anda boleh melampirkan 3 penukar menggunakan
    PeriodMultiplier = 2, 4, 10 hingga M1 untuk menjana M2, M4, M10 pada masa yang sama.
    Ia juga ok untuk menggunakan carta M1 untuk menjana carta Jam seperti H2, yang mana
    hanya kos beberapa sumber CPU semasa penukaran awal. Tetapi biasanya
    kebanyakan pelayan tidak mempunyai banyak maklumat untuk tempoh yang singkat. Akibatnya
    Maklumat yang dijana tidak cukup lama untuk tempoh lanjutan. Jadi ia dicadangkan
    untuk menggunakan carta MasaHarian sebagai sumber apabila diperlukan.
    3. Peningkatan naik taraf mod sebenar masa sebenar secepat mungkin, namun sebagai
    ini dicapai melalui skrip, dan MT akan melangkau panggilan mula () berfungsi apabila
    bahawa PC anda sibuk dan banyak pendapatan sebut harga. Bagaimanapun, ini jarang berlaku,
    dan anda sekurang-kurangnya boleh mendapatkan 10 upgrade setiap saat yang lebih banyak lagi
    daripada mencukupi.
    4. Carta luar talian tidak mempunyai garis tawaran yang mendedahkan dalam carta, namun semua data
    dalam carta termasuk indikator masih dikemas kini,
    jadi jangan risau. Anda boleh menunjukkan garis bida dengan menanggalkan carta luar talian
    alternatif dalam ciri carta. Tetapi yang tidak banyak membantu dan harus diabaikan
    untuk menyemak pilihan carta luar talian sebelum keluar. Ia akan menyebabkan kesilapan dan
    menjadi kosong pada permulaan seterusnya. Anda perlu menutup tetingkap dan mula
    sekali lagi dari FileOpen di luar talian, yang biasanya tidak bernilai masalah.

    IV. Sejarah:
    2014.03.10 1.6 Digubah untuk menggalakkan pembinaan 600 dan selepasnya
    2009.08.07 1.5 Menambah 3 pilihan. (ShiftTiming, GMTShift, OmitD igit)
    2005.12.24 1.4 lebih cepat untuk mengesan sama ada data berubah dengan mengeluarkan titik terapung
    operasi, sokongan tambahan untuk mengeluarkan fail CSV dalam masa nyata.
    OutputCSVFile = 0 tidak menandakan CSV.
    OutputCSVFile = 1 menandakan CSV HST
    OutputCSVFile = 2 CSV sahaja, tiada HST.
    (membantu jika anda ingin menjana CSV untuk dibina selang)
    Nama fail CSV akan sama dengan dokumen HST kecuali pengembangannya.
    Menambah penentuan perlindungan untuk PeriodMultiplier.
    2005/12/04 1.3 Memperbaiki maklumat yang hilang apabila terdapat banyak data
    dimuatkan dalam beberapa blok, dan menggalakkan peningkatan auto
    apabila sejarah baru diisi.
    2005.11.29 1.2 Menambah fail untuk kehilangan data dan pelayan yang berubah.
    2005.11.29 1.1 Memperbaiki maklumat separa yang hilang selepas memulakan semula.
    Reinitialize selepas menukar data atau pelayan yang rosak.
    2005.11.28 1.0 Pelepasan permulaan
    *


    extern double Version = 1.6;//versi kod
    siri extern BuildInfo = 2014.03.10 oleh micclly;
    extern int PeriodMultiplier = 1;/pemboleh ubah pengganda fasa baru
    extern int OutputCSVFile = 0;/Tambahan fail CSV output?
    Extern int UpdateInterval = 0;/selang kemas kini dalam milisaat, sifar menandakan kemas kini masa nyata.
    Extern bool Enabled = true;
    extern bool Debug = false;

    extern int ShiftTiming = 0;/0-3, Menggunakan H1Chart dan PeriodMultiplier = 4;
    //jika 1, ServerH4Chart = 00: 00/04: 00/08: 00/12: 00 ...
    //= gt; OfflineH4Chart = 01: 00/05: 00/09: 00/13: 00 ...
    extern int GMTShift = 0;/harus 9, Masa Pelayan = GMT 0 Carta Offline Time = GMT 9
    extern int OmitDigit = 0;/jika 1, 5 Digit 4 Digit

    int FileHandle = -1;
    int CSVHandle = -1;
    int NewPeriod = 0;
    siri MySymbol =;
    int ShiftBase;
    #define OUTPUT_HST_ONLY 0
    #define OUTPUT_CSV_HST 1
    #define OUTPUT_CSV_ONLY 2


    #define CHART_CMD_UPDATE_DATA 33324

    void DebugMsg (msg string)

    jika (Debug) Alert (msg);


    int init ()

    ShiftBase = Tempoh () * 60;/sec
    akhiran siri =;
    jika (ShiftTiming! = 0) sufiks = StringConenate (akhiran, s, Shift Interval);
    jika (GMTShift! = 0) sufiks = StringConenate (akhiran, gram, GMTSh ift);
    jika (OmitDigit! = 0) sufiks = StringConenate (akhiran, o*, OmitDigit *);
    MySymbol = Symbol () _ akhiran;
    jika (StringLen (MySymbol) gt; 11)
    MySymbol = StringConenate (StringSubstr (MySy mbol, 0,11-StringLen (akhiran)), akhiran);
    //penilaian yang dilindungi untuk PeriodMultiplier.
    Jika (PeriodMultiplier lt; = 1 sufiks ==)
    //hanya output fail CSV
    Multiplier Tempoh = 1;
    Fail CSV Keluaran = 2;

    NewPeriod = Tempoh () * PeriodMultiplier;
    jika (OpenHistoryFile () lt; 0) kembali (-1);
    WriteHistoryHeader ();
    UpdateHistoryFile (Bar-1, benar);
    UpdateChartWindow ();
    pulangan (0);


    tidak sah deinit ()

    //Tutup fail fail
    jika (FileHandle gt; = 0)
    FileClose (FileHandle);
    FileHandle = -1;

    jika (CSVHandle gt; = 0)
    FileClose (CSVHandle);
    CSVHandle = -1;




    int OpenHistoryFile ()

    nama siri;
    name = MySymbol NewPeriod;
    jika (OutputCSVFile! = OUTPUT_CSV_ONLY) FILE_WRITE
    jika (OutputCSVFile! = OUTPUT_HST_ONLY) FILE_WRITE
    pulangan (0);


    int WriteHistoryHeader ()

    s_copyright;
    int i_digits = Digits-OmitDigit;
    int i_unused [13] = 0;
    int version = 400;

    jika (FileHandle lt; 0) kembali (-1);
    c_copyright = (C) dilarang 2003, MetaQuotes Software Corp .;
    FileWriteInteger (FileHandle, versi, LONG_VALUE);
    FileWriteString (FileHandle, c_copyright, 64);
    FileWriteString (FileHandle, MySymbol, 12);
    FileWriteInteger (FileHandle, NewPeriod, LONG_VALUE);
    FileWriteInteger (FileHandle, i_digits, LONG_VALUE);
    FileWriteInteger (FileHandle, 0, LONG_VALUE);/timesign
    FileWriteInteger (FileHandle, 0, LONG_VALUE);/last_sync
    FileWriteArray (FileHandle, i_unused, 0, ArraySize (i_unused));
    pulangan (0);



    statik double d_open, d_low, d_high, d_close, d_volume;
    int statik i_time;

    tidak sah WriteHistoryData ()
    {
    jika (FileHandle gt; = 0) {
    FileWriteInteger (FileHandle, i_time GMTShift * 60 * 60, LONG_VALUE);
    FileWriteDouble (FileHandle, d_open, DOUBLE_VALUE);
    FileWriteDouble (FileHandle, D_low, DOUBLE_VALUE);
    FileWriteDouble (FileHandle, d_high, DOUBLE_VALUE);
    FileWriteDouble (FileHandle, d_close, DOUBLE_VALUE);
    FileWriteDouble (FileHandle, d_volume, DOUBLE_VALUE);
    }
    jika (CSVHandle gt; = 0)
    int i_digits = Digits-OmitDigit;
    FileWrite (CSVHandle,
    TimeToStr (i_time, TIME_DATE),
    TimeToStr (i_time, TIME_MINUTES),
    DoubleToStr (d_open, i_digits),
    DoubleToStr (d_high, i_digits),
    DoubleToStr (d_low, i_digits),
    DoubleToStr (d_close, i_digits),
    d_volume);

    }

    int UpdateHistoryFile (int start_pos, bool init = false)

    int statik last_fpos, csv_fpos;
    int I, ps;
    //jika (FileHandle lt; 0) kembali (-1);
    //menormalkan masa lapang
    ps = NewPeriod * 60;
    i_time = (Masa [start_pos] -ShiftBase * ShiftTiming)ps;
    i_time = i_time * ps ShiftBase * ShiftTiming;
    jika (init)
    /masa awal, data init
    d_open = Buka [start_pos];
    d_low = Rendah [start_pos];
    d_high = Tinggi [start_pos];
    d_close = Tutup [start_pos];
    d_volume = Volume [start_pos];
    I = start_pos - 1;
    jika (FileHandle gt; = 0) last_fpos = FileTell (FileHandle);
    jika (CSVHandle gt; = 0) csv_fpos = FileTell (CSVHandle);
    lain
    Id = start_pos;
    jika (FileHandle gt; = 0) FileSeek (FileHandle, last_fpos, SEEK_ SET);
    jika (CSVHandle gt; = 0) FileSeek (CSVHandle, csv_fpos, SEEK_SET);

    jika (lt; 0) pulangan (-1);

    int cnt = 0;
    int lastBarTime;
    /pemprosesan bar
    sementara (saya gt; = 0)
    LastBarTime = Masa [I];

    //bar baru
    jika (LastBarTime gt; = i_time ps)
    //tulis maklumat pub
    WriteHistoryData ();
    cnt ;
    i_time = (LastBarTime-ShiftBase * ShiftTiming)ps;
    i_time = i_time * ps ShiftBase * ShiftTiming;
    d_open = Buka [I];
    d_low = Rendah [I];
    d_high = Tinggi [I];
    d_close = Tutup [I];
    d_volume = Volum [I];
    lain
    //tiada bar baru
    d_volume = Volum [I];
    jika (Rendah [I] lt; d_non) d_low = Rendah [I];
    jika (Tinggi [saya] mendapat; d'tinggi) d'high = Tinggi [I];
    d_close = Tutup [I];

    Saya -

    //album last_fpos sebelum menyusun pub terakhir.
    Jika (FileHandle gt; = 0) last_fpos = FileTell (FileHandle);
    jika (CSVHandle gt; = 0) csv_fpos = FileTell (CSVHandle);
    WriteHistoryData ();
    cnt ;
    d_volume - = Volume [0];
    //memadamkan data yang ditulis
    jika (FileHandle gt; = 0) FileFlush (FileHandle);
    jika (CSVHandle gt; = 0) FileFlush (CSVHandle);
    kembali (cnt);


    int UpdateChartWindow ()

    int statik hwnd = 0;

    jika (FileHandle lt; 0)
    //tanpa file HST dibuka, tidak perlu upgrade.
    Pulangan (-1);

    jika (hwnd == 0)
    //cuba mengesan tetingkap carta untuk mengemaskini
    hwnd = WindowHandle (MySymbol, NewPeriod);

    jika (hwnd! = 0)
    jika (IsDllsAllowed () == false)
    //Panggilan DLL mesti dibenarkan
    DebugMsg (panggilan Dll perlu dibenarkan);
    pulangan (-1);

    harus (PostMessageA (hwnd, WM_COMMAND, CHART _CMD_UPDATE_DATA, 0) == 0)
    //PostMessage gagal, tetingkap carta ditutup
    hwnd = 0;
    lain
    //Kemenangan PostMessage
    pulangan (0);


    //tetingkap tidak dijumpai atau PostMessage gagal
    pulangan (-1);



    /*
    int PerfCheck (mulakan mulakan)

    int statik StartTime = 0;
    statik int Indeks = 0;
    jika (Mula)
    StartTime = GetTickCount ();
    Indeks = 0;
    hasil (Mula Masa);

    Indeks ;
    int diff = GetTickCount () - StartTime;
    Pemberitahuan (Masa yang digunakan [ Index ]: diff);
    StartTime = GetTickCount ();
    hasil (diff);

    *

    int static LastStartTime = 0;
    int statik LastEndTime = 0;
    int statik LastBarCount = 0;

    void reinit ()

    deinit ();
    di dalamnya();
    LastStartTime = Masa [Bar-1];
    LastEndTime = Timing [0];
    LastBarCount = Bar;


    bool IsDataChanged ()
    LastLow! = Rendah [0]

    int CheckNewData ()
    Masa [I]! = LastEndTime)
    DebugMsg (Masa tamat TimeToStr (LastEndTime) tidak dijumpai);
    reinit ();
    pulangan (-1);

    cnt = Bar - I;
    jika (cnt! = LastBarCount)
    DebugMsg (Data dimuat, cnt ialah cnt LastBarCount adalah LastBarCount);
    reinit ();
    pulangan (-1);


    //tidak ada data baru yang dimuatkan, disatukan kembali dengan kedudukan LastEndTime.
    LastBarCount = Bar;
    LastEndTime = Timing [0];
    pulangan (Id);


    // ------------------------------------ ----------- -------------------
    //| fungsi permulaan program |
    // ------------------------------------ ----------- -------------------
    int start ()

    int statik last_time = 0;

    jika (! Diaktifkan) pulangan (0);
    //sentiasa kemas kini atau kemas kini sejurus selepas selang waktu tertentu
    jika (UpdateInterval! = 0)
    int cur_time;
    cur_time = GetTickCount ();
    jika (MathAbs (cur_time - last_time) lt; UpdateInterval)
    pulangan (0);

    last_time = cur_time;


    //if (Debug) PerfCheck (true);
    int n = CheckNewData ();
    //if (Debug) PerfCheck (false);
    jika (n lt; 0) kembali (0);

    //Sejarah kemas kini dengan maklumat baru
    UpdateHistoryFile (n);
    //tetingkap carta segar semula
    UpdateChartWindow ();
    //if (Debug) PerfCheck (false);
    pulangan (0);


    Penunjuk lampiran:
    Fail yang dilampirkan


    https://www.justgetforex.com/attachm...9574793598.mq460 KB | 0 muat turun

  2. #2
    Edit: walaupun Pedagang tidak boleh berdagang di Carta Luar Talian kegemaran dengan Petunjuk seperti itu, mungkin untuk menangani Perdagangan dari Carta biasa yang saya lakukan sejak beberapa dekade sekarang. Bagaimanapun ada sesiapa yang berminat dalam pemikiran ini. Sekiranya seseorang tidak mempunyai pendapat yang sama seperti saya lihat sendiri. Jadikan ujian dari diri anda dalam membandingkan Linear Skala MT4MT5-Charts yang biasa menggunakan Trendlines dan lakukan perkara yang sama menggunakan Carta Skala Logaritma yang boleh diakses di mana-mana di dalam internet menggunakan beberapa perisian percuma. Ia akan menjadi menakjubkan. Perbezaannya yang besar antara Carta Skala Linear biasa dan Logaritma Carta Skala lukisan Trendlines. Greeds Zack

  3. #3
    Adakah anda menghantar beberapa gambar untuk menunjukkan perbezaan?

  4. #4
    Saya sangat terhad masa jadi sila lihat sendiri. Charts Logarithmic boleh didapati di seluruh internet untuk mendapatkan sendiri. Terima kasih. Jika beberapa pengkod berminat sila beritahu saya. Adalah lebih baik untuk bekerja pada Kod ini daripada Mengekodkan Penunjuk tidak bernilai yang benar-benar membantu tiada siapa. Terima kasih kerana memberi perhatian. Greeds Zack

  5. #5
    Quote Originally Posted by ;
    Saya sangat terhad masa jadi sila lihat sendiri. Logaritmik Charts boleh didapati di seluruh internet untuk mendapatkan diri sendiri. Terima kasih. Sekiranya Coder beberapa berminat sila beritahu saya. Jelas sekali lebih baik untuk bekerja pada Kod ini daripada Mengekodkan Petunjuk yang tidak berguna yang sebenarnya tidak membantu siapa pun. Terima kasih kerana memberi perhatian. Greeds Zack
    penunjuk itu
    https://www.justgetforex.com/attachm...2885342069.mq4tidak berfungsi pada platform saya. Sekiranya terdapat beberapa bug lain dalam kod tersebut. Sila padanya.

  6. #6
    Walau bagaimanapun, .ex4 sepatutnya berfungsi. Ia berfungsi pada Platform saya tanpa sebarang batasan. Terima kasih atas sebarang nasihat. Z.

  7. #7

    Quote Originally Posted by ;
    Walau bagaimanapun, .ex4 sepatutnya berfungsi. Ia berfungsi pada Platform saya tanpa sebarang batasan. Terima kasih atas sebarang info. Z.
    maka anda boleh meng-upload edisi ex4
    https://www.justgetforex.com/trading...le-corner.htmlTks

  8. #8

  9. #9

    Quote Originally Posted by ;
    Ini dia. Z. fail
    quite thanks. Could you gIve explanation of this parameter setting and how to use this indior(offline chart or...?) ? Timeshiftadd at hptmm periodmultiplier.... .... ...

  10. #10

Kebenaran Posting

  • Anda tidak boleh menghantar thread baru
  • Anda tidak boleh membalas kiriman
  • Anda tidak boleh mengedit siaran anda
  • Anda tidak boleh menyiarkan lampiran
  •  
  • Kod BB Hidup
  • Smilies Hidup
  • Kod [IMG] adalah Hidup
  • Kod [VIDEO] adalah Hidup
  • Kod HTML Tidak Hidup
Polisi Kuki
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.