Kodlama yardımı - sayfa 254

 
thefxpros:
Merhaba,

icustom kullanarak MTF'de bazı göstergeleri çevirerek eğleniyorum. Gösterge çalışıyor, ancak rengi ve okları düzgün görüntülemiyor, neden?

Hata nerede lütfen?

wilders_trailing_stop_mtf.mq4

wilders_trailing_stop.mq4

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

#property copyright "thefxpros"

#property link "thefxpros@katamail.com"

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

#property indicator_chart_window

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1

//

//

//

extern int TimeFrame = 0;

extern int Length = 2;

extern double Coeff = 1.75;

extern int LineWidth = 1;

extern int ArrowWidth = 1;

extern color UpLineClr = LimeGreen;

extern color DnLineClr = Orange;

extern color UpArrowClr = LimeGreen;

extern color DnArrowClr = Orange;

//

double WTS[];

double WTSDn[];

double arrUp[];

double arrDn[];

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

//| |

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

int init()

{

IndicatorBuffers(4);

SetIndexBuffer(0,WTS); SetIndexStyle(0,DRAW_LINE, EMPTY, LineWidth, DnLineClr);

SetIndexBuffer(1,WTSDn); SetIndexStyle(1,DRAW_LINE, EMPTY, LineWidth, UpLineClr);

SetIndexBuffer(2,arrUp); SetIndexStyle(2,DRAW_ARROW, EMPTY, ArrowWidth, UpArrowClr); SetIndexArrow(2,SYMBOL_ARROWUP);

SetIndexBuffer(3,arrDn); SetIndexStyle(3,DRAW_ARROW, EMPTY, ArrowWidth, DnArrowClr); SetIndexArrow(3,SYMBOL_ARROWDOWN);

IndicatorShortName("Wilders trailing stop MTF ("+Length+","+Coeff+")");

Length = MathMax(Length,1);

switch(TimeFrame)

{

case 1 : string TimeFrameStr="Period_M1"; break;

case 5 : TimeFrameStr="Period_M5"; break;

case 15 : TimeFrameStr="Period_M15"; break;

case 30 : TimeFrameStr="Period_M30"; break;

case 60 : TimeFrameStr="Period_H1"; break;

case 240 : TimeFrameStr="Period_H4"; break;

case 1440 : TimeFrameStr="Period_D1"; break;

case 10080 : TimeFrameStr="Period_W1"; break;

case 43200 : TimeFrameStr="Period_MN1"; break;

default : TimeFrameStr="Current Timeframe";

}

IndicatorShortName("Wilders trailing stop MTF ("+TimeFrameStr+")");

return(0);

}

//----

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

//| MTF function |

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

int start()

{

datetime TimeArray[];

int i,limit,y=0,counted_bars=IndicatorCounted();

// Plot defined time frame on to current time frame

ArrayCopySeries(TimeArray,MODE_TIME,Symbol(),TimeFrame);

limit= MathMin(Bars-counted_bars+3*TimeFrame/Period(),Bars-1);

for(i=0,y=0;i<limit;i++)

{

if (Time<TimeArray[y]) y++;

/*********************************************************************************************************

Add your main indicator loop below. You can reference an existing indicator with its iName or iCustom.

Rule 1: Add extern inputs above for all neccesary values

Rule 2: Use 'TimeFrame' for the indicator time frame

Rule 3: Use 'y' for your indicator's shift value

********************************************************************************************************/

WTS=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,0,y);

WTSDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,1,y);

arrUp=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,2,y);

arrDn=iCustom(Symbol(),TimeFrame,"Wilders trailing stop",Length,Coeff,3,y);

}

return(0);

}

//+------------------------------------------------------------------+[/PHP]

thefxpros

Çizim arabelleklerini bildirmeniz gerektiğinde bölümü yorumladınız

Bu kısım :

[PHP]#özellik göstergesi_chart_window

//#özellik göstergesi_tamponları 4

//#özellik göstergesi_renk1 Turuncu

//#özellik göstergesi_renk2 KireçYeşil

//#özellik göstergesi_color3 KireçYeşil

//#özellik göstergesi_renk4 Turuncu

//#özellik göstergesi_width3 1

//#özellik göstergesi_width4 1

Bu satırlardan yorumları kaldırın ve işe yarayacak

 
mladen:
thefxpros

Çizim arabelleklerini bildirmeniz gerektiğinde bölümü yorumladınız

Bu kısım :

#property indicator_chart_window

//#property indicator_buffers 4

//#property indicator_color1 Orange

//#property indicator_color2 LimeGreen

//#property indicator_color3 LimeGreen

//#property indicator_color4 Orange

//#property indicator_width3 1

//#property indicator_width4 1
Bu satırlardan yorumları kaldırın ve işe yarayacak

evet biliyorum ama daha sonra belirttim yetmez mi? Her zaman başında belirtmiş miyim?

