Minggu, 11 Juli 2010

Forex Server

Kalau Anda seperti saya, yang sering melakukan testing robot (Forex Expert Advisor) dengan forward test, tentunya Anda sudah terbiasa dengan VPS (Virtual Private Server).

Bagi yang belum paham, VPS diperlukan untuk melakukan forward test yaitu test robot di kondisi market sebenarnya dengan menggunakan modal bohongan (demo). Test ini sangat penting karena tidak seperti halnya backtest dimana robot diuji menggunakan data yang sudah terjadi (historical data), forward test menguji robot dengan hal yang belum terjadi.

Forward test inilah yang merupakan test yang paling valid dan akurat.

Bila robot lolos forward test dan tetap stabil mempertahankan labanya, maka robot dapat dinyatakan siap untuk trading di live account dengan menggunakan modal sebenarnya.

Agar robot dapat bekerja sempurna 24 jam terus menerus, maka diperlukan komputer yang menyala dan online terus menerus. Semakin dekat komputer ini dengan lokasi broker maka akan semakin baik, karena jeda waktu (delay) eksekusi transaksi akan semakin kecil sehingga transaksi exit dan entry dapat dilakukan lebih cepat karena arus data (data feed) diterima lebih cepat.

Karena itulah diperlukan server yang menyala dan online 24 jam terus menerus.

Anda bisa saja menggunakan komputer milik Anda di rumah sebagai server, asalkan dapat dipastikan menyala terus menerus dan koneksi internet tidak pernah terputus.

Tetapi dengan kondisi Indonesia yang listriknya masih byar pet tidak jelas, lebih baik Anda menyewa server yang akan lebih menjamin tidak akan mengalami gangguan listrik dan gangguan koneksi internet.

Perlu diingat, ini adalah robot forex, dimana nantinya akan melakukan transaksi yang menyangkut uang.

Lebih baik keluar biaya sedikit agar kinerja robot lebih terjamin daripada berusaha menghemat tapi akibatnya kerugian besar dialami akibat robot tidak bekerja hanya gara-gara listrik dimatikan oleh PLN atau koneksi internet terputus karena Telkom Speedy sedang melakukan perbaikan jaringan.

Perusahaan yang menyewakan server memberikan jaminan bahwa server yang Anda sewa tidak akan mengalami hal-hal diatas dikarenakan mereka menggunakan berbagai macam peralatan canggih yang menjamin pasokan listrik tidak akan terputus dan juga memiliki beberapa koneksi internet sebagai cadangan apabila salah satu koneksi mati.


Server yang disewakan di internet pada umumnya terbagi 3 jenis, yaitu:
- Web Server
- VPS (Virtual Private Server)
- Dedicated Server

Web server tidak dapat digunakan untuk robot karena ditujukan untuk aplikasi web saja.

Yang bisa digunakan untuk robot hanyalah VPS atau Dedicated server.

Perbedaan antara VPS dan Dedicated, pada VPS satu buah komputer dibagi untuk beberapa pengguna (users), oleh karenanya biasanya penggunaan memory (max memory share) dan penggunaan prosesor dibatasi (max CPU share) karena harus dibagi dengan pengguna lainnya.

Bila Anda melebihi batasan tersebut, maka VPS akan hang (not responding) atau otomatis restart sendiri.

Usahakan Anda menggunakan 85% s.d. 90% dari batasan max memory share dan max CPU share, jangan sampai melebihi 90% kalau Anda tidak ingin server menjadi hang dan Anda harus capek menghubungi customer support agar melakukan reset server.

Sedangkan Dedicated server adalah satu buah komputer digunakan hanya untuk Anda sendiri, oleh karenanya penggunaan prosesor (max CPU share) tidak dibatasi. Bila merasa kurang dengan jumlah memory yang tersedia, Anda pun dapat meminta untuk ditambah. Anda boleh saja menjalankan ratusan aplikasi tanpa pusing soal batasan penggunaan prosesor. Oleh karenanya, tarif sewa Dedicated server lebih mahal dibandingkan VPS.

VPS yang saya gunakan untuk menjalankan robot biasanya saya sewa dari www.swvps.com

Ini bukan promosi, tetapi dari pengalaman saya menjelajah ke seluruh pelosok internet, hanya SWVPS inilah yang mampu memberikan tarif sewa paling murah dibandingkan lainnya.





Anda juga bisa menyewa VPS dari broker, tetapi biasanya tarif sewanya jauh sangat mahal. Sebuah VPS yang oleh SWVPS disewakan dengan tarif $18, oleh broker disewakan dengan harga sekitar $70. Mahal sekali!

Dari pengalaman, sebuah VPS dengan max memory share 700 megabyte ($18 di SWVPS), dapat menjalankan dengan stabil sekitar 15 Metatrader sekaligus. Sedangkan VPS dengan max memory share 1200 megabyte ($29) dapat menjalankan 30 Metatrader sekaligus.

Saat ini saya menyewa 6 buah VPS yang masing-masing max memory share-nya 1200 megabyte untuk menjalankan forward test berbagai robot. Sekitar 180 robot dengan berbagai setting saya forward test di VPS ini, 90 robot adalah robot Revisi 1 dan 90 lainnya adalah robot Revisi 2 dimana masing-masing 30 robot berjalan di EURUSD, EURJPY, dan GBPUSD.

VPS yang saya sewa biasanya menggunakan sistem operasi Windows 2003 Server x64 (64 bit) dan sama sekali tidak ada problem untuk menjalankan puluhan Metatrader sekaligus.

Kemarin saya menyewa satu buah Dedicated server yang akan digunakan untuk melakukan forward test robot Revisi 3. Kali ini saya menyewa dari www.netrackservers.com dan tidak menyewa dari www.swvps.com karena tarif sewa Dedicated server sangat mahal.

SWVPS ini adalah spesialis VPS, oleh karenanya tarif sewa VPS-nya jauh lebih murah dibandingkan yang lain. Tetapi begitu ingin menyewa Dedicated server, tarifnya malah lebih mahal.

Oleh karenanya saya putuskan menyewa Dedicated dari Netrack dengan tarif sewa $119 per bulan dengan spesifikasi memory 4 gigabyte. Pertimbangan saya, daripada menyewa 4 buah VPS yang masing-masing $29 (atau total $116), lebih baik menyewa 1 buah Dedicated sehingga tidak dipusingkan lagi dengan batasan max memory share dan max CPU share.





Nah...disinilah problem timbul, ternyata Dedicated server tersebut menggunakan sistem operasi Windows 2003 Server 32 bit dan bukan versi 64 bit seperti biasanya.

Maksimal hanya 20 Metatrader yang dapat saya jalankan sekaligus di Windows 2003 Server 32 bit ini. Padahal memory masih mencukupi tetapi Windows selalu menolak menjalankan lebih dari 20 Metatrader. Error message yang muncul adalah "failed to create empty document"

Wah... sampai pusing saya dibuatnya.

Semalaman saya utak-atik problem ini karena logikanya sepanjang memory masih mencukupi maka seharusnya menjalankan tambahan Metatrader atau aplikasi lain seharusnya juga bisa.

Tetapi kenapa di 32 bit ada pembatasan 20 aplikasi sedangkan di 64 bit tidak?

Setelah searching Google berjam-jam dan membuka puluhan website serta forum diskusif, akhirnya ketemu juga solusinya. Batasan 20 aplikasi tersebut adalah BUG di Windows 2003 server 32 bit yang sampai saat ini TIDAK DIPERBAIKI oleh Microsoft, sedangkan di 64 bit tidak ada bug tersebut.

Ehm... menurut saya ini sih akal-akalan Microsoft, harga jual Windows 64 bit lebih mahal daripada Windows 32 bit, dengan adanya pembatasan maksimal hanya 20 aplikasi saja yang bisa dijalankan sekaligus di Windows 32 bit sedangkan di 64 bit tidak ada batasan, maka seolah-olah kinerja 64 bit jauh lebih baik daripada 32 bit.

Padahal mungkin sebenarnya sama saja kinerjanya, tetapi dengan cara seperti itu akhirnya timbul kesan bahwa 64 bit lebih baik daripada 32 bit, karena dapat menjalankan lebih banyak aplikasi. Sehingga Microsoft dapat menjual yang 64 bit dengan harga yang jauh lebih mahal daripada 32 bit.

Bug ini disebut Desktop Heap Memory, dimana pembatasan dilakukan di registry Windows 2003 32 bit yang dibatasi hanya 20 aplikasi yang dapat berjalan sekaligus.

Solusinya juga cukup mudah, hanya perlu melakukan editing registry sedikit, reboot, dan voila.... puluhan Metatrader berjalan sekaligus tanpa ada problem.



Detil solusinya sebagai berikut:

1. Start Registry Editor.

2. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

3. Configure the following entries:

Name: SessionViewSize
Data Type: REG_DWORD
Value data: 120 (decimal)

4. Configure the following entries:

Name: SessionPoolSize
Data Type: REG_DWORD
Value data: 60 (decimal)

5. Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Subsytems

6. Find the value in this key called Windows, it will be a long string of name-value pairs that looks something like this:

%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

7. Change "SharedSection=1024,3072,512" to "SharedSection=1024,8192,512"

forums.iis.net


Dari pengalaman diatas, apabila Anda berniat menyewa VPS atau Dedicated dan tidak ingin pusing seperti saya, pastikan VPS atau Dedicated server tersebut menggunakan Windows Server x64 (64 bit) karena tidak ada batasan seperti dalam 32 bit


2 komentar:

  1. SANGAT menarik dan betul2 membantu. apakah mungkin menggunakan VPS dgn OS ubuntu untuk metatrader?

    BalasHapus
  2. Saya tidak begitu ahli dengan Linux, akan tetapi hal tersebut dimungkinkan dengan cara menginstall Wine 1.3 terlebih dahulu agar Metatrader dapat dijalankan pada Ubuntu.

    Proses instalasi Wine pada Ubuntu dapat dibaca disini:
    http://mql5.blogspot.com/2010/09/metatrader-5-on-ubuntu-linux-1004.html

    BalasHapus