Kodlama yardımı - sayfa 65

 

İşte emir açık zamanlarını kontrol edecek ve en son açık zamana sahip olanın fiyatını döndürecek bir fonksiyon (önceden emir yoksa 0 dönecektir).

double lastOrderOpenPrice(int magicNumber=0)

{

datetime lastTime = 0;

double lastPrice = 0;

for(int i=OrdersTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

if (lastTime==0)

for(i=OrdersHistoryTotal()-1; i>=0; i--)

{

if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;

if (magicNumber!=0)

if (OrderMagicNumber() != magicNumber) continue;

if (OrderSymbol() != Symbol()) continue;

if (OrderOpenTime() <= lastTime) continue;

lastTime = OrderOpenTime();

lastPrice = OrderOpenPrice();

}

return(lastPrice);

}

[/PHP]

The assumtion is that currently open orders have times more recent than the already closed orders. If you wish to avoid that assumption, comment out this line :

[PHP] if (lastTime==0)

dasio:
Merhaba,

bana son açık siparişin orderopenprice() sonucunu veren bir çift işleve ihtiyacım var.

Biri bana yardım edebilir mi?

Teşekkür ederim
 

Merhaba,

lotieze hesaplamak için bu kodu kullanıyorum. Bazen 131 hatası alıyorum. Kod tamam mı?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

ve Rischio_per_trade = 0,5.

Teşekkür ederim

 

dasio

bu gönderideki işlevi deneyin: https://www.mql5.com/en/forum/general

dasio:
Merhaba,

lotieze hesaplamak için bu kodu kullanıyorum. Bazen 131 hatası alıyorum. Kod tamam mı?

double Lotti1(double StopLoss,double Rischio_per_trade){

double MyLots,AllowedLots,MaxLots,MinLot,StopValue,TickValue;

int RightLots;

AllowedLots=(AccountFreeMargin()* Rischio_per_trade/100);

if (Digits==2 || Digits==4)

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE)/10;

else

TickValue=MarketInfo(Symbol(),MODE_TICKVALUE);

StopValue=StopLoss*TickValue;

MinLot=MarketInfo(Symbol(),MODE_MINLOT);

MaxLots=MarketInfo(Symbol(),MODE_MAXLOT);

RightLots=MathRound(AllowedLots/StopValue);

double soldi_ora = AccountBalance()/100;

MyLots = soldi_ora*(Rischio_per_trade/10);

MyLots = NormalizeDouble(MyLots/StopLoss,2);

MyLots = NormalizeDouble(MyLots/(MarketInfo(Symbol(),MODE_TICKVALUE)/100),2);

MyLots = NormalizeDouble(MyLots/100,2);

return(MyLots);

}[/PHP]

the Stoploss is = [PHP]StopLoss= NormalizeDouble(Ask-SLbuy()-20*Point,5)*10000;

ve Rischio_per_trade = 0,5.

Teşekkür ederim
 

Sevgili arkadaşlar,

Önümüzdeki Yeni Yılda size ve tüm forum üyelerine saygıyla sağlık ve mutluluklar dilerim! Buradaki birçok seçkin ve cömert kodlayıcıya ve bu forum üyelerinden gelen parlak fikirlere gerçekten minnettarım. Hepsi ticaret becerilerimi geliştirmemde bana çok yardımcı oluyor (bu kariyerde hala bir aptal olmama rağmen) )

Son zamanlarda, piyasayı ve ticaret yaklaşımımı gözden geçirdiğimde, bana çok yardımcı olacak bir gösterge düşünüyorum (ve belki başkaları da). Benim fikrim basit, ama onu koda aktarmak benim yeteneğimin ötesinde. Böyle bir göstergenin var olup olmadığını bilmiyorum, bu yüzden fikrimi ayrıntılı olarak açıklayacağım ve birinin bana en uygun olanı bulmama veya yapmama yardımcı olacağını umuyorum.

- Genel fikir : Verilen sabit puan aralığında sürekli olarak piyasa fiyatını takip etmek istiyorum. Gösterge bana, fiyat segmentleri içindeki (sabit aralıkta verilen) fiyat hareketi hakkında bazı gerekli bilgileri verir, örneğin: (1) üst seviye, (2) alt seviye, (3) orta seviye, (4) aralık içindeki çubuk sayısı . Ayrıca, verilen aralıktaki Kontrol Noktası (POC) seviyesini bilmek isterim, ancak kodlamada çok karmaşık olabilir ve çok fazla PC belleği tüketebilir.

- Analoji : "Piyasa Profili", "Fiyat Kanalı" veya "Session HiLo" gibi popüler göstergeler buldum, ... fikrimi paylaşıyorum. Ama hepsi verilen sabit aralığa bağlı olmayan veya yukarıda bahsettiğim gibi bazı özelliklerden yoksun olan Saatlik, Günlük, ... gibi zaman aralıklarıyla sınırlıdır. Fikrimi uyarlamak için onları yeniden kodlamayı denedim ama şu ana kadar başarılı olamadım.

- Gösterge hakkında istek listesi: (1) Girdi parametresi: Sabit puan aralığı; Verilen Aralık dahilinde kapatılan Çubuk Sayısını saymak için kullanılan Zaman Aralığı (dakika, saat veya gün olarak) veya Çubuk Sayısı; Fiyat seviyelerine dokunduğunda uyarı (isteğe bağlı)

(2) Ana grafikte çıktı: aralık seviyelerine (üst, alt, orta) karşılık gelen yatay çizgiyi görüntüleyin ve metin, belirli bir süre için aralık içinde sayılan çubukların sayısını bildirir.

(3) Sürekli güncelleme : bilgi 3 durumda güncellenecektir: (a) fiyat mevcut verilen aralığın yeni Yüksekliğini, (b) mevcut verilen aralığın yeni Düşükünü, (c) mevcut verilen aralıkta giderek daha fazla çubuk konsolide eder.

Genelde tüm bunları manuel olarak yapmak zorunda kalıyorum. Şimdi, göstergenin işimi basitleştirmeye, zaman kazanmaya ve fiyat hareketine odaklanmamı sağlamaya yardımcı olacağını umuyorum. İnternette arama yapıyorum ama böyle bir araç bulamıyorum. Bir tane biliyorsanız veya bir tane yaparsanız, çok minnettar olurum.

İlginiz ve yardımınız için teşekkür ederiz!

Ve yine, Mutlu Yıllar sana!

Saygılarımla,

uzakdoğu

oh göstergenin resmiyle ilgili ekli resmi unuttum

Dosyalar:
 

Fikrimi netleştirmek için başka bir resim ekliyorum:

a) Akım aralığının Yüksek veya Düşük girişi Bar Numarası ile ayrı olarak belirlenir. Yüksek/Düşük, belirli aralık boyutuna ve mevcut piyasa fiyatı hareketine uyarlanabilir.

b) Girilen Çubuk Numarası, geçerli aralıkta kapatılan çubukların sayısını hesaplamak için kullanılır.

c) Tabii ki farklı giriş ayarlarıyla, bir grafiğe göstergeyi birden fazla koyabilirim.

fareastol:
Sevgili arkadaşlar,

Önümüzdeki Yeni Yılda size ve tüm forum üyelerine saygıyla sağlık ve mutluluklar dilerim! Buradaki birçok seçkin ve cömert kodlayıcıya ve bu forum üyelerinden gelen parlak fikirlere gerçekten minnettarım. Hepsi ticaret becerilerimi geliştirmemde bana çok yardımcı oluyor (bu kariyerde hala bir aptal olmama rağmen) )

Son zamanlarda, piyasayı ve ticaret yaklaşımımı gözden geçirdiğimde, bana çok yardımcı olacak bir gösterge düşünüyorum (ve belki başkaları da). Benim fikrim basit, ama onu koda aktarmak benim yeteneğimin ötesinde. Böyle bir göstergenin var olup olmadığını bilmiyorum, bu yüzden fikrimi ayrıntılı olarak açıklayacağım ve birinin bana en uygun olanı bulmama veya yapmama yardımcı olacağını umuyorum.

- Genel fikir : Verilen sabit puan aralığında sürekli olarak piyasa fiyatını takip etmek istiyorum. Gösterge bana, fiyat segmentleri içindeki (sabit aralıkta verilen) fiyat hareketi hakkında bazı gerekli bilgileri verir, örneğin: (1) üst seviye, (2) alt seviye, (3) orta seviye, (4) aralık içindeki çubuk sayısı . Ayrıca, verilen aralıktaki Kontrol Noktası (POC) seviyesini bilmek isterim, ancak kodlamada çok karmaşık olabilir ve çok fazla PC belleği tüketebilir.

- Analoji : "Piyasa Profili", "Fiyat Kanalı" veya "Session HiLo" gibi popüler göstergeler buldum, ... fikrimi paylaşıyorum. Ama hepsi verilen sabit aralığa bağlı olmayan veya yukarıda bahsettiğim gibi bazı özelliklerden yoksun olan Saatlik, Günlük, ... gibi zaman aralıklarıyla sınırlıdır. Fikrimi uyarlamak için onları yeniden kodlamayı denedim ama şu ana kadar başarılı olamadım.

- Gösterge hakkında istek listesi: (1) Girdi parametresi: Sabit puan aralığı; Verilen Aralık dahilinde kapatılan Çubuk Sayısını saymak için kullanılan Zaman Aralığı (dakika, saat veya gün olarak) veya Çubuk Sayısı; Fiyat seviyelerine dokunduğunda uyarı (isteğe bağlı)

(2) Ana grafikte çıktı: aralık seviyelerine (üst, alt, orta) karşılık gelen yatay çizgiyi görüntüleyin ve metin, belirli bir süre için aralık içinde sayılan çubukların sayısını bildirir.

