• Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)

Tanya Jawab MQL

Penulisan Time Frame untuk semua TF, bisa di isi dengan angka 0, maka ia akan menyesuaikan dengan TF chart yang sedang Running
betul gan bisa diganti dengan angka 0, cuma untuk variabel jumlah candle kan mesti diadjust juga sesuai dengan TFnya misalnya TF M1 jumlah candle ada 1440 dalam 1 hari, TF M5 ada 288 caandle dalam 1 hari, kayaknya mesti dibikin satu fungsi khusus untuk kalkulasinya, sementara ane bikin kalkulasinya seperti ini...
Code:
int h = 0,
  if(Period()==PERIOD_M1)  h = 1440;
  if(Period()==PERIOD_M5)  h = 288;
  if(Period()==PERIOD_M15) h = 96;
  if(Period()==PERIOD_M30) h = 48;
  if(Period()==PERIOD_H1)  h = 24;dstnya
ada masukan gan supaya bisa lebih ringkas? mohon koreksinya gan...
 
minta masukannya gan,

Code:
int h;
h = TimeHour(TimeCurrent());
int shift = 24;//(1 hari ada 24 jam)
int hi = iHighest(NULL,PERIOD_H1,MODE_HIGH,shift,h);
int low = iLowest(NULL,PERIOD_H1,MODE_LOW,shift,h);

di code ini ane mencoba mencari posisi candle Hi-Low previous day pada TF H1, hasil uji coba sementara sudah ok, mohon koreksinya apa mungkin ada yg lebih tepat

coba pakai ini gan..
Code:
int candleawal =iBarShift(NULL, 0, StrToTime("24:00"));  // memcari shift candle jam 24
int candleahir= iBarShift(NULL, 0, StrToTime("24:00")-24*60*60); // mencari sift candle 1 hari setelah jam 24..

int jumlahcandle = candleahir - candleawal;

int hi = iHighest (Symbol(), 0, MODE_HIGH, jumlahcandle, candleawal );
int low= iLowest  (Symbol(), 0, MODE_LOW, jumlahcandle, candleawal );


koreksi sedikit..
untuk pengambilan hig dan low seperti ini..
Code:
int h;
h = TimeHour(TimeCurrent());
int shift = 24;//(1 hari ada 24 jam)
int hi = iHighest(NULL,PERIOD_H1,MODE_HIGH,shift,h);
int low = iLowest(NULL,PERIOD_H1,MODE_LOW,shift,h);

akan menghasilkan nilai ter tinggi dan ter rendah dari candle jam sekarang sampai 24 candle ke belakang,,
misal sekarang jam 11, maka akan menghasilkan nilai hig dan low dari candle ke 11 sampai candle ke 24 ke belakang..
 
Menurut ane hampir dasar logikanya sama cuma punya ane cuma di TF H1, kalo agan baca postingan berikutnya ane cari cara biar bisa dipake disemua TF, setelah baca codingan agan di bagian ini
Code:
int candleawal =iBarShift(NULL, 0, StrToTime("24:00"));  // mencari shift candle jam 24
int candleahir= iBarShift(NULL, 0, StrToTime("24:00")-24*60*60); // mencari shift candle 1 hari setelah jam 24..
setelah ane coba, gak tahu apa karena market sedang off, hasilnya bener sesuai...24 candle, tp kl dilihat secara rumus...waktunya jadi kurang tepat karena hasilnya jadi jam 23, tp dari coding ini menginspirasi ane, ane rubah jadi seperti ini
Code:
int candleawal =iBarShift(NULL, 0, iTime(Symbol(),PERIOD_D1,0));// mencari shift candle jam 24
int candleahir= iBarShift(NULL, 0, iTime(Symbol(),PERIOD_D1,1));// mencari shift candle 1 hari setelah jam 24..
Mohon koreksinya gan...
 
Menurut ane hampir dasar logikanya sama cuma punya ane cuma di TF H1, kalo agan baca postingan berikutnya ane cari cara biar bisa dipake disemua TF, setelah baca codingan agan di bagian ini
Code:
int candleawal =iBarShift(NULL, 0, StrToTime("24:00"));  // mencari shift candle jam 24
int candleahir= iBarShift(NULL, 0, StrToTime("24:00")-24*60*60); // mencari shift candle 1 hari setelah jam 24..
setelah ane coba, gak tahu apa karena market sedang off, hasilnya bener sesuai...24 candle, tp kl dilihat secara rumus...waktunya jadi kurang tepat karena hasilnya jadi jam 23, tp dari coding ini menginspirasi ane, ane rubah jadi seperti ini
Code:
int candleawal =iBarShift(NULL, 0, iTime(Symbol(),PERIOD_D1,0));// mencari shift candle jam 24
int candleahir= iBarShift(NULL, 0, iTime(Symbol(),PERIOD_D1,1));// mencari shift candle 1 hari setelah jam 24..
Mohon koreksinya gan...



bener gan harus gitu,,, gag harus sama,, yang penting tujuan nya dapet..
 
Ini biasanya kita pake apa ya?

MarketInfo(Symbol(),MODE_STOPLEVEL)

Terutama pada kata MODE_STOPLEVEL

saya sedang oprek EA gratisan, tapi ada faktor pengali dengan menggunakan sintak ini.
Saya sudah keluarkan commentnya, dan lihat di helper nya keterangannya :

Stop level in points

cuman , kenapa nilainya selalu 0? apa karena nilainya double ya.
 
Last edited:
coba pakai ini gan..
Code:
int candleawal =iBarShift(NULL, 0, StrToTime("24:00"));  // memcari shift candle jam 24
int candleahir= iBarShift(NULL, 0, StrToTime("24:00")-24*60*60); // mencari sift candle 1 hari setelah jam 24..

int jumlahcandle = candleahir - candleawal;

int hi = iHighest (Symbol(), 0, MODE_HIGH, jumlahcandle, candleawal );
int low= iLowest  (Symbol(), 0, MODE_LOW, jumlahcandle, candleawal );


koreksi sedikit..
untuk pengambilan hig dan low seperti ini..
Code:
int h;
h = TimeHour(TimeCurrent());
int shift = 24;//(1 hari ada 24 jam)
int hi = iHighest(NULL,PERIOD_H1,MODE_HIGH,shift,h);
int low = iLowest(NULL,PERIOD_H1,MODE_LOW,shift,h);

akan menghasilkan nilai ter tinggi dan ter rendah dari candle jam sekarang sampai 24 candle ke belakang,,
misal sekarang jam 11, maka akan menghasilkan nilai hig dan low dari candle ke 11 sampai candle ke 24 ke belakang..


Wah, makasi bangeeeeeeeeeeeeeeeeeeet.. cucok nih. sesuai dengan tehnik saya.
 
om, mohon bimbingannya..
cara untuk mengisi sebuah varibel dengan tgl dan jam pada hari kemarin scra otomatis gmn sih?..
sya udh coba browsing sana-sini d google blum nemu pncerahan jg ni..
di web mql hnya ad contoh manual sprti ini >> datetime NY=D'2015.01.01 00:00'; // Time of beginning of year 2015

sedangkan saya ingin misal sprti in >> datetime Time1=D'tanggal dan jam otomatis hari kemarin';

makasih sebelumnya.. :worried:
 
om, mohon bimbingannya..
cara untuk mengisi sebuah varibel dengan tgl dan jam pada hari kemarin scra otomatis gmn sih?..
sya udh coba browsing sana-sini d google blum nemu pncerahan jg ni..
di web mql hnya ad contoh manual sprti ini >> datetime NY=D'2015.01.01 00:00'; // Time of beginning of year 2015

sedangkan saya ingin misal sprti in >> datetime Time1=D'tanggal dan jam otomatis hari kemarin';

makasih sebelumnya.. :worried:
Kalau ingin tahu hari kemarin maka harus tahu hari dan jam sekarang, jika sudah tahu maka hasilnya dikurangi satu hari (24 jam)
 
