Apa yang salah dengan garis kod pengiraan mudah ini?
Results 1 to 7 of 7

Thread: Apa yang salah dengan garis kod pengiraan mudah ini?

  1. #1
    Hello Folks.

    Saya akan melalui bumbung dalam satu minit.
    Kenapa pengiraan di bawah mengembalikan 0?

    Kod dimasukkan dua MyNewSL = OrderOpenPrice () - (StopLoss * Point * BrokerDigitCalc); OrderSelect untuk OrderOpenPrice dipanggil dan orderOpenPrice mengembalikan nilai yang sepatutnya.
    StopLoss = double, Value 15,
    BrokerDigitCalc = double, Nilai 10.

    Saya tidak faham? Adakah MT menghadapi masalah dengan pengiraan kurungan?
    Jika saya hanya menggantikan segala sesuatu dalam kurungan dengan 0,
    Kod dimasukkan Double MyNewSL = OrderOpenPrice () - (0) MyNewSL itu OrderOpenPrice, seperti yang dijangkakan.

    Saya tahu ia mudah, tetapi pada masa ini saya tidak dapat ...

    Salam.
    WorstCases

  2. #2

    Quote Originally Posted by ;
    Hello Folks. Saya akan melalui bumbung dalam satu minit. Kenapa pengiraan di bawah mengembalikan 0? Kod dimasukkan dua MyNewSL = OrderOpenPrice () - (StopLoss * Point * BrokerDigitCalc); OrderSelect untuk OrderOpenPrice dipanggil dan orderOpenPrice mengembalikan nilai yang sepatutnya. StopLoss = double, Value 15, BrokerDigitCalc = double, Value 10. Saya tidak faham? Adakah MT menghadapi masalah dengan pengiraan kurungan? Jika saya hanya menggantikan segala sesuatu dalam kurungan dengan 0, Kod dimasukkan Double MyNewSL = OrderOpenPrice () - (0) MyNewSL itu OrderOpenPrice, ...
    anda hanya memberi kami sebahagian daripada gambar. kenapa anda tidak menyingkirkan pesanan pesanan dan lihat apa yang hanya kembali kurungan. tanpa mengetahui apa yang sama dengan carta dan carta apa yang anda berada pada saya hanya boleh meneka bahawa matematik anda mengembalikan nilai yang berada di luar julat harga biasa .... iaitu jika Point = 1 maka orderopenprice anda - (150) akan menjadi nombor negatif .... maka ia akan ditukar menjadi sifar kerana anda tidak boleh mempunyai harga negatif.

  3. #3
    Titik = 0,00001
    Quote Originally Posted by ;
    Tidak pasti apa yang anda maksudkan dengan ini: StopLoss = double, Value 15, BrokerDigitCalc = double, Value 10.
    Jadi - meninggalkan kurungan keluar (tidak semestinya perlu) dan semuanya OK. Kod dimasukkan dua MyNewSL = OrderOpenPrice () -StopLoss * Point * BrokerDigitCalc; Masalah pelik. Nampaknya MT tidak boleh mengendalikan lebih daripada 2 nilai dalam kurungan ... ??

  4. #4

    Quote Originally Posted by ;
    Hello Folks. Saya akan melalui bumbung dalam satu minit. Kenapa pengiraan di bawah mengembalikan 0? Kod dimasukkan dua MyNewSL = OrderOpenPrice () - (StopLoss * Point * BrokerDigitCalc); OrderSelect untuk OrderOpenPrice dipanggil dan orderOpenPrice mengembalikan nilai yang sepatutnya. StopLoss = double, Value 15, BrokerDigitCalc = double, Value 10. Saya tidak faham? Adakah MT menghadapi masalah dengan pengiraan kurungan? Jika saya hanya menggantikan segala sesuatu dalam kurungan dengan 0, Kod dimasukkan Double MyNewSL = OrderOpenPrice () - (0) MyNewSL ...
    Cuba ini: double MyNewSL = OrderOpenPrice () - (StopLoss * Point) * BrokerDigitCalc; Selain itu perlu melihat lebih banyak kod. Tidak pasti apa yang anda maksudkan dengan ini: StopLoss = double, Value 15, BrokerDigitCalc = double, Value 10.

  5. #5

    Quote Originally Posted by ;
    Titik = 0,00001 Jadi - meninggalkan tanda kurung (tidak semestinya perlu) dan semuanya OK. Kod dimasukkan dua MyNewSL = OrderOpenPrice () -StopLoss * Point * BrokerDigitCalc; Masalah pelik. Nampaknya MT tidak boleh mengendalikan lebih daripada 2 nilai dalam kurungan ... ??
    hentikan hubungan dengan kurungan. anda telah melakukan sesuatu yang salah. saya 99.9999999% pasti bahawa mql tidak mempunyai masalah dengan kurungan. keluarkan ORDEROPENPRICE dan lihat apa yang BRACKETS pulangan .... kita TAHU bahawa orderopenprice akan betul, dan anda telah membuktikannya kepada diri sendiri .... jadi cari tahu apa yang sedang terjadi di bahagian LAIN. dari sana anda boleh mula berusaha untuk menyelesaikan apa yang salah. kita tidak perlu mengetahui nilai yang betul, kita perlu tahu nilai yang salah! jika anda tidak menyelesaikan masalah dalam kes ini maka anda tidak akan pernah menyelesaikannya jika ia pernah muncul lagi .... jadi temukan apa isu sekarang dan pastikan anda tidak membuat kesilapan yang sama (kerana saya 'pertaruhan itu sesuatu yang telah kamu lakukan di suatu tempat).

  6. #6

    Quote Originally Posted by ;
    Hello Folks. Saya akan melalui bumbung dalam satu minit. Kenapa pengiraan di bawah mengembalikan 0?
    Pernahkah anda menyemak ralat pemutus jenis? Saya telah ditangkap dengannya sebelum ini! Baca buku ini jika anda belum melakukannya ...
    http://docs.mql4.com/basis/types/casting

  7. #7
    Saya telah melihat kesilapan matematik dengan MT4 apabila anda tidak sepenuhnya menyekat formula dalam (). (apabila formula melakukan lebih dari sekadar multipliion.) double xyz = OrderOpenPrice () - myValue * Point * DigitSpace; double xyz = (OrderOpenPrice () - ((myValue * Point) * DigitSpace)); Operasi normal persamaan matematik selalu untuk membiak terlebih dahulu, tetapi untuk memastikan hasil atau penyelesaian kepada rumusan tentang apa yang anda maksudkan, anda harus menggunakan kurungan.

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.