
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Koddaki satırın gösterimi ile sınır dışı dizisini kontrol etmek çok faydalıdır. Eskiden şöyleydi: sıfıra bölme ve istediğiniz yere bakın. Ve daha da kötüsü, hata görünmediyse.
Nasıl yapılacağına bir örnek verebilir misiniz? Belgelerde bu özellik hakkında hiçbir şey bulunamadı.
Bu kadar! Şimdi hiçbir şey yapmana gerek yok. "Uzmanlar" sekmesini açın ve günlükleri okuyun. Bir hata oluşursa, bununla ilgili bir mesaj göreceksiniz. Tip:
dizi aralık dışında ....... koddaki satır numarasını gösterir.
"Uzmanlar" sekmesini açın ve günlükleri okuyun.
Komut dosyası/gösterge adının ilk harfinin büyük/küçük harf durumunu değiştirmeyi deneyin. Her nasılsa ben de buğuladım https://www.mql5.com/en/forum/152533/page2#982156
Not: peki, dizeyi char[] olarak değiştirin
Cevap ver, tavus kuşu!
Sen harika bir pavliksin ve aferin!
kodunuz hemen çalıştı!
şimdi fareyi kullanabilirsin
senaryo!
Göstergeye monte etmek için kalır
kodunuz göstergeye eklenir
küçük bir engel var
Editör adı tanımak istemiyor
script.i başlığı yerine yazdım
betiğin çağrılması gereken yerden.
sadece kalır senaryo olması için
tanındı!
Yardım edebilir misin?
içten saygılarımla
panza
Cevap ver, tavus kuşu!
Sen harika bir pavliksin ve aferin!
kodunuz hemen çalıştı!
şimdi fareyi kullanabilirsin
senaryo!
Göstergeye monte etmek için kalır
kodunuz göstergeye eklenir
küçük bir engel var
Editör adı tanımak istemiyor
script.i başlığı yerine yazdım
betiğin çağrılması gereken yerden.
sadece kalır senaryo olması için
tanındı!
Yardım edebilir misin?
içten saygılarımla
pansa
bir şey olursa yardım ederim
bir şey olursa yardım ederim
Hey Vinina!
çok teşekkürler
yardım etmek istediğin için!
İnceleme için nasıl organize edildiğini gönderiyorum
kompost ile bir komut dosyası çağırma
pansa
__________________________
Merhaba tavus kuşu!
bir örnek göstermek istiyorum
komut dosyası çağrısı nasıl organize edildi
kompost, şimdi her şey çalışmıyor.
inceleme için
pansa
//+------------------------------------------- --------------------+
//| sample_execute_script.mq4 |
//+------------------------------------------- --------------------+
#import "user32.dll"
int RegisterWindowMessageA(string İletiAdı);
int PostMessageA(int hwnd, int msg, int wparam, string İsim);
void keybd_event(int VirtualKey, int ScanCode, int Bayraklar, int ExtraInfo);
#içe aktarmak
int başlangıç()
{
int winHandle = WindowHandle( Symbol(), Period() );
//
//
//
if( sinyal < 0 && trigl==true && buy == true ) {StartScript( winHandle, "SchliesenProfitOrders"); }
//
//
//
void StartScript(int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false)
{
int MessageNumber = RegisterWindowMessageA("MetaTrader4_Internal_Message");
PostMessageA(hWnd, MessageNumber, 16, ScriptName);
if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); }
}
ClearConfigDialog() geçersiz
{
uyku(100);
keybd_event(13, 0, 0, 0);
}
//
//
//
dönüş(0);
Hey Vinina!
çok teşekkürler
yardım etmek istediğin için!
İnceleme için nasıl organize edildiğini gönderiyorum
kompost ile bir komut dosyası çağırma
pansa
__________________________
Merhaba tavus kuşu!
bir örnek göstermek istiyorum
komut dosyası çağrısı nasıl organize edildi
kompost, şimdi her şey çalışmıyor.
inceleme için
panza
SRC'ye tıklayıp kodu yapıştırmak zor mu ?!
Bunun gibi iyi çalışması gerekir:
Ve komut dosyasının ilk harfinin durumunu unutmayın, örneğin, "test" komut dosyası çalışmıyorsa, "Test" denemelisiniz.
Saygılarımla, Pavlik))
Bunun gibi iyi çalışması gerekir:
Ve komut dosyasının ilk harfinin durumunu unutmayın, örneğin, " test " komut dosyası çalışmıyorsa, "Test" i denemelisiniz.
Saygılarımla, Pavlik))
Merhaba tavus kuşu!
revizyonunuzu aldı ve
her şeyi bir göstergeye koymaya çalıştı
ancak, editör istemiyor
neler yapılabileceğini görün
çalışmasını sağlamak için!
pansa
//+------------------------------------------- --------------------+
//| AlttrEND_Signal.mq4 |
//| Telif hakkı 2014, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------- --------------------+
//+------------------------------------------- --------------------+
//| AltrTrend_Signal_v2_2_alert.mq4 |
//| Ramdass - Yalnızca dönüştürme |
//+------------------------------------------- --------------------+
#Emlak telif hakkı "Yazar - OlegVS, GOODMAN"
#mülkiyet katı
#import "user32.dll"
int RegisterWindowMessageA(uchar &lParam[]);
int SendMessageA(int hWnd, int Mesaj, int wParam, char &lParam[]);
void keybd_event(int VirtualKey, int ScanCode, int Bayraklar, int ExtraInfo);
#içe aktarmak
#özellik göstergesi_chart_window
#özellik göstergesi_tamponları 2
#özellik göstergesi_renk1 DeepSkyBlue
#özellik göstergesi_renk2 TuruncuKırmızı
#özellik göstergesi_width1 1
#özellik göstergesi_width2 1
//---- giriş parametreleri
extern bool Alert_message=true;
dış int time_alert_dakika=60; // ????? ????? ?????????? ???? ??? ? 60 ?????.
dış int K = 30;
harici çift Kstop = 0,5;
extern int Kperiod = 150;
extern int PeriodADX = 7;//14;
harici int CountBars = 100;
//---- arabellekler
çift val1[];
çift val2[];
çift AlertTime;
//+------------------------------------------- --------------------+
//| Özel gösterge başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
string kısa_adı;
//---- gösterge çizgisi
GöstergeTamponları(1);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,241);
Gösterge Tamponları(2);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,242);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
if(CountBars>=Bars)
CountBars=Barlar;
SetIndexDrawBegin(0, Çubuklar - CountBars + PeriodADX );
SetIndexDrawBegin(1, Çubuklar - CountBars + PeriodADX );
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------- --------------------+
int başlangıç()
{
int i, shift, counted_bars = IndicatorCounted();
//----
if(counted_bars<0) return(-1);
//----
int i1, i2, t_per;
çift Aralık, AvgRange, smin, smax, SsMax, SsMin, SSP, fiyat;
bool yükseliş trendi, eski;
//----
if(Barlar <=PeriodADX + 1)
dönüş(0);
//----
for(shift = CountBars - PeriodADX ; shift >= 0; shift--)
{
SSP = MathCeil(Kperiod / iADX(NULL, 0, PeriodADX , PRICE_CLOSE, MODE_MAIN, 1));
aralık = 0;
OrtAralık = 0;
for(i1 = shift; i1 <= shift + SSP; i1++)
{
AvgRange = AvgRange + MathAbs(Yüksek[i1] - Düşük[i1]);
}
Aralık = OrtAralık / (SSP + 1);
//----
SsMax = Yüksek[shift];
SsMin = Düşük[shift];
for(i2 = shift; i2 <= shift + SSP - 1; i2++)
{
fiyat = yüksek[i2];
if(SsMax < fiyat)
SsMax = fiyat;
fiyat = Düşük[i2];
if(SsMin >= fiyat)
SsMin = fiyat;
}
//----
smin = SsMin + (SsMax - SsMin)*K / 100;
smax = SsMax - (SsMax - SsMin)*K / 100;
val1[shift] = 0.0;
val2[shift] = 0.0;
if(Close[shift] <smin)
{
yükseliş trendi=yanlış;
}
if(Close[shift] > smax)
{
yükseliş trendi=doğru;
}
if(yükseliş trendi != eski && yükseliş trendi == doğru)
{
val1[shift] = Düşük[shift] - Aralık*Kstop;
}
if(yükseliş trendi != eski && yükseliş trendi == yanlış)
{
val2[shift] = Yüksek[shift] + Aralık*Kstop;
}
eski=yükseliş trendi;
}
void StartScript(int hWnd, string ScriptName, bool AutomaticallyAcceptDefaults = false)
{
{
charbuf[];
StringToCharArray("MetaTrader4_Internal_Message", arabellek);
int MT4InternalMsg = RegisterWindowMessageA(tampon);
StringToCharArray("fPlayer", tampon);
SendMessageA(hWnd, MT4InternalMsg, 16, tampon);
if (AutomaticallyAcceptDefaults) { ClearConfigDialog(); }
}
ClearConfigDialog() geçersiz
{
uyku(100);
keybd_event(13, 0, 0, 0);
}
//---- Uyarmak
if (Period()<Time_alert_minutes) t_per=Period(); başka t_per=Zaman_alert_dakika; // ???? ??<Zaman_alert, ????? ????? ?????????? ???? ??? ? ??.
if (Alert_message==true && CurTime()>AlertTime && val1[0]!=0.0)
{
Uyarı(Sembol()," +++ SATIN ALMAK!!! +++" , " //AltrTrend_Signal_v2_2_alert");
AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60;
//PlaySound("ödeme.wav");
fPlayer;//komut dosyası
}
if (Alert_message==true && CurTime()>AlertTime && val2[0]!=0.0)
{
Uyarı(Sembol()," +++ SATMAK!!! +++" , " //AltrTrend_Signal_v2_2_alert");
AlertTime=CurTime() + (t_per - MathMod(TimeMinute(CurTime()), t_per))*60;
// PlaySound("ödeme.wav");
fOyuncu;
}
dönüş(0);
}
//+------------------------------------------- --------------------+