Soalan Lazim

Saya ingin menetapkan NetTradeX Advisors di komputer berlainan, bagaimana saya boleh mengeksport kesemua scripts*?

Kesemua NetTradeX Advisors scripts disimpan di dalam fail Documents\NeTTradeX Advisors\scripts. Setelah selesai pasang terminal berikut di komputer berlainan, anda perlu salin semua kandungan fail di atas ke dalam fail yang berkaitan di komputer baru dan buka semula terminal.

Saya telah membuat petunjuk akan tetapi garisannya tergangu. Bagaimana saya boleh memaparkan garisan petunjuk tanpa jurang/gap?

Untuk mendapatkan garisan tanpa jurang, gunakan fungsi SetIndexStyle dengan jenis parameter yang memiliki nilai ltSection.

Saya menjalankan expert, tetapi ia berhenti selepas beberapa saat; Journal memaparkan pesanan "stopped by timeout". Kenapa ini berlaku?

Setelah tick muncul, expert akan menjalankan kesemua logik program bagi rangka masa terhad (60 saat). Jika had masa berikut diatasi, expert akan berhenti secara paksaan, dan 3 saat tambahan diberikan untuk menyelesaikan proses yang dinyatakan sebelum ini. Dinasihatkan untuk menganalisi keadaan flag System.IsStopped untuk memastikan ia menyelesaikan tugasnya. Setelah expert berhenti, pengguna menerima pesanan "stopped by timeout". Di dalam situasi berikut, program harus dijalankan supaya pelaksanaanya menggunakan masa yang kurang.

Saya mengirim permintaan untuk membuka kedudukan dengan menggunakan fungsi Deals.Open(), tetapi kedudukan berikut tidak dibuka. Kenapa perkara ini berlaku?

Bagi memastikan fungsi Deals.Open() memberikan nilai sifar, anda perlu mengakses System.LastError dan dapatkan kod kesalahannya. Penerangan kesalahan/ralat ada disediakan di dalam manula pengguna di dalam bahagian "Basics" – "Error Codes". Sila beri perhatian bahawa System.LastError harus diakses serta merta selepas fungsi dagangan dinyatakan, jika tidak operasi dagangan lain akan mengubah keadaan/status berikut selaras dengan hasil operasinya

Saya melakukan transaksi atau pesanan dan saya cuba untuk mendapatkan keadaan/status-nya, akan tetapi nilai yang dipaparkan tidak benar.

Untuk mendapatkan keadaan/status transaksi atau pesanan atau kesalahan/ralat, pertamanya anda harus menggunakan fungsi Select() dan, pastikan Select() mengembalikan nilai true, terhadap transaksi atau keadaan.

Bagaimana saya boleh menetapkan jenis pesanan tertunda (Buy stop atau Buy limit)?

Untuk menentukan jenis pesanan yang ditetapkan, anda perlu mengakses ciri-cirinya selepas memangil fungsi Select(). Terdapat dua jenis ciri-ciri yang perlu ditepati untuk pesanan Buy Stop: Orders.Direction == opBuy dan Orders.IsLimit == false, masing-masing, untuk pesanan Buy Limit – ciri-ciri berikut harus dipenuhi Orders.Direction == opBuy dan Orders.IsLimit == true.

Apa itu SubType property (order subtype)?

Order subtype property digunakan untuk pesanan 'complex' dan membolehkan untuk menentukan pesanan mana yang utama dan sampingan. Sabagai contoh, di dalam situasi pesanan pengaktifan dan ia dilaksanakan, oleh yang demikian pesanan OCO akan ditetapkan, pesanan pengaktifan akan menjadi pesanan utama (order level 1) dan pesanan/order OCO – subordinates/sampingan (order level 2).

Saya perlu membuka kedudukan pada simbol tertentu. Saya buka jendela "Make deal/Transaksi", akan tetapi ia tidak memiliki simbol yang diperlukan.

Senarai simbol di dalam jendela berikut memaparkan simbol yang sama yang terdapat di dalam jendela Sebutan Pasaran. Oleh yang demikian, sebelum menghantar permintaan untuk membuka kedudukan, sila pastikan anda meletakkan simbol berikut di dalam jendela Sebutan Pasaran.

Bagaimana saya boleh mendapatkan maklumat mengenai keuntungan kedudukan yang ditutup semalam atau beberapa hari lepas?

Maklumat mengenai kedudukan yang ditutup dipaparkan di dalam tab Sejarah di dalam terminal NetTradeX Advisors. Kedudukan berikut boleh diakses dengan menggunakan objek History. Maklumat mengenai kedudukan yang ditutup disimpan sehingga terminal ditutup dan buka semula.

Saya menggunakan fungsi Symbols.Distance() tetapi saya menerima "zero minimum order distance/jarak minimum pesanan sifar".

Sebelum menggunakan kaedah Symbols.Distance(), anda perlu menetapkan simbol yang diperlukan di dalam Sebutan Pasaran/Market Watch.

Apakah fungsi sistem yang perlu ada di dalam script*? Jika saya tidak melakukan sebarang tindakan ketika initializing dan deinitializing, bolehkah saya memadam fungsi berikut?

Untuk menjalankan script fungsi Run () diperlukan. Fungsi Initialize () dan DeInitialize () adalah pilihan, dan jika tiada sebarang tindakan diperlukan di initialization dan deinitialization, ia boleh dikecualikan daripada program.
Di dalam situasi, menciptakan fail dengan penerangan fungsi pembantu pengguna, ia berkemungkinan tidak memiliki fungsi Run() di dalam script. Fail berikut boleh compiled, tetapi tidak boleh dilaksanakan. Scripts jenis ini biasanya digunakan bersama #include> di dalam kod scripts yang ingin dilaksanakan.

Adakah terdapat fail log dimana kesemua maklumat mengenai program disimpan?

Ya, semua maklumat yang dipaparkan di dalam tab Journal, juga disimpan di dalam fail log, yang boleh didapati di dalam fail Documents\ NetTradeX Advisors\ bases\ account_type\ account_number\ logs. . Terdapat fail yang berbeza untuk setiap hari. Fail berikut boleh dibuka di dalam text editor.

Kenapa sebahagian global variables memiliki modifier 'extern' dihadapan mereka?

Global variable boleh diisytiharkan dengan extern modifier dan tanpanya. Jika terdapat extern modifier, selepas menjalankan script, jendela untuk mengubah parameternya akan terpapar. Tambahan pula, parameter berikut boleh diubah jika diperlukan ketika advisor atau petunjuk sedang beroperasi.

Apa gabungan kekunci yang terdapat untuk berkerja dengan program?

Klik gabungan kekunci Ctrl+N membuka senarai simbol yang tersedia untuk membuka carta sebutan.
Ketika berkerja bersama carta, anda boleh menggunakan kekunci + dan - untuk mengubah skala carta secara melintang. Operasi yang sama boleh dilaksanakan jika tetikus berada di skala waktu dan penggunan memegang butang tetikus kiri dan menggerakkan tetikus kekanan atau kiri. Untuk menukar skala menegak, letakkan tetikus di skala harga, dan klik butang kiri tetikus dan gerakkan tetikus ke atas atau bawah.
Untuk memaparkan carta harga untuk tarikh yang terakhir, anda boleh menekan butang Home, dan untuk mendapatkan sebutan yang terbaru klik butang – End.
Klik dua kali di ruangan kosong di dalam tab Kedudukan Terbuka akan membuka jendela Transaksi, dan klik dua kali di dalam tab pesanan/order – jendela tetapan pesanan. Operasi yang sama boleh dilaksanakan dengan menekan butang F4 (Transaksi) atau F3 (Tetapan pesanan).
Selain itu, amat selesa untuk mengubah nilai ruangan nombor di dalam jendela Transaksi atau pesanan dengan menggerakan roda tetikus. Sebagai contoh, ketika menetapkan harga untuk pesanan berkaitan, pergerakkan roda tetikus akan mengubah nilai sebanyak satu mata.

Saya melaksanakan pembahagian integer System.Print("2/3="+2/3), hasilnya 2/3 = 0, mengapakah ini berlaku?

Oleh kerana kedua-duanya adalah integers, hasil bahagi operasi berikut akan menjadi integer/bulat, oleh kerana itu, anda perlu mengubah salah satu nilai berikut kepada jenis double seperti berikut: double(2)/3, hasilnya akan menjadikan 2/3 = 0.666667.

Dimana disimpan global variables terminal pengguna?

Global variables boleh dilihat di dalam jendela "Global Variables", yang boleh dikeluarkan daripada menu Paparan/View – Global Variables. Setiap akaun memiliki global variables tersendiri.

Bagaimana untuk menetukan nilai fractal terakhir?

Ketika menggunakan kaedah Indicators.Fractals, tidak berguna untuk mendapatkan nilai terakhirnya, kerana ia akan menjadi sifar. Nilai yang berguna untuk fractals dijanakan bermula daripada bar keempat (bar dengan index 3), oleh kerana di dalam situasi ini, dua bar yang sempurna akan digunakan untuk setiap bahagian bar yang diperlukan.

Bagaimana untuk membandingkan nilai double?

Nilai di dalam memori komputer disimpan di dalam pengiraan sistem binari. Oleh yang demikian, perpuluhan akan menghasilakn pecahan berterusan. Sebagai contoh, nilai 0.1, berkemungkinan bersamaan dengan 0.09999999. Oleh yang demikian menggunakan double untuk membandingkan dengan nilai, adalah tidak tepat. Lebih baik untuk menggunakan kaedah matematik Math.Abs(a - b) < delta, dimana 'a' adalah hasil nilai, 'b' - nilai yang ingin dibandingkan dan delta - kesalahan/ralat tetap.