Nasıl kodlanır? - sayfa 266

 
ixbone:
Herkese selam,

Bir çiftin tüm emirlerini (al ve sat) sihirle toplamak istiyorum ve eğer bir başabaşa ulaşırlarsa, tüm emirler kapatılmalıdır.

herhangi bir rehberlik çok hoş geldiniz, teşekkürler

extern bool PairBreakeven=true;// Aynı çiftin/büyünün tüm siparişleri için çift başına başabaş

extern double Pairbreakevengain=6;// başabaşa olanak sağlamak için gereken pip cinsinden kazanç

extern çift Başabaş=3;// başabaş, sipariş kapatıldı, 3 pip kâr/kayma

çift Pairmovebreakeven;

if(PairBreakeven==true){

if(Pairbreakevengain>0)Pairmovebreakeven(Pairbreakevengain,Pairbreakeven);

CloseBuyOrders(Sihirli);

CloseSellOrders(Sihirli);

}

void Pairmovebreakeven(double Pairbreakevengain,double Pairbreakeven){

Yenileme Oranları();

if(SiparişToplam()>0){

for(int i=OrdersTotal();i>=0;i++){

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic ){

dönüş;

}

}

}

}

int CloseBuyOrders(int Magic){ //op_sell benzer

int toplam=SiparişToplam();

for(int cnt=toplam-1;cnt>=0;cnt--){

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if(OrderMagicNumber()==Magic && OrderSymbol()==Symbol()){

if(OrderType()==OP_BUY){

OrderClose(OrderTicket(),OrderLots(),Bid,3*mt);

}

}

}

dönüş(0);

}

Bu kodla ilgili temel sorun BE işlevindedir, hiçbir zaman gerçekten hareket etmedi, dur ya da herhangi bir işlem yapmadı. Niyetinizi kelimelerle ifade etmezseniz, burada ne yapmaya çalıştığınızı koddan gerçekten tespit edemiyorum.

Kodun, hesabınızdaki zararı durdur=emir açma fiyatı olan tüm emirleri tespit etmesini ve hepsini kapatmasını mı istiyorsunuz? Yani aslında başa baş eylemi diğer EA tarafından mı yapılıyor? Yardım etmek istersin ama ne yapmak istediğini çözemezsin.

 
christinaLi:
Bu kodla ilgili temel sorun BE işlevindedir, hiçbir zaman gerçekten hareket etmedi, dur ya da herhangi bir işlem yapmadı. Niyetinizi kelimelerle ifade etmezseniz, burada ne yapmaya çalıştığınızı koddan gerçekten tespit edemiyorum. Kodun, hesabınızdaki zararı durdur=emir açma fiyatı olan tüm emirleri tespit etmesini ve hepsini kapatmasını mı istiyorsunuz? Yani aslında başa baş eylemi diğer EA tarafından mı yapılıyor? Yardım etmek istersin ama ne yapmak istediğini çözemezsin.

christinaLi,

yanılttığım için özür dilerim.

-Sihirle bir çiftin tüm emirlerini toplamak ve alış, satış, tp, sl'den bağımsız olarak tüm emirlerden elde edilen karı özetlemek istiyorum, örnek: 8 alış ve satış emrimiz var, özetlenen kar 6 pip // dış çift =6;// başabaş noktayı etkinleştirmek için gereken pip cinsinden kazanç

-Eğer bir paritenin (al&sell) tüm emirleri için kar +6 pip ise, tüm emirler (al/sat) sl stoploss cari fiyata ayarlanmalıdır -3 //harici çift Kırma=3;// başabaş, emir kapandı, 3 pip kâr/kayma

-Eger çifte karsi bir paritenin tüm emirlerinin kardan düsüyorsa örnek: 8 karma al/sat emri kar toplam 6'dan 3'e kadar, tüm emirler kapatilir

tek bir başabaş için doğru bir çalışma modülüne sahibim ve bunu kendim değiştirmeye çalıştım, mt4 kod becerilerim yok, yıllar önce montajcıyı öğrendim...

Tek başabaş düzeni işlevini göndermeli miyim?

yardım için teşekkürler

IX

 

Merhaba, IX,

Şimdi ne yapmaya çalıştığını biliyorum. Yapılabilir.

Aynı anda hem alım hem de satım yapabilmeniz nedeniyle işler biraz karmaşık. Çünkü "cari fiyat" hakkında konuştuğunuzda, alımlar için Bid, satışlar için Ask anlamına gelir, çünkü emirleri kapatmak için sadece bunlar gerçekçi fiyattır. Böylece siparişleriniz için stoploss ayarını yaptığınızda herhangi bir noktada görebilirsiniz, alış ve satışlara fark fiyatı verilir. Yayılmanız sabit değilse, siparişlerinizin aynı anda kapanmama olasılığı çoktur, bazen siparişlerinizin yarısının kapanmama olasılığı da vardır.

Bence bunu yapmanın iyi yolu, zararı durdurmayı gerçekten hareket ettirmek değil, bunun yerine EA, toplam 6 pip kâra ulaşıldığında bir hafızayı etkinleştirecek, ardından toplam kâr 3 pip'e düşerken piyasadaki tüm siparişleri kapatacak. Bu durumda, EA emirleri kapatmaya zorlar, MT4 tarafından durdurulmazlar.

 
christinaLi:
Merhaba, IX,

Şimdi ne yapmaya çalıştığını biliyorum. Yapılabilir.

Aynı anda hem alım hem de satım yapabilmeniz nedeniyle işler biraz karmaşık. Çünkü "cari fiyat" hakkında konuştuğunuzda, alımlar için Bid, satışlar için Ask anlamına gelir, çünkü emirleri kapatmak için sadece bunlar gerçekçi fiyattır. Böylece siparişleriniz için stoploss ayarını yaptığınızda herhangi bir noktada görebilirsiniz, alış ve satışlara fark fiyatı verilir. Yayılmanız sabit değilse, siparişlerinizin aynı anda kapanmama olasılığı çoktur, bazen siparişlerinizin yarısının kapanmama olasılığı da vardır.

Bence bunu yapmanın iyi yolu, zararı durdurmayı gerçekten hareket ettirmek değil, bunun yerine EA, toplam 6 pip kâra ulaşıldığında bir hafızayı etkinleştirecek, ardından toplam kâr 3 pip'e düşerken piyasadaki tüm siparişleri kapatacak. Bu durumda, EA emirleri kapatmaya zorlar, MT4 tarafından durdurulmazlar.

Merhaba christinaLi,

%100 katılıyorum, bu karmaşık, ne demek istediğini anlıyorum, belki bir stoploss hareket ettirmeden bir çift (sepet) hesaplaması çözümdür, şöyle:

- çift ve büyü başına tüm siparişleri seçin

- tüm siparişlerin karını özetlemek

- kar toplamı = 6 pip ise

- tüm emirleri kapat, eğer hiçbir kayma olmazsa, başabaş 6pip "kar" olur, eğer kayma 3piplik başabaş için sonuç 3pip "kar" ise

1) avantajı şudur: hiç sorun yok

2) dezavantaj: tüm emirler için (3pip) yer yok, eğer 7 alış ve 6 satım hedge edilmiş emrim varsa, eğer bir alış emri 6 pip artarsa, tüm emirler kapalı, hafızadaki tüm emirleri kapatılacak şekilde işaretleme seçeneği var mı eğer 3 pips (6-3= 3 pips kar) düşüşle 6 pips'e ulaşılırsa (başabaş=doğru) (başabaşkapalı siparişler=doğru)?

7buy ve 6sell hedge edilmiş emirler #1 ile 6 pipin üzerine çıkamazlar, her zaman kapalıdırlar.

#2 ile, 6 pip sadece bir aktivasyon markörüdür, eğer 3 pip'e düşerse, tüm emirleri kapatın, 6 pip'in üzerine çıkarsa, örneğin 15 pip'e yükselirse, +3 pip'ten 15 pip'e kadar boşluk vardır ve bu da 12 pip kar ile sonuçlanır

spread şu anda hesaplanmıyor! çünkü 7 satın alma ve 6 satış, başabaş için 26 pips'e yayılmış 2 pips ile özetliyor, bir satın alma emri için "0" olmalı ve bir satın alma emri için 32 pips ve 1 ile 29 pips olmalı ve bir satın alma emri için 29 pip olmalı - doğru mu?

önerilerin için teşekkürler

IX

 
ixbone:
Merhaba christinaLi,

%100 katılıyorum, bu karmaşık, ne demek istediğini anlıyorum, belki bir stoploss hareket ettirmeden bir çift (sepet) hesaplaması çözümdür, şöyle:

- çift ve büyü başına tüm siparişleri seçin

- tüm siparişlerin karını özetlemek

