Bekerja dengan Telegram di MetaTrader. Saluran dan bot Telegram
My Autolot Secrets. Dynamic Lot atau Autolot. Risiko dari Balance.
Deskripsi
Alert: Pertanyaan yang paling sering muncul di mesin pencari dan topik populer di forum sering kali mencakup frasa berikut.
Sebuah alert terkait topik semacam itu dapat membantu Anda tetap mengikuti tren terbaru.
- “Alert indicator“
- “How do you add a sound signal to the indicator?“
- “Help me insert a sound signal into the indicator“
- “How to insert Alerts and Arrows“
- “How to send a message to email or phone when the signal comes from an indicator?“
Dalam artikel ini, saya akan menjelaskan secara rinci cara mudah menambahkan notifikasi Alert, Mail, Push, dan Arrow ke indikator apa pun dengan menggunakan kode tambahan yang tersedia di Expforex.
Pembuka
Untuk menginstal Alerts dengan benar di indikator Anda, Anda harus memiliki kode sumber terbuka untuk indikator tersebut.
Kode yang telah didekompilasi tidak disarankan karena, bagi pemula, kode dekompilasi hanya memberikan informasi minimal. Sulit dipahami.
Anda mungkin juga akan mengalami masalah kompilasi setelah pengeditan.
xCustomEA
Jika Anda mencari cara lebih mudah untuk mengotomatiskan strategi trading tanpa harus terjun ke pemrograman kustom yang rumit, pertimbangkan xCustomEA.
Expert Advisor ini dari Expforex dirancang untuk bekerja dengan mulus pada indikator yang menghasilkan sinyal arrow. Dengan xCustomEA, Anda dapat dengan mudah mengotomatiskan indikator apa pun yang menampilkan panah beli atau jual, memungkinkan Anda membuat strategi otomatis yang kuat tanpa repot mengembangkan kode kustom.
xCustomEA membuat otomatisasi strategi berdasarkan sinyal indikator menjadi sangat mudah diakses. Ini memungkinkan trader fokus mengoptimalkan trading alih-alih menghabiskan waktu dan sumber daya untuk pemrograman. Expert Advisor ini menjadi alternatif yang bagus daripada menyewa programmer, memberikan solusi sederhana untuk mengubah sinyal indikator menjadi perdagangan.
Untuk informasi lebih lanjut, kunjungi halaman xCustomEA atau jelajahi Expert Advisor lain di Expforex.
Memulai Pekerjaan untuk menyisipkan Alert
Pertama, Anda perlu menentukan buffer mana pada indikator yang menyediakan sinyal tertentu, tujuan membuat alert, dan kondisi yang menentukan sinyal pada indikator.
Penting: Hanya buffer eksternal yang didefinisikan di awal kode variabel yang dapat ditampilkan di indikator:
#property indicator_buffers 1
Namun, indikator juga dapat memuat buffer tersembunyi, yang diatur di fungsi init() dan dideklarasikan sebagai variabel:
IndicatorBuffers(7): Kita hanya butuh buffer yang pertama.
Jika, misalnya, Anda memiliki 1 buffer eksternal, perhatikan variabel:
SetIndexBuffer(0, SarBuffer);
- 0 adalah buffer pertama
- 1 adalah buffer kedua
Buffer atau nama buffer ini dapat diidentifikasi dengan mengarahkan kursor pada garis tertentu indikator di chart.
Value1 – Ini adalah buffer pertama atau 0 dalam sistem indeks di kode.
SetIndexBuffer(0, SarBuffer); // Nama buffer yang kita butuhkan
Jika ini adalah SarBuffer, maka kita akan menggunakannya.
Selanjutnya, ini masalah teknis untuk menentukan bagaimana sinyal akan dipicu;
Misalnya, jika ini merupakan persilangan garis 0 dari atas (bawah) bergerak turun (naik), tampilannya akan seperti ini:
SarBuffer[shift+1] >= 0 && SarBuffer[shift] < 0
Penembusan harga saat ini atau bar oleh indikator, bar breakout oleh indikator, dan sebagainya:
SarBuffer[shift+1] >= Close[shift] && SarBuffer[shift] < Close[shift]
Jika ini merupakan persilangan level tertentu, indikator seperti stochastic:
SarBuffer[shift+1] <= 75 && SarBuffer[shift] > 75; SarBuffer[shift+1] >= 25 && SarBuffer[shift] < 25;
Jika indikator Anda sudah memiliki arrow, maka jenis sinyal berikut juga dimungkinkan:
DnTrend[1] != EMPTY_VALUE && DnTrend[1] != 0 && UpTrend[2] != EMPTY_VALUE
Bagaimanapun, Anda harus menerapkan logika dan kreativitas untuk mencatat sinyal dengan benar. Jika Anda mengalami kesulitan, tulislah di thread ini, lampirkan indikatornya, tunjukkan garis di chart, dan jelaskan secara rinci apa yang tidak bisa Anda lakukan. Mengirim pesan seperti “Anda perlu memasukkan alert ke indikator” tanpa menjelaskan di mana dan apa yang harus dilakukan, serta tanpa menyediakan indikatornya, tidaklah membantu.
Kode “Alerts and arrows from www.expforex.com”
Langkah selanjutnya untuk menambahkan alert ke indikator Anda terdiri dari beberapa poin:
LANGKAH 1
Sisipkan kode berikut di awal Expert Advisor sebelum fungsi OnCalculate () (start):
//+==+//+ www.expforex.com edit AlertArrow +//+==+ extern string Alerts="Alerts and arrows from www.expforex.com"; extern bool AlerT=true; // Issue an alert to the screen extern bool Mail=true; // Send message extern bool Push=true; // Send PUSH to phone extern bool Arrow=true; // Put arrows on signals extern int shift=1; // On which bar to count the signal 0 - on the current one, 1 - on the closed int timeee; // Internal variable string nameInd; void SetArrow(int cd, color cl, string nm="", datetime t1=0, double p1=0, int sz=3) { if(nm=="") nm=DoubleToStr(Time[0], 0); if(t1 <= 0) t1=Time[0]; if(p1 <= 0) p1=Bid; nameInd=WindowExpertName(); int wind=WindowFind(nameInd); wind=0; if(ObjectFind(nm) < 0) ObjectCreate(nm, OBJ_ARROW, wind, 0, 0); ObjectSet(nm, OBJPROP_TIME1, t1); ObjectSet(nm, OBJPROP_PRICE1, p1); ObjectSet(nm, OBJPROP_ARROWCODE, cd); ObjectSet(nm, OBJPROP_COLOR, cl); ObjectSet(nm, OBJPROP_WIDTH, sz); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void Expforex_AlertArrow(string text="", int arrowdir=0, bool history=false, int i=0) { nameInd=WindowExpertName(); int wind=WindowFind(nameInd); if(wind==-1) wind=0; ObjectCreate("Originalalert", OBJ_LABEL, wind, 0, 0); ObjectSetText("Originalalert", "Modification AlertArrow www.expforex.com", 10, "Arial Bold", Red); ObjectSet("Originalalert", OBJPROP_CORNER, 2); ObjectSet("Originalalert", OBJPROP_XDISTANCE, 200); ObjectSet("Originalalert", OBJPROP_YDISTANCE, 10); if(!history) { if(AlerT) Alert(text); if(Arrow) if(arrowdir==1) SetArrow(241, Blue, nameInd + DoubleToStr(Time[shift], 0), Time[shift], Low[shift]); if(Arrow) if(arrowdir==2) SetArrow(242, Red, nameInd + DoubleToStr(Time[shift], 0), Time[shift], High[shift]); if(!IsTesting()) if(Mail) SendMail(text, text); if(!IsTesting()) if(Push) SendNotification(text); } if(history) { if(Arrow) if(arrowdir==1) SetArrow(241, Blue, nameInd + DoubleToStr(Time[shift + i2], 0), Time[shift + i2], Low[shift + i2]); if(Arrow) if(arrowdir==2) SetArrow(242, Red, nameInd + DoubleToStr(Time[shift + i2], 0), Time[shift + i2], High[shift + i2]); } }//+==+//+ www.expforex.com edit AlertArrow +//+==+ //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { for(int i=ObjectsTotal(); i>=0; i--) { if(StringFind(ObjectName(i), nameInd)!=-1) ObjectDelete(ObjectName(i)); } } //+------------------------------------------------------------------+
LANGKAH 2
Sebelum menutup fungsi OnCalculate (), sisipkan kode berikut:
return(rates_total); }
Tempelkan kode berikut:
//+==+//+ www.expforex.com edit AlertArrow +//+==+ nameInd=WindowExpertName(); if(timeee != Time[0] && SarBuffer[shift+1] <= 75 && SarBuffer[shift] > 75) { Expforex_AlertArrow(Symbol() + " " + Period() + nameInd + " UP", 1); timeee=Time[0]; } if(timeee != Time[0] && SarBuffer[shift+1] >= 25 && SarBuffer[shift] < 25) { Expforex_AlertArrow(Symbol() + " " + Period() + nameInd + " DN", 2); timeee=Time[0]; }//+==+//+ www.expforex.com edit AlertArrow +//+==+
LANGKAH 3
Kode ini akan menjadi sinyal kita.
Tentu saja, Anda perlu mengganti beberapa kode dengan milik Anda sendiri.
Kode berikut berfungsi sebagai sinyal untuk sebuah alert:
1. Persilangan garis 0 dari atas (bawah) yang bergerak turun (naik), akan terlihat seperti ini:
SarBuffer[shift+1] >= 0 && SarBuffer[shift] < 0
2. Penembusan indikator terhadap harga saat ini atau bar, bar breakout oleh indikator, dan seterusnya:
SarBuffer[shift+1] >= Close[shift] && SarBuffer[shift] < Close[shift]
3. Jika ini persilangan level tertentu, seperti stochastics:
SarBuffer[shift+1] <= 75 && SarBuffer[shift] > 75; SarBuffer[shift+1] >= 25 && SarBuffer[shift] < 25;
Setelah Penggunaan
Untuk menambahkan sinyal suara ke indikator, ikuti langkah-langkah berikut:
- 1. Buka pengaturan indikator.
- 2. Cari bagian “Alert” atau “Arrows“.
- 3. Pilih opsi untuk menambahkan peringatan suara.
- 4. Pilih berkas suara yang ingin Anda gunakan sebagai alert.
- 5. Simpan perubahan.
Dengan menyisipkan sinyal suara ke indikator, Anda dapat menerima notifikasi audio saat kondisi tertentu terpenuhi, yang dapat membantu Anda membuat keputusan trading yang lebih baik.
Jika Anda Butuh Arrow pada Riwayat, Lakukan Ini:
Setelah kode di atas, tambahkan yang berikut:
//+==+//+ www.expforex.com edit AlertArrow +//+==+ //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ if(counted_bars > 0) counted_bars--; int limit2 = Bars - counted_bars; for(int i2 = 0; i2 < limit2; i2++) { nameInd = WindowExpertName(); if(SarBuffer[shift+1+i2] <= 75 && SarBuffer[shift+i2] > 75) { Expforex_AlertArrow(Symbol() + " " + Period() + nameInd + " UP" + i2, 1, true, i2); } if(SarBuffer[shift+1+i2] >= 25 && SarBuffer[shift+i2] < 25) { Expforex_AlertArrow(Symbol() + " " + Period() + nameInd + " DN" + i2, 2, true, i2); } } //+==+//+ www.expforex.com edit AlertArrow +//+==+
Contoh
Contoh ini diambil dari bagian terkait di forum kami. Saya telah memodifikasi indikator sesuai prinsip yang dijelaskan di atas.
Kesimpulan
Dalam artikel ini, saya telah menjelaskan proses pembuatan sinyal untuk indikator dengan cara yang paling rinci dan mudah dipahami.
Kode di atas dapat digunakan tanpa batasan pada indikator mana pun. Penting untuk tidak mengubah nama penulis saat menambahkan kode ke indikator.
Jika Anda menyukai artikel ini dan menemukan metode penyisipan sinyal ini berguna, silakan tinggalkan komentar Anda dan nilai topik tersebut.
- Freelance: Pemrograman Kustom di MetaTrader dan MQL!
- Indikator sinyal bar. Bar mana yang harus Anda jadikan sinyal? Cara menggambar indikator.
- CrossObjectALert, indikator Alert saat persilangan dengan objek untuk terminal MT4 dan MT5
- Bekerja dengan email dan push di MetaTrader
Signal Bar: Ini Penting untuk Diketahui
Pertanyaan?
Jika Anda memiliki pertanyaan, silakan ajukan. Kami tidak menjual kucing dalam karung.
Selain itu, setiap produk kami dapat diuji sebelum dibeli.
Kami menghargai minat dan dukungan Anda terhadap produk kami dan berupaya mempertahankan standar kualitas tinggi.
Terima kasih telah bersama kami!
Apakah Anda punya pertanyaan?
Postingan ini juga tersedia dalam: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어 العربية Indonesian ไทย Tiếng Việt
Tinggalkan Balasan