Nasıl kodlanır? - sayfa 275

 
alvintran:
Hayır hayır, sorun değil SL/TP, bu sorunu biliyorum, hiçbir şey yapmadığını söyledim, demo hesapta (anında yürütme veya bilmediğim bir şey) iyi çalışıyor, ancak canlı hesapta çalışmıyor, herhangi bir sorun yok, sadece hiçbir şey yapmayın.

Bu EA benim tarafımdan yazılmış, satın alma değil, deneme sürümü değil, herhangi bir sınırlı değil.

Lütfen ! Yardım

Alıntıları buraya gönderin, eminim birileri sizi cehenneme çevirecektir.

 
alvintran:
Hayır hayır, sorun değil SL/TP, bu sorunu biliyorum, hiçbir şey yapmadığını söyledim, demo hesapta (anında yürütme veya bilmediğim bir şey) iyi çalışıyor, ancak canlı hesapta çalışmıyor, herhangi bir sorun yok, sadece hiçbir şey yapmayın.

Bu EA benim tarafımdan yazılmış, satın alma değil, deneme sürümü değil, herhangi bir sınırlı değil.

Lütfen ! Yardım

Tamam, ancak bu EA'yı yayınlayın, size yardımcı olabilirim ama koda ihtiyacım var.

Şerefe,

grzesiek

 

2 boyutlu diziyi dosyaya alma ve sonraki EA'da başka bir diziye geri döndürme

Merhaba!

biri bana yardım edebilir ve 2 boyutlu diziyi (yani çift dizi[x][y] burada x=100, y=30) bir dosyanın içine nasıl alabileceğimi ve bu dosyadaki sayıları nasıl geri alabileceğimi açıklayabilir mi? otehr EA'da bir dizi? 1 boyutlu çok daha kolay!!!

Bu makaleyi buldum: Üç Boyutlu Grafikler - Profesyonel Bir Pazar Analizi Aracı - MQL4 Makaleleri ama bu dosyadaki sayıları içeren dosyayı ikinci EA'mda nasıl okuyabilirim bilmiyorum...

Ek olarak, sayılarımın büyük kesinliğini kaydetmek istiyorum ve FileWriteDouble() işlevini (ikili olarak) kullanmayı düşünüyordum.

Biri bana yardım edebilir mi - çok minnettarım!

teşekkür ederim!

 
g.pociejewski:
Tamam, ama bu EA'yı yayınlayın, size yardımcı olabilirim ama koda ihtiyacım var.

Şerefe,

grzesiek

Yumruk herkese teşekkürler!

Dediğim gibi, EA'mda herhangi bir sorun yok, dediğiniz sorunu biliyorum, piyasada bu değişiklik pozisyonundan sonra yumruk açılmalıdır (eğer değilse order(130) hatası gösterecektir). Ama benim EA'mda herhangi bir sorun yok, sadece hiçbir şey yapmayın.

Bir pozisyon açmadan önce size bir şart veriyorum:

if (Sipariş == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

//Satın alma emrini aç

}

Şerefe Grzesiek! Bu EA'yı paylaşamam, lütfen! skype (duong_4sao) veya yahoo (tieuthienma88) üzerinden bana ulaşın, bir tartışmamız olacak.

Umarım bana yardım edebilirsin. Teşekkürler !

 
alvintran:
Yumruk herkese teşekkürler!

Dediğim gibi, EA'mda herhangi bir sorun yok, dediğiniz sorunu biliyorum, piyasada bu değişiklik pozisyonundan sonra yumruk açılmalıdır (eğer değilse order(130) hatası gösterecektir). Ama benim EA'mda herhangi bir sorun yok, sadece hiçbir şey yapmayın.

Bir pozisyon açmadan önce size bir şart veriyorum:

if (Sipariş == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Barlar != BarCount)))) {

//Satın alma emrini aç

}

Şerefe Grzesiek! Bu EA'yı paylaşamam, lütfen! skype (duong_4sao) veya yahoo (tieuthienma88) üzerinden bana ulaşın, bir tartışmamız olacak.

Umarım bana yardım edebilirsin. Teşekkürler !

Neden yardım istiyorsun ????

 

ECN brokerleri ve Zararı Durdur

MQL programlamada yeniyim. Lütfen bana yardım et .

Piyasa emirleriyle zararı durdurmaya çalışıyorum. Bunu başarmanın en iyi yolu nedir. orderend ile denedim ama oldu

ECN brokerlerinin piyasa emirleriyle zararı durdurmayı desteklemediği ortaya çıktı.

Aradım ve bulduğum tek bilgi, önce bekleyen bir siparişimiz olması ve ardından bu siparişi değiştirmemiz gerektiği.

Bunu denedim ve sorun çoğu durumda bekleyen siparişin değişiklik siparişinden önce zaten yürütülüyor olması, bu nedenle ordermodify başarısız oluyor

İşte Piyasa emri için satış emri:

STicket = OrderSend(Symbol(),OP_SELL,LotSize,Bid,0,0,0,null,MagicNumber,0,red);

İşte sipariş değişikliği:

OrderSelect(SlTicket, SELECT_BY_TICKET);

OpenPrice = OrderOpenPrice();

{ çift SellStopLoss = OpenPrice - (StopLoss * UsePoint);

bool TicketMod1 = OrderModify(SellTicket ,OrderOpenPrice() , SellStopLoss , 0,0);

}

Bu durdurma yöntemi bazen çalışır ve bazen işaret emri zaten yürütülür, bu nedenle ordermodify başarısız olur.

Lütfen ECN brokerleri için stoploss siparişi vermeme yardım edin !!!!

 
winston99:
MQL programlamada yeniyim. Lütfen bana yardım et .

Piyasa emirleriyle zararı durdurmaya çalışıyorum. Bunu başarmanın en iyi yolu nedir. orderend ile denedim ama oldu

ECN brokerlerinin piyasa emirleriyle zararı durdurmayı desteklemediği ortaya çıktı.

Aradım ve bulduğum tek bilgi, önce bekleyen bir siparişimiz olması ve ardından bu siparişi değiştirmemiz gerektiği.

Bunu denedim ve sorun çoğu durumda bekleyen siparişin değişiklik siparişinden önce zaten yürütülüyor olması, bu nedenle ordermodify başarısız oluyor

İşte Piyasa emri için satış emri:

STicket = OrderSend(Symbol(),OP_SELL,LotSize,Bid,0,0,0,null,MagicNumber,0,red);

İşte sipariş değişikliği:

OrderSelect(SlTicket, SELECT_BY_TICKET);

OpenPrice = OrderOpenPrice();

{ çift SellStopLoss = OpenPrice - (StopLoss * UsePoint);

bool TicketMod1 = OrderModify(SellTicket ,OrderOpenPrice() , SellStopLoss , 0,0);

}

Bu durdurma yöntemi bazen çalışır ve bazen işaret emri zaten yürütülür, bu nedenle ordermodify başarısız olur.

Lütfen ECN brokerleri için stoploss siparişi vermeme yardım edin !!!!

ECN brokerlerinde stoploss elde etmenin tek yolu, stopsuz emir göndermek ve değiştirmektir.

Kullanırım:

bilet=OrderSend(Symbol(),OP_SELL,lot,Teklif, kayma,0,0,yorum,sihir);

OrderSelect(bilet,SELECT_BY_TICKET);

OrderModify(ticket,OrderOpenPrice(),sltpValue(Ask +StopLoss*Point, StopLoss),sltpValue(Teklif-Kar Al*Puan,Kar Al),0);

ve herhangi bir sorun yaşamayın (sltp bize Sl/TP değerini verir).

 
g.pociejewski:
ECN brokerlerinde stoploss elde etmenin tek yolu, stopsuz emir göndermek ve değiştirmektir.

Kullanırım:

bilet=OrderSend(Symbol(),OP_SELL,lot,Teklif, kayma,0,0,yorum,sihir);

OrderSelect(bilet,SELECT_BY_TICKET);

OrderModify(ticket,OrderOpenPrice(),sltpValue(Ask +StopLoss*Point, StopLoss),sltpValue(Teklif-Kar Al*Puan,Kar Al),0);

ve herhangi bir sorun yaşamayın (sltp bize Sl/TP değerini verir).

kayma nasıl hesaplanır

0'ı geçiyorum, bu yüzden sorun olabilir.

 

zikzak yardımı

Merhaba,

Zigzag ve dirgen bazında bir adet yazmaya çalışıyorum.

dirgen çekmek için son 4 zikzak fiyatına ve zamanına ihtiyacım var

fiyatı ICustom() ile alıyorum

ama zamanı nasıl alacağımı bilmiyorum

Lütfen bana yardım et

şimdiden teşekkürler

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

bu fiyata...

int n0, n1, n2, n3, i0, i1, i2, i3 = 0;

çift zig0, zig1, zig2, zig3;

süre(n3<4)

{

zig3=iCustom(NULL, 0, "ZigZag", 0, i3);

if(zig3>0) n3+=1;

i3++;

}

süre(n2<3)

{

zig2=iCustom(NULL, 0, "ZigZag", 0, i2);

if(zig2>0) n2+=1;

i2++;

}

süre(n1<2)

{

zig1=iCustom(NULL, 0, "ZigZag", 0, i1);

if(zig1>0) n1+=1;

i1++;

}

süre(n0<1)

{

zig0=iCustom(NULL, 0, "ZigZag", 0, i0);

if(zig0>0) n0+=1;

i0++;

}

................................................................

 

indi için küçük değişiklik gerekli

Bu günlük kutular için kod ama bazı değişikliklere ihtiyacım var-tokio pazarının kapandığı ve londra'nın açıldığı yerde boşluk olmasını istiyorum.Öyleyse kutunun mavi olduğunu (bütün gün için) ve boşluğun beyaz olması gerektiğini varsayalım.

