MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 836
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Hiçbir şey belirtilmedi
hiçbir şey, sırasıyla MT4 için bir şube ve buna dikkat etmeyin
tamam meşgul ol burası sıkıcı
Hepiniz hoşgeldiniz. Hayatta iyi şanslar ve işte kar.
Yardım istiyorum (beklenmedik bir şekilde, evet? :)).
Mql'de, 2 gün "konuyla ilgili" bir çaylak acemiyim. Riyal sizi otomatik ticarete geçmeye zorluyor, dairem TS için ve tabii ki parkın her satırına bir baykuş "yazmaya" (gerçek hayatta, farklı parçalardan bir araya getirmeye) çalışıyorum :). Son 10 saattir başka bir sorun giderme hakkında endişeleniyorum ve şu ana kadar "ve işler hala orada." Tavsiye veya örnek verebilecek biri varsa, çok minnettar olacağım (sözlü ve yazılı olarak ve en önemlisi duşta).
Genel olarak yani... Uzun süredir başarıyla kullandığım bir araç var. Aynı enstrümanın işlem koşullarına göre çok yönlü piyasa emirleri (bekleyen emirler olmadan) mümkündür. Düşen bir pozisyonu, pozisyonun en az X pip düşmesi şartıyla, bir alım satım sinyali ile doldurmak mümkündür, bazen kontör eklemek için doldurulabilir (aynı koşullar altında (işlem sinyali + düşüş boyutu)). Sorun (mevcut), ek pozisyonlar açmakta, yani... eklenen pozisyon için kaybın değerinin nasıl kontrol edileceği ve döndürüleceğidir. https://www.mql5.com/ru/forum/117061 örneğini takip ederek, her poza bir Magic atama kodunu düzelttim, ama hepsi bu. Tam olarak sarkma pozu nasıl seçilir ve kaybının değeri nasıl döndürülür.... :(.
İşlemleri açmak için "benim" kodum.
//-----------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)<1)
{
if (giriş koşullarım)
{
if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar); başkaTP = 0;
if (stoploss!=0) SL = NormalizeDouble(Teklif - stoploss*Point,Rakamlar); başka SL = 0;
bilet=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Rakamlar),5,SL,TP,"SATIN AL",Magic,0,Mavi);
if(ticket < 0) { Print("SATIN AL emri # açılırken hata oluştu", GetLastError());}
}}
if (NumberOfPositions(Symbol(),OP_SELL, Magic)<1)
{
if (giriş koşullarım)
{
if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar); başkaTP = 0;
if (stoploss!=0) SL = NormalizeDouble(Sor + stoploss*Puan,Rakamlar); başka SL = 0;
bilet=OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Teklif,Digits),5,SL,TP,"SAT",Magic,0,Red);
if(ticket < 0) { Print("SATIŞ emri # açılırken hata oluştu", GetLastError());}
}}
//---------------
Ek siparişlerin aşağıdaki kod kullanılarak açılması planlanmaktadır...
//---------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2)<1)
{
if (giriş koşullarım && GetProfitOpenPosInPoint (Symbol(),OP_BUY,Magic)>= LEVEL_1)
{
bilet=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP,"ek satın alma",Magic_2,0,Blue);
if(ticket < 0) { Print("SATIN AL emri # açılırken hata oluştu", GetLastError()); }
} }
//---------------
Ve işte orada kalktım :). GetProfitOpenPosInPoint (Symbol(),OP_BUY,Magic) yerine ne kullanılır? Teorik olarak, Düşürme Seviyesini (Symbol(),OP_BUY,Magic) kullanmanız gerekir, ancak bunu nasıl elde edeceğiniz aşağıda açıklanmıştır...
Lütfen yardım edin, arkadaş olun.
ZY Tavsiyende bulunursan, sana yalvarırım, hala bir çaylak olduğumu unutma, bana biraz daha göndermek için çok tembel olmayın, örneğin: ORMAN VAR, o zaman yönü belirtmeyi unutmayın <------ || ------>.
İlginiz için teşekkür ederim :).
hiçbir şey, sırasıyla MT4 için bir şube ve buna dikkat etmeyin
tamam meşgul ol burası sıkıcı
MT5 için benzer bir şubenin nerede olduğunu söyle, oraya sorayım ...
MT5 için benzer bir şubenin nerede olduğunu söyle, oraya sorayım ...
Hiçbir şey belirtilmedi
MT4'te Göstergeden fonksiyonu çağırmak hatasız geçiyor ve olması gerektiği gibi çalışıyor ( int handle= iEnvelopes ( Symbol (), tf, period, method, shift, price, Deviation(kanal), buff);) MT5'te de mümkündür.
Bana nasıl doğru yapılacağını söyle?
MT4'te Göstergeden fonksiyonu çağırmak hatasız geçiyor ve olması gerektiği gibi çalışıyor ( int handle= iEnvelopes ( Symbol (), tf, period, method, shift, price, Deviation(kanal), buff);) MT5'te de mümkündür.
Bana nasıl doğru yapılacağını söyle?
Yani mql4'te Zarf verilerini almak imkansız
İşte MT4'ten gelen kod
Her şey harika çalışıyor. MT5'te benzer bir tane istiyorum
İşte MT4'ten gelen kod
Her şey harika çalışıyor. MT5'te benzer bir tane istiyorum
Eh, çünkü bu farklı bir kod ve işe yarayacak.
MT5 kodundaki Göstergeye veri aktarımı düzeltildi:
Ama hata aynı.
İşte MT4'ten gelen kod
Her şey harika çalışıyor. MT5'te benzer bir tane istiyorum
Ellerine dikkat et:
Önceki gönderimde, bu, kodunuzda vurgulanmıştır.
ve alıntılanan bu mesajın kodunda, bu bir işlev bildirimidir. Ayrıca vurgulanmıştır.
Ama bu
var olan kullanıcı işlevini çağırmak. Bu programlama yöntemi benim için kabul edilemez olsa da yine de anlaşılabilir. Ama bu koddaki hatayı nasıl tarif edeceğimi bile zor buluyorum.