Sık sık hatırlıyorum, önceki derleme meta düzenleyicisiyle böyle yaptım ve hatırladığım kadarıyla işe yaradı, yanlış mı hatırlıyorum?

 
thefxpros:
evet biliyorum ama daha sonra belirttim yetmez mi? Her zaman başında belirtmiş miyim? Sık sık hatırlıyorum, önceki derleme meta düzenleyicisiyle böyle yaptım ve hatırladığım kadarıyla işe yaradı, yanlış mı hatırlıyorum?

thefxpros

Başlangıçta çizim arabelleklerini belirliyorsunuz . Daha sonra hesaplama arabelleklerini belirleyebilirsiniz. #property Indicator_buffers numberOfDrawingBuffer belirtmezseniz, hart üzerinde hiçbir şey çizilmeyecektir.

 

tüm Mızrak Geçmişinizi gösterin. Lütfen bana yardım et

 

Herhangi biri lütfen bu EA'yı CloseInMA işlevi için kontrol etmeme yardım etsin.

Kaç gündür buradayım ve çözümü bulamıyorum. .

Teşekkür ederim .

Dosyalar:
testing1.5.mq4  38 kb
 
stevenpun:
Herhangi biri lütfen bu EA'yı CloseInMA işlevi için kontrol etmeme yardım etsin.

Kaç gündür buradayım ve çözümü bulamıyorum. .

Teşekkür ederim .

stevenpun

Şimdi yazıldığı gibi yapmaya çalışın

Dosyalar:
 

Merhaba iyi kalpli guru, lütfen birisinin bunu kodlamasına ve ardından robot (EA) versiyonunu oluşturmasına yardım etmesini rica ediyorum:

GÖSTERGE- Sırasıyla 5, 15, 31, 67 ile biten fiyatlara otomatik olarak yatay çizgiler (tercihen kesik çizgiler) çizin. UJ 103.05, 102.67, 103.15 vb. ile ilgili örnek Çizgi uzunluğu, altında bu sayılar olan bir matematiksel cetvelin 1 inç uzunluğunda olmalıdır, böylece zaten sahip olduğum çift çizgiler nedeniyle düzgün bir çizelgem olacak.

PS- 4 ve 5 haneli broker uyumlu

 

EA için Kurallar

SATIN ALMAK

Fiyat, AŞAĞIDAKİ sihirli sayıdan 3 pip önce hareket ettiğinde bekleyen satın alma durdurma emri verin. Sihirli sayı 5 için örnek, fiyat şu anda UJ 103.02'de, bekleyen satın alma emri @103.05.

SATMAK

YUKARIDAN 3 pip kadar sihirli sayıya yaklaşan fiyatı herhangi bir zamanda bekleyen satışı durdurun. Örnek, şu anki fiyat @103.08, satış durağı @103.05

SL ve TP her biri 25/50 pip.

Ticaret kârda +3 pip'e ulaştığında, +1 kârı kilitlemek için KAYBI DURDUR'u hareket ettirin, 5 kilit 4, hareket 8 kilit 7, hareket 12 kilit 10

Maksimum açık pozisyon veya dalgalı işlem veya bekleyen emir =1 sadece yeni bir işlem için durdurulana kadar

Günlük maksimum %3 düşüş ve bir kez ulaşıldığında, EA ticareti durdurmalıdır.

Varsayılan parti büyüklüğü 0.1 (10.000)

24 saat ticaret

Not: EA, sihirli sayıları gizleme, takip eden durdurma, aracımdan kar alma/zararı durdurma seçeneğine sahip olmalı ve 4/5 basamak uyumlu olmalıdır. Varsayılan çift UJ.

Bunu bir an önce kodlamak çok güzel olacak.

 
mladen:
stevenpun Şimdi yazıldığı gibi yapmaya çalışın

merhaba mladen,

Daha önce denedim ama işe yaramadı.

Bu yüzden kafam çok karıştı.

Umarım sorunun ne olduğunu görmeme yardım edebilirsin.

Teşekkür ederim .

 
stevenpun:
merhaba mladen,

Daha önce denedim ama işe yaramadı.

Bu yüzden kafam çok karıştı.

Umarım sorunun ne olduğunu görmeme yardım edebilirsin.

Teşekkür ederim .

Gönderdiğiniz sürümde sabitleri karşılaştırıyordunuz (Fastma, Dn_slowma ve Up_slowma hareketli ortalamalar için kullanılan periyotlardır, hareketli ortalamaların değerleri değil)

Şimdi hareketli ortalamaların değerlerini karşılaştırmak için değiştirildi. Aklınızda bu yoksa, onu değiştirmeniz gerekir, ancak sabit değerleri karşılaştıramaz ve bunların çubuktan çubuğa değişmesini bekleyemezsiniz.

Bunların, çıkış koşulları olarak hayal ettiğiniz tam hareketli ortalama koşulları olup olmadığını (GetSignalClose() işlevinde ) kontrol edin, ancak hareketli ortalamaların parametrelerini değil, hareketli ortalamaların değerlerini karşılaştırmaya devam edin.