#özellik göstergesi_chart_window

int gi_76 = 50;

string gs_80 = "00:00";

string gs_88 = "23:59";

dış renk Color_Up = Lavanta;

dış renk Color_Down = Buğday;

dış renk Color_Neutral = LightGray;

bool gi_108 = DOĞRU;

çift gd_112;

int g_color_120 = Kırmızı;

geçersiz init() {

Nesneleri Sil();

for (int l_count_0 = 0; l_count_0 < gi_76; l_count_0++) CreateObjects("PWT1" + l_count_0, g_color_120);

Yorum("");

}

geçersiz başlangıç() {

int l_datetime_0 = TimeCurrent();

for (int l_count_4 = 0; l_count_4 < gi_76; l_count_4++) {

DrawObjects(l_datetime_0, "PWT1" + l_count_4, gs_80, gs_88);

için (l_datetime_0 = decDateTradeDay(l_datetime_0); TimeDayOfWeek(l_datetime_0) > 5; l_datetime_0 = decDateTradeDay(l_datetime_0)) {

}

}

}

void DrawObjects(int ai_0, string a_name_4, string as_12, string as_20) {

int l_str2time_28 = StrToTime(TimeToStr(ai_0, TIME_DATE) + " " + as_12);

int l_str2time_32 = StrToTime(TimeToStr(ai_0, TIME_DATE) + " " + as_20);

int l_shift_52 = iBarShift(NULL, 0, l_str2time_28);

int l_shift_56 = iBarShift(NULL, 0, l_str2time_32);

int l_shift_60 = iBarShift(NULL, PERIOD_D1, l_str2time_28);

if (iClose(NULL, PERIOD_D1, l_shift_60) - iOpen(NULL, PERIOD_D1, l_shift_60) > 0.0) gd_112 = iClose(NULL, PERIOD_D1, l_shift_60) - iOpen(NULL, PERIOD_D1, l_shift_60);

başka gd_112 = iOpen(NULL, PERIOD_D1, l_shift_60) - iClose(NULL, PERIOD_D1, l_shift_60);

if (gd_112 < iATR(NULL, PERIOD_D1, 7, l_shift_60) / 100.0) g_color_120 = Color_Neutral;

başka {

if (iOpen(NULL, PERIOD_D1, l_shift_60) > iClose(NULL, PERIOD_D1, l_shift_60)) g_color_120 = Color_Down;

başka

if (iClose(NULL, PERIOD_D1, l_shift_60) > iOpen(NULL, PERIOD_D1, l_shift_60)) g_color_120 = Color_Up;

}

double l_high_36 = Yüksek;

çift ld_44 = Düşük;

if (!gi_108) {

l_high_36 = 0;

ld_44 = 2.0 * ld_44;

}

ObjectSet(a_name_4, OBJPROP_TIME1, l_str2time_28);

ObjectSet(a_name_4, OBJPROP_PRICE1, l_high_36);

ObjectSet(a_name_4, OBJPROP_TIME2, l_str2time_32);

ObjectSet(a_name_4, OBJPROP_PRICE2, ld_44);

ObjectSet(a_name_4, OBJPROP_COLOR, g_color_120);

}

int decDateTradeDay(int ai_0) {

int li_4 = ZamanYıl(ai_0);

int li_8 = ZamanAy(ai_0);

int li_12 = TimeDay(ai_0);

int l_hour_16 = TimeHour(ai_0);

int l_minute_20 = TimeDakika(ai_0);

li_12--;

if (li_12 == 0) {

li_8--;

if (li_8 == 0) {

li_4--;

li_8 = 12;

}

if (li_8 == 1 || li_8 == 3 || li_8 == 5 || li_8 == 7 || li_8 == 8 || li_8 == 10 || li_8 == 12) li_12 = 31;

if (li_8 == 2) {

if (MathMod(li_4, 4) == 0.0) li_12 = 29;

başka li_12 = 28;

}

if (li_8 == 4 || li_8 == 6 || li_8 == 9 || li_8 == 11) li_12 = 30;

}

dönüş (StrToTime(li_4 + "." + li_8 + "." + li_12 + " " + l_hour_16 + ":" + l_dakika_20));

}

void CreateObjects(string a_name_0, color a_color_8) {

ObjectCreate(a_name_0, OBJ_RECTANGLE , 0, 0, 0, 0, 0);

ObjectSet(a_name_0, OBJPROP_STYLE, STYLE_SOLID);

ObjectSet(a_name_0, OBJPROP_COLOR, a_color_8);

ObjectSet(a_name_0, OBJPROP_BACK, DOĞRU);

}

geçersiz DeleteObjects() {

for (int l_count_0 = 0; l_count_0 < gi_76; l_count_0++) ObjectDelete("PWT1" + l_count_0);

}

geçersiz tanım() {

Nesneleri Sil();

Yorum("");

}