Sormak! - sayfa 142

 

Bazı yardım lütfen bir EA ile

Bir satış emrini kapatıp yeni bir alış emri açmaya çalışıyorum. Alış açılıyor ama satış 4051 hatası veriyor

Ben kullanıyorum

bilet = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Gold);// pozisyonu kapat

ve

bilet = OrderSend(Symbol(), OP_BUY, Lot, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

 

Sihirli sayı nasıl değiştirilir?

Herkese selam,

Fark tablosu penceresinde fark çiftlerini takas etmek için fark EA'yı (bir Köken EA'dan kopyala) kullanıyorum ve sihirli sayıyı değiştirmek istiyorum ama sihirli sayının nasıl çalıştığını bilmiyorum? Bana söyleyebilir misin:

1. Sihirli sayı nasıl çalışır?

2. Sihirli sayı nasıl değiştirilir?

3. Sihirli sayıyı değiştirmek için herhangi bir sayı alabilir miyim yoksa bazı kurallarda bir sayı kullanmam GEREKİR ?

4. EA'mın sihirli numarası 16763'teki sihirli sayıyı değiştirmek için bana bir örnek verebilir misiniz?

Yardımın için çok teşekkür ederim!

 

Sihirli sayı, benzersiz bir tanımlayıcıdan başka bir şey değildir. Aynı EA'nın her bir örneğini, çalıştırmış olabileceğiniz diğer EA'lardan da ayırt eder.

Sihirli sayı harici bir değişkense, onu istediğiniz herhangi bir sayıya değiştirin. Çalıştırdığınız diğer herhangi bir EA ile aynı sayı olmadığından emin olun.

Harici bir değişken değilse, değişkenin koduna bakın ve onu istediğiniz herhangi bir sayıyla değiştirin.

Umarım yardımcı olur.

Lüks

 
luxinterior:
Sihirli sayı, benzersiz bir tanımlayıcıdan başka bir şey değildir. Aynı EA'nın her bir örneğini, çalıştırmış olabileceğiniz diğer EA'lardan da ayırt eder.

Sihirli sayı harici bir değişkense, onu istediğiniz herhangi bir sayıya değiştirin. Çalıştırdığınız diğer herhangi bir EA ile aynı sayı olmadığından emin olun.

Harici bir değişken değilse, değişkenin koduna bakın ve onu istediğiniz herhangi bir sayıyla değiştirin.

Umarım yardımcı olur.

Lüks

Merhaba Lux,

EA'mın sihirli numarasını değiştirebileceğimi mi söylüyorsunuz: 16763 - 16764; 16765 vb... ?

Hızlı yanıtın için teşekkür ederim.

Luu

 
luu:
Merhaba Lux,

EA'mın sihirli numarasını değiştirebileceğimi mi söylüyorsunuz: 16763 - 16764; 16765 vb... ?

Hızlı yanıtın için teşekkür ederim.

Luu

Aynen öyle! Numara benzersiz olduğu sürece, hangi numarayı seçtiğinizin önemi yoktur.

Belirli bir nedeniniz olmadıkça, gerçekten değiştirmeniz gerekmez.

Lüks

 
luxinterior:
Aynen öyle! Numara benzersiz olduğu sürece, hangi numarayı seçtiğinizin önemi yoktur.

Belirli bir nedeniniz olmadıkça, gerçekten değiştirmeniz gerekmez.

Lüks

Yardımın için çok teşekkür ederim Lux!

Luu

 

EA kapanış emri sorunları

Arkadaşlar bende destek direnç göstergesi olan bir EA'm var. EA'nın siparişleri hedef kar üzerinden tamamlaması gerekiyor.Ama bazen eksik.Bu sorundan nasıl kurtulabilirim.Lütfen bana yardım edin.

 

Lütfen basit genel komut dosyasıyla yardım edin.

Merhaba

Bazıları bana basit bir komut dosyasıyla lütfen yardımcı olabilir mi?

İşte ihtiyacım olan şey.

SELL_STOP ve BUY_STOP için 3-4 sipariş verecek herhangi bir sembolde kullanılabilecek çok genel komut dosyası

