Kodlama yardımı - sayfa 389

 
triip:
Güzel scalping sistemi ve şablonu buldum ama bu sistemi kurduktan sonra çok yavaş çalışıyor. Belki birisi ona bakıp neyin sebep olabileceğini tespit edebilir.

Şablon ve göstergeler:

1m_alf_scalp.zip

Sorun mum rengi göstergesi (IT_Candles) gibi görünüyor. Birisi, MT4'ün yavaş çalıştığı bu kodda neyin yanlış olduğunu anlıyor mu?

//+------------------------------------------------------------------+//| IT_Candles.mq4

//+------------------------------------------------------------------+

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

for (int i=limit;i>=0;i--)

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

 
triip:
Sorun mum rengi göstergesi (IT_Candles) gibi görünüyor. Birisi, MT4'ün yavaş çalıştığı bu kodda neyin yanlış olduğunu anlıyor mu?
//+------------------------------------------------------------------+//| IT_Candles.mq4

//+------------------------------------------------------------------+

#property indicator_chart_window

#include

#property indicator_buffers 2

extern color UpColor = LimeGreen;

extern color DnColor = Red;

extern int Width = 5;

extern double alpha = 0.09;

double ev=EMPTY_VALUE,Trend,Trigger,ALF;

double Up[];

double Dn[];

int init()

{

IndicatorBuffers(2);

SetIndexStyle(0,DRAW_HISTOGRAM,0,Width,UpColor);

SetIndexBuffer(0,Up);

SetIndexStyle(1,DRAW_HISTOGRAM,0,Width,DnColor);

SetIndexBuffer(1,Dn);

return(0);

}

int deinit()

{

return(0);

}

int start()

{

int counted_bars=IndicatorCounted();

if(counted_bars<0) return(-1); //---- check for possible errors

if(counted_bars>0) counted_bars--; //---- last counted bar will be recounted

int limit = Bars-counted_bars;

for (int i=limit;i>=0;i--)

{

Up = ev;

Dn = ev;

Trend = iCustom(NULL,0,"Instant_Trendline",alpha,0,i);

Trigger = iCustom(NULL,0,"Instant_Trendline",alpha,1,i);

ALF = iCustom(NULL,0,"ALF",0,i+1);

if (Trigger > Trend && Close > Open && Close > ALF)

{

Up = MathMax(Open,Close);

Dn = MathMin(Open,Close);

}

if (Trigger < Trend && Close < Open && Close < ALF)

{

Dn = MathMax(Open,Close);

Up = MathMin(Open,Close);

}

}

}

gezi

Göstergeler klasöründe de "Instant_Trendline" ve "ALF" göstergelerinin olup olmadığını kontrol edin (bu göstergenin doğru çalışması için her ikisi de gereklidir). Bunlara sahip değilseniz, o zip arşivinden ex4 dosyalarını çıkarın ve gösterge düzgün çalışacaktır (eğer orada yoksa, çok yavaş olacaktır)

Dosyalar:
it.gif  75 kb
 
mladen:
triip Göstergeler klasöründe de "Instant_Trendline" ve "ALF" göstergelerinin olup olmadığını kontrol edin (bu göstergenin doğru çalışması için her ikisi de gereklidir). Bunlara sahip değilseniz, o zip arşivinden ex4 dosyalarını çıkarın ve gösterge düzgün çalışacaktır (eğer orada yoksa, çok yavaş olacaktır)

Evet diğer göstergeleri de grafiğe koydum ama IT_Candles eklediğim anda MT4 yavaşlıyor, özel olarak geçiş zaman dilimleri yavaşlıyor..

 
triip:
Evet diğer göstergeleri de grafiğe koydum ama IT_Candles eklediğim anda MT4 yavaşlıyor, özel olarak geçiş zaman dilimleri yavaşlıyor..

gezi

Listede olmalarına gerek yok. Ancak göstergeler klasöründe (tam adları kullanarak) bulunmaları gerekir. Kontrol etmenin en kolay yolu, terminalin uzmanlar sekmesine gidip orada bir hata olup olmadığına bakmaktır (resimdeki gibi)

Dosyalar:
error_2.gif  98 kb
 
mladen:
tripip Listede olmaları gerekmez. Ancak göstergeler klasöründe (tam adları kullanarak) bulunmaları gerekir. Kontrol etmenin en kolay yolu, terminalin uzmanlar sekmesine gidip orada bir hata olup olmadığına bakmaktır (resimdeki gibi)

Orada hata yok.

Ancak ALF.ex4'ün fazla yavaşlamadığını, ancak ALF-MTF.ex4'ün tamamen yavaşladığını fark ettim. Göstergeler klasöründe, belirtilen tüm göstergelerin kaldığı bir alt klasörüm var. Belki de temiz MT4'ü yeniden yüklemeliyim.

Dosyalar:
errors.png  27 kb
 
triip:
Orada hata yok.

Ancak ALF.ex4'ün fazla yavaşlamadığını, ancak ALF-MTF.ex4'ün tamamen yavaşladığını fark ettim. Göstergeler klasöründe, belirtilen tüm göstergelerin kaldığı bir alt klasörüm var. Belki de temiz MT4'ü yeniden yüklemeliyim.

Bunları alt klasörden ana göstergeler klasörüne taşıyın ve ardından deneyin

 
mladen:
Bunları alt klasörden ana göstergeler klasörüne taşıyın ve ardından deneyin

Çok daha iyi, bir cazibe gibi çalışır Teşekkürler mladen !!!

 
sunshineh:
Merhaba,

Grafiğimdeki çubukların üzerine metin nesneleri yazarken her zaman sorun yaşıyorum.

Örneğin

ObjectCreate ("Xh", OBJ_TEXT,0,Time[0],High[0]+1*pips2dbl);

ObjectSetText("Xh","1",10,"Tahoma",Orange);

ObjectCreate ("X", OBJ_TEXT,0,Time[0],Low[0]-1*pips2dbl);

ObjectSetText("Xl","1",10,"Tahoma",Orange);

Bu, yazı tipi nesnem metnimin "başına" sabitlendiğinden, çubuklarımın altındaki metin nesneleri ile iyi çalışıyor.

Ama çubuğun üstüne bir metin yazmak istersem, şimdi yazımı 10 puntodaki metnim nasıl tırtıklı değil, bu yüzden çubuklara yazılıyor.

Metni "H1", "D1" veya "W1" gibi daha büyük zaman dilimlerinde yazarken de bir sorun oluyor çünkü orada yazı tipi uzaklığımı da yüksek veya düşük değere değiştirmek zorunda kaldım.

Metnimi 90° döndürebileceğimi biliyorum ama bunu yapmak istemiyorum.

Peki bu sorun için bir çözüm biliyor musunuz?

Başlangıç için 1*pips2dbl yerine ATR kullanmayı deneyin (bu şekilde kendisini farklı zaman dilimlerine ve sembollere göre ayarlayacaktır).

Ayrıca, metnin bağlantı noktasını (OBJPROP_ANCHOR) yüksek noktanın üzerinde görüntülenen metin nesnesi için ANCHOR_LOWER olarak ayarlamayı deneyin.

 
madopter:
Ayarlanabilir kısımlar lot büyüklüğü ve lotun uygulanacağı hesap bakiyesi olmalıdır. Örneğin, parametreler A = 0.01, B = 5000$ veya A = 1.00, B = 10.000$ olabilir.

Bu durumda, karşılaştırma için kullanılabilecek birden fazla parametre değerine sahip olmanız gerekir.

Aşağıdaki gibi parametreleri tanımlayabilirsiniz: harici çift hesapBakiyeA = 5000; ve sonra bu parametreleri, aynı şeyi parametresiz yapan kodda karşılaştırmalı olarak kullanın.

 
mladen:
jbozman

macd göstergesinin herhangi bir değişikliğe ihtiyacı yoktur (vakaların %99,99'unda yalnızca 1 veya 2 çubuğu hesaplayacaktır)

hilo göstergesi, değerleri çok karmaşık bir şekilde arar. Bu görevi çok daha basit bir şekilde yapan başka bir gösterge kullanmak daha iyidir (bu kadar karmaşık hale getirmeye gerek yok)

Merhaba mladen. Aradım ve önceki gün, hafta ve aya sahip olan ve basit çizgi parçalarını boyayan ve bir tablo karmaşası oluşturmayan bir yüksek/düşük bulamadım.

Başka bir tane bulmaya çalış dediğini biliyorum; Ancak, gerçekten baktım ve yapamadım. Ben de mql4 forumunda bir istek yayınladım. Geri duymadım.

Oldukça basit, bu göstergeyi değiştirmesi için birine (size) ödeme yapmaya hazırım.

Bu, önceki her gün çizildiği için "Gün Sayısı"nın eklenmesini istiyorum. EUR/USD ve GBP/USD'de, grafik geçmişim 1996 veya daha fazlasına kadar gidiyor, bu yüzden tüm bu satırlarla çok fazla bellek kaplıyor.

Kiralık değilseniz (belki bir başkası olabilir?), Şu anki işe Gün Sayısını eklemek çok mu karmaşık? Başka birini bulana veya değiştirecek birini bulana kadar kullanmaya devam edebilirim. Bu zaman alıcı bir istekse, tamamen anlıyorum ve her konuda yardımınız için teşekkür ederim.

jbozman

Dosyalar: