'Tümünü kapat'/'Aç' araçları - sayfa 2

 
glader:
CANLI ticaret yapıyorum. CANLI ticaret yapıyor musunuz? Sorun olabilir mi? Yardım için şimdiden teşekkürler...

Alpari demo hesabıydı.

Yani gerçek hesapla kullanmayı denedin mi?

Aynı zamanda çalışmalı.

 
newdigital:
Alpari demo hesabıydı.

Yani gerçek hesapla kullanmayı denedin mi?

Aynı zamanda çalışmalı.

Evet canlı yayında gerçek hesapla kullanmayı denedim ama hata mesajı geldi...

Biraz kafam karıştı ama yine de yardımın için teşekkürler...

 
glader:
Denedim ama HATA: 4109

Araçlar->Seçenekler->ExpertAdvisors-> V ExpertAdvisors'ı Etkinleştir(...ve Komut Dosyaları)

 
ma6:
Araçlar->Seçenekler->ExpertAdvisors-> V ExpertAdvisors'ı Etkinleştir(...ve Komut Dosyaları)

Çok teşekkür ederim... şimdi çalışıyor !!!

 

Kimiv'den CloseOnTime EA.

Dosyalar:
 
ma6:
Araçlar->Seçenekler->ExpertAdvisors-> V ExpertAdvisors'ı Etkinleştir(...ve Komut Dosyaları)

Hala aynı hatayı alıyorum. " V " ile ne demek istiyorsun?

Teşekkürler

 

bende de aynı sorun var

Sipariş ...... kapatılamadı .Hata:4109

 

Açılan tüm siparişleri kapat

Açılan tüm işlemlerin nasıl kapatılacağı hakkında bir sorum var. Bunlara manuel olarak açılan işlemler de dahildir.

İşte kod:

if(BalanceEquityProtectionLevel > 0 && AccountEquity() <= AccountBalance ()* BalanceEquityProtectionLevel)

{

AllowTrading = yanlış;

Print("Min. Öz Sermaye Düzeyine Ulaşıldı - Alım Satım Durduruldu",Symbol());

// Alert("Min. Öz Sermaye Seviyesine Ulaşıldı - İşlem Durduruldu ",Symbol());

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mod=SiparişTürü();

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }

// }

}

}

Sorun şu ki, birkaç çift açtıysam, tüm işlemlerin de kapatılacağı her zaman doğru değildir. Ayrıca, allowtrading == false parametresine rağmen EA başka bir ticaret açmaya devam etti.

Bu şeyi ayıklıyordum ve bir nedenden dolayı bu kod bloğunun tüm çiftler için yürütülmediğini fark ettim. Neden, bilmiyorum. Bunun cevabını bilen var mı?

Bu blok, açılan tüm emirleri kapatmalı ve daha fazla ticareti önlemelidir.Belki bu sorunu bir dosyaya false parametresini veya başka bir şey yazarak çözebilir miyim? Bu durumdaki sorun, açık emri olmayan çiftlerde de vardır.

Teşekkürler..

dejan

 

İşte uzun zaman önce yazdığım kodum, tüm çalışan pozisyonları kapatacak.

#Dahil etmek

#Dahil etmek

int başlangıç()

{

çift sA;

int cnt, toplamSiparişler;

totalOrders = OrdersTotal();

if (toplamSipariş>0)

{

(cnt=0;cnt<totalOrders;cnt++) için

{

OrderSelect(0, SELECT_BY_POS);

if (OrderType() == OP_BUY) sA = MarketInfo(OrderSymbol(),MODE_BID);

başka sA = MarketInfo(OrderSymbol(),MODE_ASK);

OrderClose(OrderTicket(),OrderLots(),sA,3, CLR_NONE );

}

}

dönüş(0);

}

 

Kodunuz benimkine çok benziyor. Sonuçlar aynı. Bazı şeyleri daha net hale getirmek için bir resim ekledim.

EA, GBPUSD çifti için tüm işlemleri kapatır (resim). Gördüğünüz gibi, bundan sonra başka bir ticaret açıldı. (1, izin verilen ticaretin doğru olduğu, 0 izin verilen ticaretin yanlış olduğu anlamına gelir).

Dosyalar:
image3.jpg  359 kb
Neden: