Nasıl kodlanır? - sayfa 221

 

Lütfen hattı taşımama yardım edin.

-------------------------------------------------- ------------------------------

Gösterge tasarlandığı gibi çalışır. Fiyat çizgiye dokunduğunda sesli alarm ama bunu genişletmek istiyorum. Bunu istiyorum:

Aşağıdaki göstergeyi kopyalayın ve ardından bu 2 değişikliği yapın:

değişiklik #1:

bir stoploss1 hattı oluştur(zaten orada) ve hattı, stoploss setim yoksa, stoploss'umun olduğu yere taşıyın, alarmın etkinleştirilmesini önlemek için hattı 500 pip uzağa taşıyın.

değişiklik #2:

Takeprofit1 (kodda bu yok) adlı bir satır oluşturun ve satırı, zararı durdurma setim yoksa, zararı durdurmamın olduğu yere taşıyın, alarmın etkinleştirilmesini önlemek için satırı 502 pip uzağa taşıyın. Ayrıca farklı sesli uyarı kullanın.

Gösterge, zararı durdur ve kârı al'ın ne olduğunu kontrol edecek ve zararı durdur ve kârı al ayarlanmadıysa ilgili fiyatlarda hareket edecek, çizgileri 500.502 pip uzağa taşıyacak.

Bu şekilde, piyasa karıma çarptığında veya zararı durdurduğunda, metatrader'a bakmadığım veya pencerenin küçültüldüğü zaman, ses bana haber verecek ve geri dönebileceğim, başka hangi kurulumlara sahip olabileceğimi görebiliyorum.

Kardeşim yardımın için çok teşekkür ederim.

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

//| HLine Alert.mq4 |

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

#mülkiyet telif hakkı ""

#özellik göstergesi_chart_window

harici dize SatırAdı="Stoploss1";

dış renk LineColor=Kırmızı;

harici int LineStyle=STYLE_SOLID;

harici int AlertPipRange=1;

harici dize AlertWav="Alert2.wav";

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

//| Özel gösterge başlatma işlevi |

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

int init()

{

//---- göstergeler

//----

dönüş(0);

}

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

//| Özel gösterge sıfırlama işlevi |

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

int tanım()

{

//----

//----

dönüş(0);

}

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

//| Özel gösterge yineleme işlevi |

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

int başlangıç()

{

int counted_bars=IndicatorCounted();

ObjectCreate(SatırAdı, OBJ_HLINE, 0, 0, Teklif);

ObjectSet(LineName, OBJPROP_STYLE, LineStyle);

ObjectSet(SatırAdı, OBJPROP_WIDTH, 2);

ObjectSet(LineName, OBJPROP_COLOR, LineColor);

double val = ObjectGet(SatırAdı, OBJPROP_PRICE1);

if (Bid-AlertPipRange*Point = val) PlaySound(AlertWav);

//----

//----

dönüş(0);

}

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

 
increase:
İşte sizin için uyarı ile yaptığım bir MTF versiyonu

Merhaba Arttır..

...göstergenizi indirdim (uyarılı) Düzelttim..çünkü..küçük bir hata var..

bir kez açılır ok yukarı etiketi aşağı göster ve tam tersi ...

bu yüzden ikisini bir arada nasıl birleştireceğimi ve gönderme uyarısını nasıl ayarlayacağımı bilmek isterdim

tüm TF'lerde e-posta.

senden daha önceden

Dosyalar:
afstar.mq4  6 kb
 

lütfen yardıma ihtiyacım var

lütfen biri bana kod yazmada yardımcı olabilir mi keşfettiğim bir scalping stratejisi için bir robot geliştirmek istiyorum

 

Çocuklar,

ekteki resme göre hareketli ortalama geçişi ve kapanışı hakkında uyarı için basit bir kod,

Sanırım if ifadesinde bir sorun var, lütfen gözden geçirin,

şimdiden teşekkürler.

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

#property copyright "Non"

#property link "non"

#property indicator_chart_window

extern int Time_Frame = PERIOD_M5;

extern int MA_Period = 20;

extern int MA_Method = MODE_SMA;

extern int MA_applied_to = PRICE_CLOSE;

extern bool Enabled = true;

extern int WhatCorner=2;

int PrevAlertTime=0;

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

//| Custom indicator initialization function |

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

int init()

{

//---- indicators

//----

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

ObjectDelete("Alart_Condition");

ObjectDelete("Alart_Setup");

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int BarsCount=IndicatorCounted();

if (Enabled == false)

{

string Alart_Condition = "Alart Disabled";

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

ObjectSetText("Alart_Condition", Alart_Condition , 12, "Comic Sans MS", Red);

ObjectSet("Alart_Condition", OBJPROP_CORNER, WhatCorner);

ObjectSet("Alart_Condition", OBJPROP_XDISTANCE, 1);

ObjectSet("Alart_Condition", OBJPROP_YDISTANCE, 1);

return (0);

}

// if (!Enabled) return (0);

if (Enabled == true)

{

string Alart_Setup = (GetMethodText1(MA_Method)+ (DoubleToStr(MA_Period,0))+")"+ GetMethodText(MA_applied_to)) ;

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

ObjectSetText("Alart_Setup", Alart_Setup , 12, "Comic Sans MS", Red);

ObjectSet("Alart_Setup", OBJPROP_CORNER, WhatCorner);

ObjectSet("Alart_Setup", OBJPROP_XDISTANCE, 1);

ObjectSet("Alart_Setup", OBJPROP_YDISTANCE, 1);

}

// if close of i < iMA && iMA < close of i-1 && last time alart .. then sell

for (int i=Bars;i>=1;i--)

{

double m = iMA(NULL,Time_Frame,MA_Period,0,MA_Method,MA_applied_to,i);

if ((CurTime() - PrevAlertTime > 20) && Close < m && m < Close)

{

Alert ("Sell " + Symbol());

PlaySound ("alert.wav");

PrevAlertTime=CurTime();

return(-1);

}

// if close of i-1 < iMA && iMA < close of i && last time alart .. then buy

if ( (CurTime() - PrevAlertTime > 20) && Close < m && m < Close )

{

Alert ("Buy "+ Symbol());

PlaySound ("alert.wav");

PrevAlertTime=CurTime();

return(-1);

}

}

//----

//----

return(0);

}

string GetMethodText1(int MA_Method)

{ switch(MA_Method)

{

case 0 : return("SMA("); break;

case 1 : return("EMA("); break;

case 2 : return("SMMA("); break;

case 3 : return("LWMA("); break; }

}

string GetMethodText(int MA_applied_to)

{

switch(MA_applied_to)

{case 0: return("C"); break; // Close

case 1: return("O"); break; // Open

case 2: return("H"); break; // High

case 3: return("L"); break; } // Low

}

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

Dosyalar:
q.gif  10 kb
 

Komut dosyasıyla ilgili yardım

Merhaba...

Bunu kodlamada tamamen acemiyim, bu yüzden bu senaryoda neyin yanlış olduğunu söyleyebilecek biri olup olmadığını merak ediyordum ...

Sürekli 4109 ERR_TRADE_NOT_ALLOWED hatası alıyorum.. MT4'teki mesaj "Sipariş Gönder işlevi için geçersiz fiyat 1.48770000" Ama nedenini anlayamıyorum... O yüzden lütfen bana yardım edin...

int start()

{

double High1;

double Low1;

double TP = 50;

double SL = 50;

int Lots = (((AccountBalance()/15)/50)/10);

//----

{

High1 = iHigh(NULL, PERIOD_D1, 0);

Low1 = iLow(NULL, PERIOD_D1, 0);

double Buy = High1*Point;

double Sell= Low1*Point;

Print(Buy);

Print(Sell);

}

//----

{

OrderSend(Symbol(),OP_BUYSTOP,Lots,Buy,NULL,Ask-SL*Point,Ask+TP*Point);

OrderSend(Symbol(),OP_SELLSTOP,Lots,Sell,3,Bid+SL*Point,Bid-TP*Point);

Alert (GetLastError());

}

//----

return(0);

}
 

