Mengubah string menjadi datetime
Results 1 to 9 of 9

Thread: Mengubah string menjadi datetime

  1. #1
    Saya melakukan sesuatu yang salah di sini dan mendapatkan hasil yang salah.

    Pada satu titik EA saya, saya menyimpan datetime ke variabel string sebagai sesuatu seperti ini:

    titik A = 1303867800

    Sekarang di beberapa titik nanti saya perlu mengonversinya kembali ke datetime sehingga saya dapat menggunakannya untuk membuat objek persegi panjang pada bagan jadi saya menggunakan:

    titikS = StrToTime(titikS)

    Setelah melakukan ini, variabel menjadi:

    titik A = 1303948800

    Yang seperti yang Anda lihat berbeda dari yang asli di atas - saya mungkin melakukan kesalahan konyol jika ada yang bisa membantu mendapatkan variabel DateTime asli saya ke string dan kemudian KEMBALI ke DateTime, sangat dihargai.

    Terima kasih

  2. #2
    thx heaps atas penjelasannya - hargai itu. satu-satunya hal adalah saya tidak dapat menemukan IntToStr dalam dokumentasi?

  3. #3
    saya harus mengklarifikasi sedikit lebih jauh. apa yang telah Anda lakukan, Anda tidak akan dapat melakukannya di lingkungan pemrograman yang tepat, dan Anda terjebak karena mql berurusan dengan situasi tertentu secara bebas alih-alih menegakkan konvensi tipe secara ketat. apa yang tampaknya telah Anda lakukan secara efektif adalah ini: ambil int, writetosomefile(integer) [pada titik ini mql secara otomatis mengubah bilangan bulat menjadi representasi string dari nomor ini untuk Anda, tetapi sebenarnya tidak boleh ... ini adalah tempat Anda telah menjadi tersandung]... readfromfile(string), StringDateSentenceToDatTime(string) edit : di atas seharusnya - ambil nilai int dan langsung membacanya menjadi variabel string [mql mengonversi ini untuk Anda secara otomatis tetapi tidak seharusnya, dan di sinilah Anda telah tertangkap], tulis string ke file, baca string dari file, konversi string yang diformat tanggal menjadi datetime ini memuntahkan nilai sampah karena Anda tidak meneruskannya dengan hal yang benar untuk memulai. jika mql setengah serius itu akan muntah ketika Anda mencoba membaca nilai integer datetime menjadi variabel string dan sebaliknya harus memaksa Anda untuk melakukan konversi ini sendiri secara manual sehingga Anda benar-benar tahu persis nilai apa yang setiap saat daripada membiarkan Anda gantung diri. untuk melihatnya beraksi adalah melihat sesuatu seperti ini: konversi datetime 123456789 ke string 123456789 tulis ke file: string 123456789 baca dari file: string 123456789 konversi string 123456789 yang dimaksudkan untuk diformat dengan data tanggal dan waktu menjadi nilai datetime sampah 987654167 tetapi , apa yang Anda PIKIR terjadi adalah ini: konversi datetime 123456789 ke string yang diformat sebagai data tanggal dan waktu yyyy.mm.dd hh:mm tulis ke file yyyy.mm.dd hh:mm baca dari file yyyy.mm.dd hh:mm konversi string yyyy.mm.dd jj:mm ke nilai datetime 123456789 yang Anda INGIN terjadi adalah ini: konversi datetime 123456789 ke string 123456789 tulis ke file 123456789 baca dari file 123456789 konversi string 123456789 ke int (yang sama dengan datetime) 123456789 atau, jika ini tidak berhasil, Anda dapat melakukan ini yang lebih mirip dengan apa yang ingin Anda lakukan: mengonversi datetime 123456789 menjadi string yang diformat yyyy.mm.dd hh:mm (menggunakan TimeToStr) tulis string yyyy.mm.dd hh: mm ke file baca string yyyy.mm.dd jj:mm dari file con vert tanggal diformat string yyyy.mm.dd jj:mm ke datetime 123456789 mungkin tidak bisa lebih jelas dari itu.

  4. #4
    ya tentu saja. datetime pada dasarnya adalah bilangan bulat. anda menulis nilai integer ke file dalam format string mis. 123456789, lalu Anda membaca dari file nomor ini dan kemudian mendorongnya ke fungsi strtotime sebagai string angka alih-alih format kalimat semu yang diharapkan strtotime. timetostr dan strtotime mengkonversi bolak-balik antara angka datetime dan kalimat pseudo-date. seluruh tujuannya adalah untuk dapat menampilkan nilai datetime dalam format yang dapat dibaca manusia, atau mengambil string berformat yang dapat dibaca manusia yang berisi nilai tanggal dan waktu dan mengubahnya menjadi nilai datetime (bilangan bulat) yang dapat digunakan komputer. ambil nomor datetime, ubah menjadi kalimat semu string tanggal dengan timetostr, tulis ini ke file ... lalu baca kembali kalimat semu ini dan ubah kembali menjadi datetime dengan timetostr. atau, cara yang lebih logis, ambil nomor datetime, IntToStr dan tulis string ke file... kemudian baca string dari file, lalu konversi kembali ke int dengan StrToInt. sepenuhnya menghindari fungsi timetostr/strtotime yang tidak berguna yang lebih berguna untuk meludahkan ke dalam format yang dapat dibaca manusia dan tidak memiliki kegunaan positif bagi komputer.

  5. #5
    ok saya mengerti maksud Anda - tetapi ini adalah cerita lengkapnya - saya memiliki EA pertama yang menyimpan TimeDate ini ke file - oleh karena itu jelas disimpan sebagai string: Kode yang Dimasukkan pointA = ObjectGet(object1,OBJPROP_TIME1) Oleh karena itu ketika EA ke-2 mendapatkan ini data dari file sepertinya 1303867800 Apakah Anda mengatakan ketika saya menyimpan pointA ke file saya harus menggunakan fungsi TimeToStr ? Apakah itu akan menyimpannya dengan benar sehingga ketika kembali benar?

  6. #6
    Anda pasti melakukan sesuatu yang salah. StrToTime seharusnya menerima string dalam format yyy.mm.dd hh:mm, tetapi dalam contoh Anda string pointA sama dengan beberapa angka. saya pikir Anda mungkin melakukan ini semua salah dan mempersulit diri Anda sendiri, tetapi tetap saja lihat kode yang berfungsi di bawah kode Sisipan string pointA; titikA = TimeToStr(Waktu#91;0#93; Cetak(titikA = titikA setelah dikonversi ke waktu: StrToTime(titikA)); contoh output memberikan : 2011.04.28 18:30:04 nbTestingOthersIndi EURUSD,M1: pointA = 2011.04.28 10:30 setelah dikonversi ke waktu: 1303986600

  7. #7
    tidak cukup kode untuk di-debug. sepertinya string Anda sedang diperbarui di suatu tempat di sepanjang jalan dengan nilai baru karena nilai ketika Anda mengirimnya kembali melalui strtotime memiliki jumlah yang lebih besar yang menunjukkan nilai waktu yang lebih baru.

  8. #8
    memang terlihat seperti itu tetapi cukup aneh - saya menggunakan baris berikut untuk men-debug dan di dalam baris itu salah: Dimasukkan Kode Cetak(pointA = pointA setelah dikonversi ke waktu: StrToTime(pointA)); Outputnya adalah: Kode yang Dimasukkan EURAUD,M15: pointA = 1303867800 setelah dikonversi ke waktu: 1303948800

  9. #9
    oh ff!!! maaf kawan, terkadang saya agak mundur karena saya menulis kode dalam beberapa bahasa yang berbeda. saya mungkin bingung dengan apa yang Anda lakukan dengan variabel apa. itu dapat sangat membantu dalam situasi ini untuk memberikan nama yang lebih bermakna untuk variabel Anda seperti PointAString atau sPointA... berfungsi ganda sebagai tempdouble atau dtemp dll dll. tanpa melihat deklarasi variabel yang telah Anda gunakan untuk mendefinisikan variabel dan tipenya yang saya ambil menebak apa yang telah Anda lakukan dengan tepat. untuk menjawab pertanyaan Anda mencari di file bantuan saya melihat sebenarnya tidak ada fungsi intostr, dan Anda cukup menetapkan variabel string angka integer dan mql secara otomatis mengubahnya untuk Anda. dalam lingkungan pemrograman yang tepat, hal-hal seperti ini akan memerlukan pemanggilan fungsi dedied yang secara khusus mengubah bilangan bulat menjadi string, dan dengan cara ini Anda tidak dapat mencampuradukkan variabel apa yang dimiliki X dan variabel apa yang dimiliki Y saat kompiler jatuh- lebih jika Anda mencoba untuk mencampur dan mencocokkan tipe data yang berbeda. Singkatnya: saya semakin bingung. Anda akan mengetahuinya, hanya perlu diingat jika Anda membaca atau menulis versi string dari suatu nomor, atau versi string yang diformat tanggal dari nomor datetime

Similar Threads

  1. Rick Sanchez mencoba mengubah $ 50 menjadi $ 50.000 dalam 10 perdagangan
    By Vice5984 in forum Sistem dan Strategi Perdagangan
    Balasan: 16
    Postingan Terakhir: 12-14-2021 11:01, 11:01 AM
  2. Perlu bantuan untuk mengubah Indikator TradeStation sederhana menjadi mt4
    By angknio.gem in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 2
    Postingan Terakhir: 07-11-2018 00:33, 12:33 AM
  3. Mengubah egi tradingview menjadi mt4 Expert Advisor
    By fehhyoxhay in forum Analisis Teknis
    Balasan: 0
    Postingan Terakhir: 06-27-2018 03:42, 03:42 AM
  4. Mengubah egi tradingview menjadi mt4 Expert Advisor
    By fehhyoxhay in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 0
    Postingan Terakhir: 06-27-2018 03:42, 03:42 AM
  5. Mengubah persamaan Excel menjadi indikator MT4
    By cahhytt in forum Pembicaran Bitcoin dan Mata Uang Kripto
    Balasan: 0
    Postingan Terakhir: 10-29-2014 12:39, 12:39 PM

Izin Posting

  • Anda tidak boleh memposting thread baru
  • Anda tidak boleh memposting balasan
  • Anda tidak boleh memposting lampiran
  • Anda tidak boleh menyunting postingan Anda
  •  
  • Kode BB Aktif
  • Smilies Aktif
  • Kode [IMG] Aktif
  • Kode [VIDEO] Aktif
  • Kode HTML tidak aktif
This website uses cookies
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.