Kodlama yardımı - sayfa 135

 

teşekkürler mladen .....

ama çalışmıyor....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

Dosyalar:
1223123.png  22 kb
 
rizkyd:

teşekkürler mladen .....

ama çalışmıyor....

Bence bu kod barışı ilginizi çekebilir.

Grafik nesnesi kullanmak yerine normal arabellekler kullandım.

Bu indi, ALLWAYS H1 ve D1'i karşılaştırır

Bu nedenle, fiyatları H1 zaman çerçevesinin üzerinde işaretlemeyecek, ancak

H1'e eşit veya daha düşük zaman dilimlerinde işaretleyin. Ara sıra

daha düşük zaman dilimlerinde garip görünüyor (işaretleme çubukları gibi

çok erken) ama saatlik vardiyaya daha yakından bakarsanız

iyi.

dhl_e.mq4

Dosyalar:
dhl_e.mq4  3 kb
gbpusdh1.png  30 kb
 
Kalenzo:
Bence bu kod barışı ilginizi çekebilir.

Grafik nesnesi kullanmak yerine normal arabellekler kullandım.

Bu indi, ALLWAYS H1 ve D1'i karşılaştırır

Bu nedenle, fiyatları H1 zaman çerçevesinin üzerinde işaretlemeyecek, ancak

H1'e eşit veya daha düşük zaman dilimlerinde işaretleyin. Ara sıra

daha düşük zaman dilimlerinde garip görünüyor (işaretleme çubukları gibi

çok erken) ama saatlik vardiyaya daha yakından bakarsanız

iyi.

dhl_e.mq4

teşekkürler kalenzo ... bunu deneyeceğim

 
rizkyd:

teşekkürler mladen .....

ama çalışmıyor....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

İki farklı zaman dilimini karşılaştırıyorsunuz

Zaman çerçevesi 1'in mevcut çubuğu, zaman çerçevesi 2'nin ilk kapalı çubuğunun üstünde veya altındaysa, mesaj görüntülenecektir. Zaman çerçevesi 1'in mevcut çubuğu, önceki zaman çerçevesi 2'nin en yüksek ve en düşük seviyesinden daha yüksek veya daha düşük değilse, o zaman hiçbir şey görüntülenmez. Gönderdiğiniz koddan niyetiniz bu gibi görünüyordu (testlerimde işe yaradı)

_____

Not: geçmiş verilerde (önceki veriler) metin gösterilmeyecektir. Geçmiş verilerde gösterilmesini istiyorsanız, klasik bir gösterge olarak hepsinin tamamen farklı yazılması gerekir.

 

Otomatik stoploss için EA ve Fibo Line'a bağlı olarak kâr elde edin

Merhaba

Zararı durdur ve her siparişte kâr elde edebilen bir EA yaratmak istiyorum!

EA, satış fiyatını veya alış fiyatını görmelidir ve örneğin alış fiyatı için:

açılış emri fiyatı 38.2 ile 50 satır arasında ise, ea otomatik olarak fibo=23.6'dan önce bir satırda zararı durdur ve fibo=61.8'den sonra bir satırda kâr al yerleştir

bu prosedürle EA satış pozisyonu için yapın, örneğin pozisyon Sat stop@ X fiyatı ve 38.2 fibo<x<50 fibo! EA otomatik olarak 23.6 fibo'da kar al ve 61.8 fibo satırında zararı durdur!

herhangi biri bana bu EA'nın koduyla yardımcı olabilir veya bana bu EA'nın benzer bir kodunu söyleyebilir!

****Not:

fibo çizgisi, son günün Düşük ve Yüksek tarafından otomatik olarak hesaplanır!!!!

tnx

 
mladen:
İki farklı zaman dilimini karşılaştırıyorsunuz

Zaman çerçevesi 1'in mevcut çubuğu, zaman çerçevesi 2'nin ilk kapalı çubuğunun üstünde veya altındaysa, mesaj görüntülenecektir. Zaman çerçevesi 1'in mevcut çubuğu, önceki zaman çerçevesi 2'nin en yüksek ve en düşük seviyesinden daha yüksek veya daha düşük değilse, o zaman hiçbir şey görüntülenmez . Gönderdiğiniz koddan niyetiniz bu gibi görünüyordu (testlerimde işe yaradı)

_____

Not: geçmiş verilerde (önceki veriler) metin göstermez. Geçmiş verilerde gösterilmesini istiyorsanız, klasik bir gösterge olarak hepsinin tamamen farklı yazılması gerekir.

teşekkür ederim mladen ... zamanınız varsa lütfen tarihsel verileri göstermek için yapın ....