Yardım

En azından şimdi ticaretime izin verilmeyen sorunumu anladım ..

Ama şimdi sürekli " geçersiz durur " hatası alıyorum..beni burada aydınlatabilecek biri..? Burada neyin yanlış olduğunu gerçekten anlamıyorum ...

Şimdiden teşekkürler..

int start()

{

double High1;

double Low1;

int TP = 50;

int SL = 50;

int Lots = (((AccountBalance()/15)/50)/10);

//----

{

High1 = iHigh(NULL, PERIOD_D1, 0);

Low1 = iLow(NULL, PERIOD_D1, 0);

Print(High1);

Print(Low1);

}

//----

{

OrderSend(Symbol(),OP_BUYSTOP,Lots,High1,NULL,Ask-SL*Point,Ask+TP*Point);

OrderSend(Symbol(),OP_SELLSTOP,Lots,Low1,NULL,Bid+SL*Point,Bid-TP*Point);

Alert (GetLastError());

}

//----

return(0);

}
 

İşlemler için sayıyı sınırlandırın....

Günde yaptığı işlem sayısını yalnızca iki (2) ile sınırlayacak bir EA'ya kod eklemeye çalışıyorum. Günde sadece BİR uzun ticaret ve BİR kısa ticaret. Şimdiye kadar sahip olduğum kod bu, ancak geriye dönük testte çalışmıyor.

Bana yardımcı olabilir misiniz!?

datetime LongTrade=0;

datetime ShortTrade=0;

if(countOrders(OP_BUY,magic)==0 && LongTrade!=iTime(NULL,PERIOD_D1,0))

{

OrderSend(Symbol(),OP_BUY,lots,Ask,0,Bid-stop_loss*Point,lTP,comment + "lTP",magic);

LongTrade=iTime(NULL,PERIOD_D1,0);

return(0);

}

--------------------

if(countOrders(OP_SELL,magic)==0 && ShortTrade!=iTime(NULL,PERIOD_D1,0))

{

OrderSend(Symbol(),OP_SELL,lots,Bid,0,Ask+stop_loss*Point,sTP,comment + "sTP",magic);

ShortTrade=iTime(NULL,PERIOD_D1,0);

return(0);

}

TEŞEKKÜR EDERİM.

 
ForExTyro:
Günde yaptığı işlem sayısını yalnızca iki (2) ile sınırlayacak bir EA'ya kod eklemeye çalışıyorum. Günde sadece BİR uzun ticaret ve BİR kısa ticaret. Şimdiye kadar sahip olduğum kod bu, ancak geriye dönük testte çalışmıyor. Bana yardımcı olabilir misiniz!?

Yer değiştirmek

tarihsaat UzunTicaret=0;

tarihsaat ShortTrade=0;

ile

statik tarihsaat LongTrade=0;

statik tarihsaat ShortTrade=0;

 

Bu EA ve Göstergeyle İlgili Yardım Lütfen

Ben bir Newbe çok Merhaba, gördüğünüz gibi bu konuda hiç şansım yok.

Bu Göstergeye sahibim (Histogram/ 300 çubuk geriye bakıyor ama YOLU çok fazla yeniden çiziyor. Herhangi biri henüz aynı işi yapmayan bir Gösterge önerebilir mi. İşte bu, yardım edebilirseniz bu harika olurdu)

Saygılar CharlieC

histoind.mq4

#özellik göstergesi_chart_window

#özellik göstergesi_tamponları 2

#özellik göstergesi_renk1 Kırmızı

#özellik göstergesi_color2 ÇimYeşil

string gs_unused_124 = "";

bool gi_unused_132 = YANLIŞ;

harici int RİSK = 3;

harici int CountBars = 300;