Kalau ingin tahu hari kemarin maka harus tahu hari dan jam sekarang, jika sudah tahu maka hasilnya dikurangi satu hari (24 jam)
bukan ingin tahu hari kemarin om.. tapi menentukan hari/tgl kemarin dan juga jam.nya .. tujuannya saya ingin mencoba membuat custom indi fibo om..
dan sya ingin pada Time1 itu memakai tgl dan jam yg sudh d tntukan setiap hari kemarin.. bgitu.. tpi msi blum pham untuk coding mql ni.. soalnya blum bnyak yg aq tmukan tutor di web2.. :(

ini om skalian tk tulis d mari aja ya coding sya, tolong d bantu..

Code:
datetime T1=D'2015.06.19 20:00';
datetime T2=iTime(Symbol(),PERIOD_D1,0);
double awal=iOpen(Symbol(),PERIOD_D1,1), tujuan=iOpen(Symbol(),PERIOD_D1,0);
 
ObjectCreate("FiboDO", OBJ_FIBO, 0, T1, awal, T2, tujuan);
 
Last edited:
bukan ingin tahu hari kemarin om.. tapi menentukan hari/tgl kemarin dan juga jam.nya .. tujuannya saya ingin mencoba membuat custom indi fibo om..
dan sya ingin pada Time1 itu memakai tgl dan jam yg sudh d tntukan setiap hari kemarin.. bgitu.. tpi msi blum pham untuk coding mql ni.. soalnya blum bnyak yg aq tmukan tutor di web2.. :(

ini om skalian tk tulis d mari aja ya coding sya, tolong d bantu..

Code:
datetime T1=D'2015.06.19 20:00';
datetime T2=iTime(Symbol(),PERIOD_D1,0);
double awal=iOpen(Symbol(),PERIOD_D1,1), tujuan=iOpen(Symbol(),PERIOD_D1,0);

ObjectCreate("FiboDO", OBJ_FIBO, 0, T1, awal, T2, tujuan);
coba T1 diganti dengan yg ini
Code:
datetime T1=iTime(Symbol(),PERIOD_D1,1); 
datetime T2=iTime(Symbol(),PERIOD_D1,0);
double awal=iOpen(Symbol(),PERIOD_D1,1), tujuan=iOpen(Symbol(),PERIOD_D1,0);

ObjectCreate("FiboDO", OBJ_FIBO, 0, T1, awal, T2, tujuan);
ini akan mendetek otomatis hari kemarin :)
 
coba T1 diganti dengan yg ini
Code:
datetime T1=iTime(Symbol(),PERIOD_D1,1);
datetime T2=iTime(Symbol(),PERIOD_D1,0);
double awal=iOpen(Symbol(),PERIOD_D1,1), tujuan=iOpen(Symbol(),PERIOD_D1,0);

ObjectCreate("FiboDO", OBJ_FIBO, 0, T1, awal, T2, tujuan);
ini akan mendetek otomatis hari kemarin :)

coding sya sblumnya mmang sprti itu om.. tpi kmudian sya ingin menentukan dengan jam 20.00 pada hari kemarin, soalnya klo sprti itu terlalu panjang garis fibonya k belakang.. :(
 
coding sya sblumnya mmang sprti itu om.. tpi kmudian sya ingin menentukan dengan jam 20.00 pada hari kemarin, soalnya klo sprti itu terlalu panjang garis fibonya k belakang.. :(
Pakai H1 saya pak TFnya dan tinggal menentukan Candle keberapa dia akan memulai membuat garis FIBOnya
 
Pakai H1 saya pak TFnya dan tinggal menentukan Candle keberapa dia akan memulai membuat garis FIBOnya

klo pake H1/candle gmn biar bisa fix di jam 22.00 hari kmarin gmn codingnya om?
soalnya yg baru sya phami hnya sprti ini T1=iTime(Symbol(),PERIOD_H1,BarKeBelakang); dan hasilnya stiap ada candle baru maka titik awal fibo akan ikut maju..
 
Back
Top