Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 1154
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Merhaba arkadaşlar.
Stoploss, teknik kar ve takip eden değerler nasıl puan olarak değil, yüzde olarak gösterilir.
Bu formül çok karışık ve hiç çalışmıyor
StopLoss=NormalizeDouble(Bid-(Bid-TrailingStop)/100*TRAL_PERCENT,Rakamlar);
En basit yüzde türünü istiyorum.
Çift Stoploss = 0.05;
--------
Yüzde olarak Kar=Bid-Stoploss ( beceriksiz örnek , ancak anlamak için)
Teşekkür ederim.
Beceriksiz bir örnek, beceriksiz bir yanıt üretir. Anlamak için yüzde neyin ölçüleceğini anlamak gerekir???
.. Danışman yazarken yardıma ihtiyacı olanlar bana yazabilirsiniz. Yardım
sıfır çubuğundan fiyatı almaya yardım edin, işte tartışma
https://www.mql5.com/ru/forum/160683/page237#comment_5350688
Beceriksiz bir örnek, beceriksiz bir yanıt üretir. Anlamak için yüzde neyin ölçüleceğini anlamak gerekir???
Anladım.
Daha net olmaya çalışacağım.
Başlangıçta kodum şöyle görünür:
harici çift StopLoss =0;
harici çift Kar Al =0;
harici çift SL_PERCENT = 0.02;
harici çift TP_PERCENT = 0.03;
harici çift TRALL_PERCENT = 0,01;
dış çift Lot=0.5;
Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3, NormalizeDouble (OrderOpenPrice+(OrderOpenPrice + StopLoss)/100*SL_PERCENT,Digits),NormalizeDouble(OrderOpenPrice-(OrderOpenPrice - TakeProfit)/100,*TP ",Büyü,0,Kırmızı);
StopLoss çalışıyor, ancak %0.02'de değil, %0.43'te çalışıyor ki bu doğru değil. TakeProfit'i bilmiyorum, çünkü mümkün değil, ama görünüşe göre yanlış da olacak.
Kodun doğru olmadığına dair bir varsayımım var.
Ve evet, önemli olabilir. 3-4 çiftlik bir pakette tüm depolar için siparişler açılır. Bazen beş.
Ayrıca değişikliği puan olarak değil, StopLoss, Takeprofit, TrailingStop gibi göstergeler için yüzde olarak ayarlamak istiyorum.
Örneğin,
1)Takeprofit=OrderOpenPrice+%TP_PERCENT
2) Stoploss=OrderOpenPrice-%SL_PERCENT
Onlar.
bilet= OrderSend ( Symbol (), OP_BUY ,1,Ask,0,%,%, "" ,Magic,0, clrGreen );
Ve takip için nasıl daha fazla değişiklik yapacağımı anlayamıyorum.
Öğreticiden bir örnek aldım, ancak açıkça yanlış bir şey yapıyorum.
3.) TrailingStop=Teklif-%TRAL_PERCENT
durum 0: // Siparişi satın al
if (NormalizeDouble(OrderOpenPrice-SL*Point,Digits)*SL_PERCENT/100<=(OrderOpenPrice-Ask) // Daha düşük istenirse.
NormalizeDouble(Teklif-(Teklif-TS)/100*TRAL_PERCENT,Rakamlar)
|| NormalizeDouble(SL,Rakamlar)==0)
{
SL=Teklif-TS*Noktası; // sonra değiştir
string Metin="satın al"; // Satın Al için Metin
Değiştir=doğru; // modifiyeye atandı.
}
Umarım gerçekten anlatabilmişimdir.
Teşekkür ederim.
Bir anlaşmanın açılışı ( OrderSend göndererek) kesinlikle mumun başlangıcında yetkin bir şekilde nasıl uygulanır - OnTimer ve/veya OnTick,
terminali çok fazla yüklememek için (aynı anda 20-30 çizelge açık ve izleniyor)?
bir mum başlangıcında yeni bir onay işaretinin ortaya çıkmasındaki gecikmenin 5-10 saniyeye kadar olabileceği, önceki onay işaretiyle olan boşluğun önemli olduğu (işlem şartları için olumsuz) bulundu.
ps Aynı zamanda, Expert Advisor'ın olası bir anlaşma hakkında anlaşma açmadan 1-2 dakika önce haber vermesi gerekiyor, yani. mumun açılmasından önce.
Bir anlaşmanın açılışı (Sipariş Gönderimi) kesinlikle mumun başlangıcında yetkin bir şekilde nasıl uygulanır - OnTimer ve/veya OnTick,
terminali çok fazla yüklememek için (aynı anda 20-30 çizelge açık ve izleniyor)?
mumun başlangıcında yeni bir kene ortaya çıkmasındaki gecikmenin 5-10 saniyeye kadar çıkabileceği, önceki kene ile olan boşluğun önemli olduğu (işlem şartları için olumsuz) bulundu.
ps Aynı zamanda, Expert Advisor'ın olası bir anlaşmayı, anlaşmanın açılışından 1-2 dakika önce, yani. mumun açılmasından önce.
Yeni bir çubuğun ortaya çıkması için zamanlayıcıdaki tüm açık çizelgelere bakmanız gerekir.
Sınıf örneklerine yönelik bir dizi işaretçi oluşturmanız gerekecek - her açık grafiğin her zaman çerçevesi için bir sınıf.
Yeni bir barın açılışını takip eden sınıf hakkında bu makalede okuyabilirsiniz .
Bir grafik açın - onu açık grafikler dizisine ekleyin. Grafiği kapatın - diziden çıkarın.
Zamanlayıcıdaki döngüde, sınıf örneklerine yönelik işaretçi dizisini gözden geçirin ve yeni bir çubuk oluşursa sınıfın geri döneceği yeni bir çubuk açma gerçeğini kontrol edin.
Yeni bir çubuğun ortaya çıkması için zamanlayıcıdaki tüm açık çizelgelere bakmanız gerekir.
Sınıf örneklerine bir dizi işaretçi oluşturmamız gerekecek ...
ve MQL4 aracılığıyla?
ve ne yapmalı - "... olası bir anlaşma hakkında anlaşmanın açılmasından 1-2 dakika önce, yani mumun açılmasından önce ...", yani. çubuğun içinde
Sizi https://www.mql5.com/en/forum/208120#comment_5412193 konusuna davet ediyorum.
Bir fikir birliği bulamıyoruz.
Double tipini ekranda göstermeden önce 2 ondalık basamağa normalleştiriyorum ama bazen çalışmıyor. Niye ya? İşte kodun bir parçası.
prof[] yazın - dize
Ve çok buggy
Double tipini ekranda göstermeden önce 2 ondalık basamağa normalleştiriyorum ama bazen çalışmıyor. Niye ya? İşte kodun bir parçası.
prof[] yazın - dize
Ve çok buggy
DoubleToString ()
DoubleToString
Sayısal bir değeri bir metin dizisine dönüştürme.
stringDoubleToString ( _
çift değer , // sayı
int rakam=8 // ondalık basamak sayısı
);
Seçenekler
Geri dönüş değeri
Misal:
Print ( "DoubleToString(120.0+M_PI) : " , DoubleToString (120.0+ M_PI ));
Print ( "DoubleToString(120.0+M_PI,16) : " , DoubleToString (120.0+ M_PI ,16));
Print ( "DoubleToString(120.0+M_PI,-16) : " , DoubleToString (120.0+ M_PI ,-16));
Print ( "DoubleToString(120.0+M_PI,-1) : " , DoubleToString (120.0+ M_PI ,-1));
Print ( "DoubleToString(120.0+M_PI,-20) : " , DoubleToString (120.0+ M_PI ,-20));
Garip bir böcek.
Girişe ekliyoruz:
input datetime test =0;