Diyelim ki mevcut fiyatın 20 puan üstüne buy_stop, mevcut fiyatın 40 puan üstüne ikinci sipariş, 3d 80 puan vb. yerleştirmek istiyorum.

Sell_Stop için aynı şey

Bazı örneklere dayanarak betiği bir araya getirmeye çalışıyordum ama C diline aşina olmadığım için bazı problemler yaşıyorum.

"""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""" """"// geliştirilmiş.mq4

int başlangıç()

{

int bilet, i;

int cnt=1;

int Dist_SL =10; // Ön Ayar SL (pt)

int Dist_TP =100; // Ön Ayarlı TP (pt)

string Symb=Sembol(); // Sembol

Yenileme Oranları();

çift teklif =MarketInfo(Symb,MODE_BID);

çift sor =MarketInfo(Symb,MODE_ASK);

çift nokta =MarketInfo(Symb,MODE_POINT);

int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);

if (Dist_TP < Min_Dist) // İzin verilenden az ise

{

Dist_TP=Min_Dist; // İzin verileni ayarla

Alert(" TakeP'nin mesafesi arttırıldı = ",Dist_TP," pt");

}

//------------------------------------------------ -------------------- 6 --

Alert("İstek sunucuya gönderildi. Cevap bekleniyor..");

for(i=100;i<400;i=i+100)

{

double TP=(ask+i*Puan) + Dist_TP*Puan; // TP için istenen fiyat

bilet=SiparişGönder(Symb,OP_BUYSTOP,0.1,ask+i*Nokta,1,(ask+i*Nokta)-Dist_SL*Nokta,TP);

Uyku(500);

int Hata=GetLastError(); // Arızalı

switch(Error) // Üstesinden gelinebilecek hatalar

{

case 130:Alert("SL yanlış. Yeniden deneniyor..");

Yenileme Oranları(); // Veriyi güncelle

if (Dist_SL < Min_Dist) // İzin verilenden az ise

{

Dist_SL=Min_Dist; // İzin verileni ayarla

Alert(" SL'nin mesafesi arttırıldı = ",Dist_SL," pt");

}

i=i-50;

Uyarı (i);

Uyarı (Dist_SL);

cnt=cnt+1;

Uyarı (cnt);

if (cnt==3)break;

devam etmek; // Bir sonraki yinelemede

case 135:Alert("Fiyat değişti. Tekrar deneniyor..");

Yenileme Oranları(); // Veriyi güncelle

devam etmek; // Bir sonraki yinelemede

case 136:Alert("Fiyat yok. Yeni bir onay işareti bekleniyor..");

while(RefreshRates()==false) // Yeni bir onay işaretine kadar

Uyku(1); // Döngü gecikmesi

devam etmek; // Bir sonraki yinelemede

case 146:Alert("İşlem alt sistemi meşgul. Yeniden deneniyor..");

Uyku(500); // Basit çözüm

Yenileme Oranları(); // Veriyi güncelle

devam etmek; // Bir sonraki yinelemede

}

switch(Error) // Kritik hatalar

{

durum 2: Alert("Genel hata.");

kırmak; // 'geçiş'ten çık

case 5 : Alert("Müşteri terminalinin güncel olmayan versiyonu.");

kırmak; // 'geçiş'ten çık

case 64: Alert("Hesap bloke edildi.");

kırmak; // 'geçiş'ten çık

case 133:Alert("Ticaret yasak");

kırmak; // 'geçiş'ten çık

varsayılan: Alert("Oluşan hata ",Hata);// Diğer alternatifler

}

//kırmak;

}

//------------------------------------------------ -------------------------- 9 --

Uyarı ("Komut dosyası işlemlerini tamamladı ---------------------------");

dönüş; // start()'tan çık

}

"""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""

İşe yarıyor ama çoğu zaman stop loss ile ilgili sorun yaşıyorum.

 

Yılanı içindeki gaussian sr oranıyla değiştirebilirsek, benim fikrim bu.

ssrc göstergesi temettü ödeyebilir ne düşünüyorsunuz?