(3) Sürekli güncelleme : bilgi 3 durumda güncellenecektir: (a) fiyat mevcut verilen aralığın yeni Yüksekliğini, (b) mevcut verilen aralığın yeni Düşükünü, (c) mevcut verilen aralıkta giderek daha fazla çubuk konsolide eder.

Genelde tüm bunları manuel olarak yapmak zorunda kalıyorum. Şimdi, göstergenin işimi basitleştirmeye, zaman kazanmaya ve fiyat hareketine odaklanmamı sağlamaya yardımcı olacağını umuyorum. İnternette arama yapıyorum ama böyle bir araç bulamıyorum. Bir tane biliyorsanız veya bir tane yaparsanız, çok minnettar olurum.

İlginiz ve yardımınız için teşekkür ederiz!

Ve yine, Mutlu Yıllar sana!

Saygılarımla,

uzakdoğu

oh göstergenin resmiyle ilgili ekli resmi unuttum
Dosyalar:
 

Sonuçta kendim bir şeyler yaptığımı düşünüyorum. Şimdi sizlerle paylaşıyorum.

Göstergenin içinde belirtildiği gibi, hiçbir şey icat etmiyorum, sahip olduğum iki ilgili göstergeyi karıştırmanız yeterli. Belki iyi "karışık" değildir

Lütfen bir göz atın ve faydalı olduğunu düşünüyorsanız daha iyi hale getirin!

 

Birden çok dikdörtgen nesne çizin

Merhaba,

son n mumu kontrol ederek birden fazla dikdörtgen çizmeye çalışıyorum.

Noktanın basit bir kuralı var.

Ekte bir örnek var.

Arka planı olmayan büyük dikdörtgen kuralı tanımlar (hareketli everage kullanarak 1. noktadan 2. noktaya dahil edilen fiyatı kontrol edin).

Dikdörtgeni çizme noktası, aralığın en yükseğine sahip çubuğun en yüksek ve en alçak noktasıdır.

Nasıl kodlayabilirim?

Cevabın için teşekkürler.

üzgünüm,

şimdi resim ekleyemiyorum Ancak, iki Hareketli Ortalamaya sahip olduğumuzu varsayalım. Nokta 1, hızlı MA'nın yavaş MA'nın yukarıya ve nokta 2, hızlı MA'nın aşağı yavaş MA'nın çarpısıdır.

 

Ekli rsi grafik çubukları göstergesini değiştirmeme yardımcı olabilecek var mı ???

Bu gösterge, RSi 50 seviyesinin üzerindeyken mavi çubukları ve bu seviyenin altında kırmızı çubukları görüntüler.

Aslında 50 seviyesi, RSI'nin orta seviyesidir. Gerçek aşırı alım ve aşırı satım seviyeleri olan 70 ve 30'da iki seviye daha eklenmesi çok faydalı olacaktır. ve RSI bu iki seviyeyi 70/30 geçtiğinde, mumlar da renk değiştirmelidir. Herhangi bir yardım için gerçekten minnettar olurum ve şimdiden teşekkürler.

Dosyalar:
 

Laszlo,

Bu sürümü deneyin. Hala 2 seviye ile çalışıyor ancak 3 durum gösteriyor (veya daha doğrusu göstermiyor). Seviyeler kırıldığında veya düştüğünde çubukları renklendirir ve rsi değeri 2 seviye arasındaysa çubukları olduğu gibi bırakır (böylece basitler, gösterge tarafından renklendirilmezler, çubuklar) İşte nasıl göründüğüne bir örnek gibi ve "normal" rsi ile karşılaştırması:

Laszlo:
Ekli rsi grafik çubukları göstergesini değiştirmeme yardımcı olabilecek var mı ???

Bu gösterge, RSi 50 seviyesinin üzerindeyken mavi çubukları ve bu seviyenin altında kırmızı çubukları görüntüler.

Aslında 50 seviyesi, RSI'nin orta seviyesidir. Gerçek aşırı alım ve aşırı satım seviyeleri olan 70 ve 30'da iki seviye daha eklenmesi çok faydalı olacaktır. ve RSI bu iki seviyeyi 70/30 geçtiğinde, mumlar da renk değiştirmelidir. Herhangi bir yardım için gerçekten minnettar olurum ve şimdiden teşekkürler.
Dosyalar:
 
fareastol:
Sonuçta kendim bir şeyler yaptığımı düşünüyorum. Şimdi sizlerle paylaşıyorum.

Göstergenin içinde belirtildiği gibi, hiçbir şey icat etmiyorum, sahip olduğum iki ilgili göstergeyi karıştırmanız yeterli. Belki iyi "karışık" değildir

Lütfen bir göz atın ve faydalı olduğunu düşünüyorsanız daha iyi hale getirin!

Fareastol, menzil göstergenizi beğendim ve "başlangıç noktası" sürükleme (sahip olduğunuz) ve "bitiş noktası sürükleme" ekleyebilirseniz bunun harika olacağını düşünüyorum ve ardından o dönem için otomatik olarak menzil çizecektir.