Kodlama yardımı - sayfa 202

 

Metin çıktısı grafikte hatasız taşınamıyor ???

Mevcut aralık bilgisi metin çıktısı, fiyat mumları tarafından kapsanır. Kodlama becerilerim, hatalarla sonuçlanan her girişimde yetersizdir. Ben sadece grafikteki metin çıktısını gösterildiği gibi taşımaya çalışıyorum. Birisi lütfen yardım edebilir mi? Şimdiden çok teşekkürler!!! ant-gubreakout.mq4

Dosyalar:
 
daytrade5:
Mevcut aralık bilgisi metin çıktısı, fiyat mumları tarafından kapsanır. Kodlama becerilerim, hatalarla sonuçlanan her girişimde yetersizdir. Ben sadece grafikteki metin çıktısını gösterildiği gibi taşımaya çalışıyorum. Birisi lütfen yardım edebilir mi? Şimdiden çok teşekkürler!!! ant-gubreakout.mq4

günlük ticaret5

Metatrader 4'ü kullanırken, metin tipi nesneler için çapa seçemeyiz (metatrader 4, değiştiremeyeceğimiz bu tür nesneler için her zaman sabit bir çapa kullanır). Metnin konumunu değiştiren bir sürüm eklemek (bunun için TEXT_OFFSET kullanın), ancak bazen değerini değiştirmeniz gerekecek ve hizalama %100 mükemmel değil

Dosyalar:
 
mladen:
daytrade5 Metatrader 4'ü kullanırken, metin tipi nesneler için çapa seçemiyoruz (metatrader 4, değiştiremeyeceğimiz bu tür nesneler için her zaman sabit bir çapa kullanır). Metnin konumunu değiştiren bir sürüm eklemek (bunun için TEXT_OFFSET kullanın), ancak bazen değerini değiştirmeniz gerekecek ve hizalama %100 mükemmel değil

Tamam, çok teşekkürler. Bunu asla çözemezdim.

 

İyi demirleme, lütfen bu sipariş uyarısı mq4'e yardım edin - bir sipariş kapatıldığında bir uyarı gönderir, ancak şimdi sadece işlem yapılan ilgili sembol yerine profilde açık olan her bir sembol için gönderir.

Saygılarımla,

Dosyalar:
 
zigflip:
İyi demirleme, lütfen bu sipariş uyarısı mq4'e yardım edin - bir sipariş kapatıldığında bir uyarı gönderir, ancak şimdi sadece işlem yapılan ilgili sembol yerine profilde açık olan her bir sembol için gönderir. Saygılarımla,

zikzak

şimdi dene

Dosyalar:
 

4 cci'den değerlerin nasıl alınacağını çözemiyorum

merhaba,

Başka bir sorum var, çözdüğüm ilk problem. bu mladen için teşekkürler

4 cci'yi mladen tarafından burada buldum ve çok beğendim, yeniden boyadığını biliyorum ama yine de çok işime yaradı.

4 değeri başka bir kendi kendine yapılan göstergeye sokmaya çalışıyorum ama nasıl olduğunu bulamıyorum.

önceki sayfadaki bool satırını 4cci'den gelen değerlerle denedim ama benim için işe yaramadı.

Tecrübeli kodlar için sanırım kolay bir çözüm var ama ben zaten çok zaman harcıyorum ve çözemiyorum.

tavsiye için teşekkürler

Bob

//------------------------------------------------ ------------------

#property copyright "mladen"

#özellik bağlantısı "www.forex-tsd.cm"

//------------------------------------------------ ------------------

#özellik göstergesi_separate_window

#özellik göstergesi_tamponları 8

#özellik göstergesi_color1 KireçYeşil

#özellik göstergesi_color2 SolukVioletKırmızı

#özellik göstergesi_color3 KireçYeşil

#özellik göstergesi_color4 SolukVioletKırmızı

#özellik göstergesi_color5 KireçYeşil

#özellik göstergesi_renk6 SolukVioletKırmızı

#özellik göstergesi_color7 KireçYeşil

#özellik göstergesi_color8 SolukVioletKırmızı

#özellik göstergesi_minimum 0

#özellik göstergesi_maksimum 5

//

//

//

//

//

extern string TimeFrame1 = "Geçerli zaman çerçevesi";

dış dize TimeFrame2 = "sonraki1";

harici dize TimeFrame3 = "sonraki2";

harici dize TimeFrame4 = "sonraki3";

harici int Dönem_CCI = 24;

extern string UniqueID = "4 Zamanlı CCI Eğimleri";

extern int Çizgi Genişliği = 0;

dış renk EtiketlerColor = DarkGray;

extern int EtiketlerYatayShift = 5;

harici çift EtiketlerVerticalShift = 1.5;

extern bool alertsOn = false;

extern int alertsLevel = 3;

harici bool uyarılarıMesaj = YANLIŞ;

harici bool uyarılarıSound = false;

harici bool uyarılarıEmail = false;

//

//

//

//

//

çift gosc1u[];

çift gosc1d[];

çift gosc2u[];

çift gosc2d[];

çift gosc3u[];

çift gosc3d[];

çift gosc4u[];

çift gosc4d[];

int zaman Çerçeveleri[4];

bool dönüş Barları;

string göstergesiDosyaAdı;

//------------------------------------------------ ------------------

//

//------------------------------------------------ ------------------

//

//

//

//

//

int init()

{

SetIndexBuffer(0,gosc1u);

SetIndexBuffer(1,gosc1d);

SetIndexBuffer(2,gosc2u);

SetIndexBuffer(3,gosc2d);

SetIndexBuffer(4,gosc3u);

SetIndexBuffer(5,gosc3d);

SetIndexBuffer(6,gosc4u);

SetIndexBuffer(7,gosc4d);

göstergeDosyaAdı = WindowExpertName();

returnBars = (TimeFrame1=="returnBars"); if (returnBars) return(0);

//

//

//

//

//

için (int i=0; i<8; i++)

{

SetIndexStyle(i,DRAW_OK,BOŞ,LinesWidth); SetIndexArrow(i,110);

}

timeFrames[0] = stringToTimeFrame(TimeFrame1);

timeFrames[1] = stringToTimeFrame(TimeFrame2);

timeFrames[2] = stringToTimeFrame(TimeFrame3);

timeFrames[3] = stringToTimeFrame(TimeFrame4);

alertsLevel = MathMin(MathMax(alertsLevel,3),4);

GöstergeKısaAdı(BenzersizKimlik);

dönüş(0);

}

int tanım()

{

(int t=0; t<4; t++) için ObjectDelete(UniqueID+t);

dönüş(0);

}

//------------------------------------------------ ------------------

//

//------------------------------------------------ ------------------

//

//

//

//

//

çift eğilim[][6];

#define _up 0

#define _dn 1

#define _hl1 2

#define _hl2 3

#define _hl3 4

#define _hl4 5

int başlangıç()

{

int i,r,count,counted_bars=IndicatorCounted();

if(counted_bars < 0) return(-1);

if(counted_bars>0) counted_bars--;

int limit = MathMin(Barlar-sayılan_barlar,Barlar-1);

if (returnBars) { gosc1u[0] = limit+1; dönüş(0); }

if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName,"returnBars",0,0)*timeFrames[0]/Period ()));

if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName,"returnBars",0,0)*timeFrames[1]/Period) ()));

if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName,"returnBars",0,0)*timeFrames[2]/Period) ()));

if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName,"returnBars",0,0)*timeFrames[3]/Period ()));

if (ArrayRange(trend,0)!=Barlar) ArrayResize(trend,Barlar);

//

//

//

//

//

bool başlatıldı = yanlış;

if (!başlatıldı)

{

başlatıldı = doğru;

int pencere = WindowFind(UniqueID);

için (int t=0; t<4; t++)

{

string etiketi = timeFrameToString(timeFrames[t]);

ObjectCreate(UniqueID+t,OBJ_TEXT,pencere,0,0);

ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);

ObjectSet(UniqueID+t,OBJPROP_PRICE1,t+LabelsVerticalShift);

ObjectSetText(UniqueID+t,label,8,"Arial");

}

}

(t=0; t<4; t++) için ObjectSet(UniqueID+t,OBJPROP_TIME1,Time[0]+Period()*LabelsHorizontalShift*60);

//

//

//

//

//

for(i = limit, r=Bars-i-1; i >= 0; i--,r++)

{

trend[r][_up] = 0;

trend[r][_dn] = 0;

trend[r][_hl1] = trend[r-1][_hl1];

trend[r][_hl2] = trend[r-1][_hl2];

trend[r][_hl3] = trend[r-1][_hl3];

trend[r][_hl4] = trend[r-1][_hl4];

için (int k=0; k<4; k++)

{

int y = iBarShift(NULL,timeFrames[k],Zaman);

double cciNow = iCCI(NULL, timeFrames[k], Period_CCI, PRICE_TYPICAL, y);

double cciPre = iCCI(NULL, timeFrames[k], Period_CCI, PRICE_TYPICAL, y+1);

if (cciNow>cciPre) trend[r][k+2] = 1;

if (cciNow<cciPre) trend[r][k+2] = -1;

anahtar (k)

{

durum 0 : if (trend[r][k+2]==1) { gosc1u = k+1; gosc1d = EMPTY_VALUE;} başka { gosc1d = k+1; gosc1u = BOŞ_DEĞER; } kırmak;

durum 1: if (trend[r][k+2]==1) { gosc2u = k+1; gosc2d = EMPTY_VALUE;} başka { gosc2d = k+1; gosc2u = BOŞ_DEĞER; } kırmak;

durum 2: if (trend[r][k+2]==1) { gosc3u = k+1; gosc3d = EMPTY_VALUE;} başka { gosc3d = k+1; gosc3u = BOŞ_DEĞER; } kırmak;

durum 3: if (trend[r][k+2]==1) { gosc4u = k+1; gosc4d = EMPTY_VALUE;} başka { gosc4d = k+1; gosc4u = BOŞ_DEĞER; } kırmak;

}

if (trend[r][k+2]==1)

trend[r][_up] += 1;

başka eğilim[r][_dn] += 1;

}

}