- kar toplamı = 6 pip ise

- tüm emirleri kapat, eğer hiçbir kayma olmazsa, başabaş 6pip "kar" olur, eğer kayma 3piplik başabaş için sonuç 3pip "kar" ise

1) avantajı şudur: hiç sorun yok

2) dezavantaj: tüm emirler için (3pip) yer yok, eğer 7 alış ve 6 satım hedge edilmiş emrim varsa, eğer bir alış emri 6 pip artarsa, tüm emirler kapalı, hafızadaki tüm emirleri kapatılacak şekilde işaretleme seçeneği var mı eğer 3 pips (6-3= 3 pips kar) düşüşle 6 pips'e ulaşılırsa (başabaş=doğru) (başabaşkapalı siparişler=doğru)?

7buy ve 6sell hedge edilmiş emirler #1 ile 6 pipin üzerine çıkamazlar, her zaman kapalıdırlar.

#2 ile, 6 pip sadece bir aktivasyon markörüdür, eğer 3 pip'e düşerse, tüm emirleri kapatın, 6 pip'in üzerine çıkarsa, örneğin 15 pip'e yükselirse, +3 pip'ten 15 pip'e kadar boşluk vardır ve bu da 12 pip kar ile sonuçlanır

spread şu anda hesaplanmıyor! çünkü 7 satın alma ve 6 satış, başabaş için 26 pips'e yayılmış 2 pips ile özetliyor, bir satın alma emri için "0" olmalı ve bir satın alma emri için 32 pips ve 1 ile 29 pips olmalı ve bir satın alma emri için 29 pip olmalı - doğru mu?

önerilerin için teşekkürler

IX

Sanırım beni yanlış anladınız, istediğiniz şey doğru bir şekilde elde edilebilir, sadece stoploss'ta gerçek bir değişiklik yok. Bugün kodu yapmak ve sizin için göstermek için biraz zaman bulacağım. Christina

 
ixbone:
Merhaba christinaLi,

%100 katılıyorum, bu karmaşık, ne demek istediğini anlıyorum, belki bir stoploss hareket ettirmeden bir çift (sepet) hesaplaması çözümdür, şöyle:

- çift ve büyü başına tüm siparişleri seçin

- tüm siparişlerin karını özetlemek

- kar toplamı = 6 pip ise

- tüm emirleri kapat, eğer hiçbir kayma olmazsa, başabaş 6pip "kar" olur, eğer kayma 3piplik başabaş için sonuç 3pip "kar" ise

1) avantaj: hiç sorun yok

2) dezavantaj: tüm emirler için (3pip) yer yok, eğer 7 alış ve 6 satım hedge edilmiş emrim varsa, eğer bir alış emri 6 pip artarsa, tüm emirler kapalı, hafızadaki tüm emirleri kapatılacak şekilde işaretleme seçeneği var mı eğer 3 pips (6-3= 3 pips kar) düşüşle 6 pips'e ulaşılırsa (başabaş=doğru) (başabaşkapalı siparişler=doğru)?

7buy ve 6sell hedge edilmiş emirler #1 ile 6 pipin üzerine çıkamazlar, her zaman kapalıdırlar.

#2 ile, 6 pip sadece bir aktivasyon markörüdür, eğer 3 pip'e düşerse, tüm emirleri kapatın, 6 pip'in üzerine çıkarsa, örneğin 15 pip'e yükselirse, +3 pip'ten 15 pip'e kadar boşluk vardır ve bu da 12 pip kar ile sonuçlanır

spread şu anda hesaplanmıyor! çünkü 7 satın alma ve 6 satış, başabaş için 26 pips'e yayılmış 2 pips ile özetliyor, bir satın alma emri için "0" olmalı ve bir satın alma emri için 32 pips ve 1 ile 29 pips olmalı ve bir satın alma emri için 29 pip olmalı - doğru mu?

önerilerin için teşekkürler

IX

Aslında şimdi biraz daha düşündüm, istediğin yapılamaz.

Bu oldukça ilginç, bir sürü benzer fonksiyon kodladım, BE intern dolar miktarını veya piplerini hesaplayabilirsiniz, ancak hepsi aynı emir tipidir . Hem alım hem de satım ile yapılamaz. Örneğin, x satın alımınız varsa (farklı lot büyüklüğü olabilir), bir noktada, birlikte eklenen tüm dolar karı 0'dır, yani şimdi BE'desiniz. O zaman satın alırlarsa, 3 pip kâr istiyorsanız, mevcut Teklife 3 pip eklemeniz yeterlidir, o zaman bir hedef fiyatınız olur. Hepsi satarsa, mevcut Ask'tan 3 pip çıkarırsınız, bir hedef fiyatınız olur. Ama hem alım hem de satımınız varsa, ne yaparsınız? ekle veya çıkar?