ssrc tek taraflı gaussian sr oranı mızrakçılar sıra korelasyonu olurdu

"osgsrspc" lol .(kodlamaya çalıştım ama kafamdan geçti)

ssrc_bar.mq4

ssrc.mq4

os_gaussian_sr_rate.mq4

Dosyalar:
 

Yeni Soru: 5. Ondalık ve Para Yönetimi

Belirli bir EA müşterileri için sık sık karşılaştığım başka bir forumda, bir müşteri EA geliştiricisinin EA'ları için 5. ondalık / kesirli fiyatlandırma sorununu henüz çözmediğinden şikayet ediyordu.

Geliştirici birkaç ay önce bu sorunun çözülmesi için özel komut dosyası gerektirdiğini iddia etti. Şimdi, 4 ay sonra, temelde henüz düzeltilmemiş olmasının saçma olduğunu söyledim - ve burada açıklanan yönteme benzer şekilde "Nokta" yı yeniden tanımlamak için yalnızca birkaç satır kod gerektiğini iddia ettim.

İşte soru geliyor. Geliştirici hala bu sorunun çok karmaşık olduğu konusunda ısrar ediyor ve bunu düzeltmek için özel komut dosyası programlaması gerektiriyor. İşte geliştiriciden açıklama:

Merhaba John. Haklısın. Gittikçe daha fazla broker kesirli piplere gidiyor. Ancak, kesirli pip sorunu [isim kaldırıldı]'daki bir hata değildir. Bu, MT4 platformunun ondalık basamak sayısındaki farkı tanımlama biçimiyle ilgili bir sorun. EA'yı ve göstergeleri, farkı anlamaları için yeniden programlıyoruz. Bunun MT4 platformundaki "Nokta" değişkeninin tanımında yer alması gerekiyor ve EA'lar bu tanımı ondalık basamakları belirlemek için kullanıyor. Bununla birlikte, birçok MT4 platformu EA'da 4'ten fazla ondalık basamağı geçmez, bu nedenle özel komut dizisinin dahil edilmesi gerekir. Karşılaştığımız zorluk, EA'da ve tüm göstergelerde “Puan” değişkenini kullanmamızdır. Bu nedenle, “Nokta”yı yeniden tanımlamak için birkaç satır kod eklemek kadar basit değil. Gelecek haftanın sonuna kadar çalışan bir kesirli pip programına sahip olmayı umuyorum.

Öyleyse sorum şu: Deneyimli programcılardan herhangi biri bu karmaşık komut dosyası oluşturma gereksinimiyle veya MT4 Platformunun "Puan" değeriyle ilgili sorunlarla karşılaştı mı?

"Nokta"nın 4 ondalık basamakla sınırlı olduğunu varsaysanız bile, bu yalnızca Point = 0.001 ---- olan çiftler için endişelenmeniz gerektiği anlamına gelir ki bu yine de yalnızca bir veya iki satır kod alır.

Veya yine de yalnızca birkaç satır kod kullanan "Nokta" yerine "Rakamlar" kullanabilirsiniz.

Veya "UseFractionalPips = true;" gibi bir boole değişkeni kullanabilirsiniz. "Nokta"yı yeniden tanımlamak için.

Geliştiricinin ya sorunu olduğundan daha karmaşık hale getirdiğini (ya da belki başka nedenlerle) gerçekten hissediyorum. "Nokta"nın yalnızca 4 ondalık basamakla sınırlı olduğu bu sorunu hiç okumadım veya duymadım - ve olsa bile, bazı özel komut dosyaları olmadan noktayı yeniden tanımlamak için "Rakamlar" veya diğer yöntemleri kullanabilirsiniz.

Sadece 18 aydır MT4'te programlama yapıyorum, bu yüzden MT4'te kesirli pip fiyatlandırmasıyla başa çıkmak için "düzeltmenin" ne kadar karmaşık olduğu konusunda daha deneyimli programcılara erteleyeceğimi düşündüm.

Düşüncesi olan var mı?

Yardımın için şimdiden teşekkürler,

-B