Not : bu indi bana Trend UP veya Trend Down'u göstermeme yardımcı olabilir

 
rizkyd:
teşekkür ederim mladen ... zamanınız varsa lütfen geçmiş verileri göstermek için yapın .... Not : bu indi bana Trend UP veya Trend Down'u göstermeme yardımcı olabilir

rizkid

Bunun için çoklu zaman çerçevesi donchian kanalını kullanmayı denediniz mi (örneğin, donchian kanalının zaman çerçevesini günlük ve periyodu 1 olarak ayarlamak ve aradığınız şeyin neredeyse aynısını elde edersiniz)

 

Yeni gelen tavsiye/yardım istiyor

Selam,

Forexte yeniyim ve şu anda göstergeler ve EA'larla ilgileniyorum. mq4 kodu hakkında biraz bilgim var, ancak istediğimi elde etmek için bu henüz yeterli değil. Bu yüzden uzmanlardan veya mq4 kodlama hakkında yeterince bilgisi olan kişilerden tavsiye/yardım almak istiyorum.

Şu anki görevim EA'ya özel gösterge eklemek ve bu arada güzel bir EA şablonum var (düşünüyorum) sizinle paylaşacağım

Tamam, göstergeden aldığım son alım/satım sinyalleri şunlardır: g_ibuf_BUY[1] ve g_ibuf_SELL[1]

burada gösterge sesi çaldığında kodun bir kısmı açılır, e-posta gönderir.

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}

Sonraki adım, bu sinyalleri EA şablonuna eklemek mi? Mhm nasıl... kullanmadan önce iCustom işlevini veya göstergeye eklemek için gereken başka bir şeyi kullanmam gerekir mi? Herhangi bir yardım takdir edilecektir. Teşekkür ederim.

Dosyalar:
 
otnepx:
Selam,

Forexte yeniyim ve şu anda göstergeler ve EA'larla ilgileniyorum. mq4 kodu hakkında biraz bilgim var, ancak istediğimi elde etmek için bu henüz yeterli değil. Bu yüzden uzmanlardan veya mq4 kodlama hakkında yeterince bilgisi olan kişilerden tavsiye/yardım almak istiyorum.

Şu anki görevim EA'ya özel gösterge eklemek ve bu arada güzel bir EA şablonum var (düşünüyorum) sizinle paylaşacağım Tamam, göstergeden aldığım son alım/satım sinyalleri şunlardır: g_ibuf_BUY[1] ve g_ibuf_SELL[1]

burada gösterge sesi çaldığında kodun bir kısmı açılır, e-posta gönderir.

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}
Sonraki adım, bu sinyalleri EA şablonuna eklemek mi? Mhm nasıl... kullanmadan önce iCustom işlevini veya göstergeye eklemek için gereken başka bir şeyi kullanmam gerekir mi? Herhangi bir yardım takdir edilecektir. Teşekkür ederim.

Uyarıları başka bir kod barışına (gösterge, EA) aktaramazsınız .

İstediğinizi yapmanın en temiz yolu iCustom() kullanmaktır.

 

Sayın Mladen/MrTools,

1 dakikalık grafik için aşağıdaki mantığa göre İndikatör yapılmasını rica ederiz... Grafikte al/sat okları ile de uyarı vermelidir..

satın alma girişi için mantık:

bir dakika EMA(90) bir dakikayı geçiyor EMA(390) (önceki dakikadaki ema 90, ema 390'dan küçüktür ve ema(90) da ema(150)'den büyük olmalıdır

satın alma çıkışı mantığı:

bir dakika EMA(90) > EMA(390) ve ema(90) < ema(150).

satış girişi için mantık:

bir dakikalık EMA(90) bir dakikalık EMA(390) kesiyor (önceki dakika ema 90'ın ema 390'dan büyük olduğu anlamına gelir) ve ema(90) da ema(150)'den küçük olmalıdır

satış çıkışı mantığı:

bir dakika EMA(90) ema(150).

******************************************************* *****

Aynı mantık için yuva kodu da aşağıda paylaşılmıştır:

uyarı ifadesi satın al

EMA(KAPALI,90) > EMA(KAPALI,390) ve REF(EMA(KAPALI,90),1) EMA(KAPALI,150)

çıkış ifadesi satın al

EMA(KAPALI,90) > EMA(KAPALI,390) ve EMA(KAPALI,90) < EMA(KAPALI,150)

uyarı ifadesi satmak

EMA(KAPALI,90) REF(EMA(KAPALI,390)),1) ve EMA(KAPALI,90) < EMA(KAPALI,150)

çıkış ifadesi satmak

EMA(KAPALI,90) EMA(KAPALI,150)

teşekkürler

Çok teşekkürler