çift g_ibuf_144[];

çift g_ibuf_148[];

int init() {

Gösterge Tamponları(2);

SetIndexStyle(0, DRAW_ARROW);

SetIndexArrow(0, 234);

SetIndexStyle(1, DRAW_ARROW);

SetIndexArrow(1, 233);

SetIndexBuffer(0, g_ibuf_144);

SetIndexBuffer(1, g_ibuf_148);

Yorum();

dönüş (0);

}

int start() {

int li_12;

çift ld_52;

çift ld_60;

çift ld_68;

çift ld_76;

çift ld_84;

çift ld_92;

çift ld_100;

çift lda_108[50000];

SetIndexDrawBegin(0, Çubuklar - CountBars + 11 + 1);

SetIndexDrawBegin(1, Çubuklar - CountBars + 11 + 1);

int l_ind_counted_8 = IndicatorCounted();

int li_20 = RİSK * 2 + 3;

çift ld_36 = RİSK + 67;

çift ld_44 = 33 - RİSK;

int l_period_24 = li_20;

if (Barlar <= 12) döndürür (0);

if (l_ind_counted_8 < 12) {

for (int li_0 = 1; li_0 <= 0; li_0++) g_ibuf_144[CountBars - li_0] = 0.0;

for (li_0 = 1; li_0 <= 0; li_0++) g_ibuf_148[CountBars - li_0] = 0.0;

}

for (int li_4 = CountBars - 11 - 1; li_4 >= 0; li_4--) {

li_12 = li_4;

ld_76 = 0.0;

ld_84 = 0.0;

for (li_12 = li_4; li_12 <= li_4 + 9; li_12++) ld_84 += MathAbs(Yüksek[li_12] - Düşük[li_12]);

ld_76 = ld_84 / 10.0;

li_12 = li_4;

ld_68 = 0;

while (li_12 < li_4 + 9 && ld_68 < 1.0) {

if (MathAbs(Açık[li_12] - (Kapat[li_12 + 1])) >= 2.0 * ld_76) ld_68 += 1.0;

li_12++;

}

if (ld_68 >= 1.0) ld_92 = li_12;

başka ld_92 = -1;

li_12 = li_4;

ld_68 = 0;

while (li_12 < li_4 + 6 && ld_68 < 1.0) {

if (MathAbs(Kapat[li_12 + 3] - Kapat[li_12]) >= 4.6 * ld_76) ld_68 += 1.0;

li_12++;

}

if (ld_68 >= 1.0) ld_100 = li_12;

başka ld_100 = -1;

if (ld_92 > -1.0) l_period_24 = 3;

başka l_period_24 = li_20;

if (ld_100 > -1.0) l_period_24 = 4;

başka l_period_24 = li_20;

ld_52 = 100 - MathAbs(iWPR(NULL, 0, l_period_24, li_4));

lda_108[li_4] = ld_52;

g_ibuf_144[li_4] = 0;

g_ibuf_148[li_4] = 0;

ld_60 = 0;

if (ld_52 < ld_44) {

for (int li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {

}

if (lda_108[li_4 + li_16] > ld_36) {

ld_60 = Yüksek[li_4] + ld_76 / 2.0;

g_ibuf_144[li_4] = ld_60;

}

}

if (ld_52 > ld_36) {

for (li_16 = 1; lda_108[li_4 + li_16] >= ld_44 && lda_108[li_4 + li_16] <= ld_36; li_16++) {

}

if (lda_108[li_4 + li_16] < ld_44) {

ld_60 = Düşük[li_4] - ld_76 / 2.0;

g_ibuf_148[li_4] = ld_60;

}

}

}

dönüş (0);

}

Dosyalar:
histoind.mq4  3 kb
 

CharlieC

Ben işteyken, birileri de sesli bir Uyarı koyabilir mi (Yeni Beeee için Darn Cheeky Ay) bu şeyler sana komik şeyler yaptırıyor

Afedersiniz

CharlieC