Aşağıdaki durumda 3 pip kârınız olduğunu nasıl tanımlarsınız? 1.4100'den 1 lot alım, 1.4150'den 2 lot satış?

Yapılabilecek tek şey dolar kârı kullanmak, bence pip kârı değil.

 
christinaLi:
Sanırım beni yanlış anladınız, istediğiniz şey doğru bir şekilde elde edilebilir, sadece stoploss'ta gerçek bir değişiklik yok. Bugün kodu yapmak ve sizin için göstermek için biraz zaman bulacağım. Christina

Teşekkürler Christina,

bilginizi çok takdir ediyorum!

Michael

 
christinaLi:
Aslında şimdi biraz daha düşündüm, istediğin yapılamaz.

Bu oldukça ilginç, bir sürü benzer fonksiyon kodladım, BE intern dolar miktarını veya piplerini hesaplayabilirsiniz, ancak hepsi aynı emir tipidir. Hem alım hem de satım ile yapılamaz. Örneğin, x satın alımınız varsa (farklı lot büyüklüğü olabilir), bir noktada, birlikte eklenen tüm dolar karı 0'dır, yani şimdi BE'desiniz. O zaman satın alırlarsa, 3 pip kâr istiyorsanız, mevcut Teklife 3 pip eklemeniz yeterlidir, o zaman bir hedef fiyatınız olur. Hepsi satarsa, mevcut Ask'tan 3 pip çıkarırsınız, bir hedef fiyatınız olur. Ama hem alım hem de satımınız varsa, ne yaparsınız? ekle veya çıkar?

Aşağıdaki durumda 3 pip kârınız olduğunu nasıl tanımlarsınız? 1.4100'den 1 lot alım, 1.4150'den 2 lot satış?

Yapılabilecek tek şey dolar kârı kullanmak, bence pip kârı değil.

Christina,

Toplama veya çıkarma önemli değil, çünkü 7 alış ve 6 satış emrinin lot toplamı normal kar elde etmek için yeterli olduğundan, bir çiftin tüm emirleri için BE bir güvenlik özelliği olarak çalışmalıdır:

Bu hedge özelliği ile çok fazla marj tasarrufu sağlarsınız, 50 pip gibi adımlarla hesabınız silinmez, normal karlara ulaşılmazsa BE tüm emirleri kapatıp yeni bir sinyal ve ilk emir ile başlamalıdır.

Al/sat sinyali için fiyat hareketini kullanıyorum.

Dosyalar:
unbenannt.png  7 kb
 
ixbone:
Christina,

Toplama veya çıkarma önemli değil, çünkü 7 alış ve 6 satış emrinin lot toplamı normal kar elde etmek için yeterli olduğundan, bir çiftin tüm emirleri için BE bir güvenlik özelliği olarak çalışmalıdır:

Bu hedge özelliği ile çok fazla marj tasarrufu sağlarsınız, 50 pip gibi adımlarla hesabınız silinmez, normal karlara ulaşılmazsa BE tüm emirleri kapatıp yeni bir sinyal ve ilk emir ile başlamalıdır.

Al/sat sinyali için fiyat hareketini kullanıyorum.

İlave bilgi:

- Çeşitlendirme için aynı anda 8-10 majör ticareti yapıyorum (kısmen korelasyon), bu nedenle 0,01 ile 10 çifti 0,1 ile bir çift olarak ticaret yapmak daha iyi

- 25,50,100,200,400 siparişler arasındaki adımlarımı ikiye katlıyorum,

misal:

1. sipariş 1.5000

2. sıra 1.5025

3.........1.050

4.........1.100

ve benzeri

 

Bahsettiğiniz bu fonksiyona yardımcı olmak isterim ama görünüşe göre mantığınızı bir türlü çözemiyorum. Bunun stratejinin diğer mantığıyla gerçekten hiçbir ilgisi yok.

Ben sadece bunu bilmek istiyorum.

1.4110'dan 1 lot alım ve 1.4200'den 2 lot satışınız varsa. Hangi fiyatta 6 pip kazancınız olduğunu düşünüyorsunuz?