ManageAlerts();

dönüş(0);

}

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

//|

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

//

//

//

//

//

void managerAlerts()

{

if (uyarılarAçık)

{

int hangiBar = Çubuk-1;

if (trend[hangiBar][_up] >= alertsLevel || trend[hangiBar][_dn] >= alertsLevel)

{

if (trend[hangiBar][_up] >= alertsLevel) doAlert("yukarı" ,trend[hangiBar][_up]);

if (trend[hangiBar][_dn] >= alertsLevel) doAlert("aşağı",trend[hangiBar][_dn]);

}

}

}

//

//

//

//

//

void doAlert(dize doWhat, int howMany)

{

statik dize öncekiAlert="hiçbir şey";

statik tarihsaat öncekiSaat;

dize mesajı;

if (previousAlert != doWhat || öncekiZaman != Zaman[0]) {

öncekiAlert = doWhat;

öncekiZaman = Zaman[0];

//

//

//

//

//

mesaj = Symbol()+" at "+TimeToStr(TimeLocal(),TIME_SECONDS)+" "+howMany+" MA eğilimlerinin zaman çerçeveleri "+doWhat;

if (alertsMessage) Alert(mesaj);

if (alertsEmail) SendMail(Symbol()+" 4 zaman çerçevesi MA trendleri",mesaj);

if (alertsSound) PlaySound("alert2.wav");

}

}

//------------------------------------------------ -------------------

//

//------------------------------------------------ -------------------

//

//

//

//

//

string sTfTable[] = {"M1","M5","M15","M30","H1","H4","D1","W1","MN"};

int iTfTable[] = {1,5,15,30,60,240,1440,10080,43200};

//

//

//

//

//

int toInt(çift değer) { dönüş(değer); }

int stringToTimeFrame(dize tfs)

{

tfs = stringUpperCase(tfs);

int max = ArraySize(iTfTable)-1, add=0;

int nxt = (StringFind(tfs,"SONRAKİ1")>-1); if (nxt>0) { tfs = ""+Period(); ekle=1; }

nxt = (StringFind(tfs,"SONRAKİ2")>-1); if (nxt>0) { tfs = ""+Period(); ekle=2; }

nxt = (StringFind(tfs,"SONRAKİ3")>-1); if (nxt>0) { tfs = ""+Period(); ekle=3; }

//

//

//

//

//

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

if (tfs==sTfTable || tfs==""+iTfTable) return(MathMax(iTfTable[toInt(MathMin(max,i+add))],Period()));

Dönüş süresi());

}

string timeFrameToString(int tf)

{

for (int i=ArraySize(iTfTable)-1; i>=0; i--)

if (tf==iTfTable) return(sTfTable);

dönüş("");

}

//

//

//

//

//

string stringUpperCase(string str)

{

dizi s = dizi;

for (int uzunluk=StringLen(str)-1; uzunluk>=0; uzunluk--)

{

int char = StringGetChar(s, uzunluk);

if((char > 96 && char 223 && char < 256))

s = StringSetChar(s, uzunluk, karakter - 32);

else if(char > -33 && char < 0)

s = StringSetChar(s, uzunluk, karakter + 224);

}

İadeler);

}
 
BobMorane1000:
merhaba,

Başka bir sorum var, çözdüğüm ilk problem. bu mladen için teşekkürler

4 cci'yi mladen tarafından burada buldum ve çok beğendim, yeniden boyadığını biliyorum ama yine de çok işime yaradı.

4 değeri başka bir kendi kendine yapılan göstergeye sokmaya çalışıyorum ama nasıl olduğunu bulamıyorum.

önceki sayfadaki bool satırını 4cci'den gelen değerlerle denedim ama benim için işe yaramadı.

Tecrübeli kodlar için sanırım kolay bir çözüm var ama ben zaten çok zaman harcıyorum ve çözemiyorum.

tavsiye için teşekkürler

Bob

BobMorane1000

Neden 4 kez iCCI() çağrısını kullanmıyorsunuz (kod açısından bile çok daha basit olacak)?

 

haklısın bunu yapacağım

tekrar teşekkürler

 

lütfen biri bana bu stokastiğin çaprazına ok eklememe yardım edebilir mi?

Dosyalar:
 

[EK]187655

Merhaba yardıma ihtiyacım var:

Mumları yeşile boyayan ve trendi okuyan güzel bir Trendindicatoe'm var. Ancak bir hata var: zaman çerçevesini değiştirirken renklerin aynı kalmasını sağlayamıyor. Ama daha da kötüsü, perukların neredeyse hiç görülmemesi ve bunu değiştiremem.

Biri bakabilir mi lütfen?

Çok teşekkürler. göstergeyi ekliyorum

Dosyalar:
t3_thv.ex4  5 kb