[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 341
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Kaydedilen çiftler, şablon başlatma sırasında bir kez göstergelere "yönlendirilir", ardından "tamamen bağımsız hale gelirler"/
Tüm değiştirilen parametreler ind. par-ry ind'yi değiştirdiyseniz, şablona kaydedilir. şablonu yeniden kaydedin.
Teşekkür ederim!
mazepa 08.12.2009 17:42
CEVAP: KOD!
Algoritmayı anlarsam, belirlenen zamanda bir alım (satım) açarız, fiyat diğer yönde> 10 puan geçmişse, emri kapatır ve ters yönde dururuz.
Kapatmak için kendi genel işlevimi kullanıyorum.
//Penceredeki tüm piyasa emirlerini kapatma işlevi------------------------------------------ -------------------------------------------------- -- --------
geçersiz _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //Tüm para birimleri için tüm siparişler arasında dolaş
{
if (OrderSelect(i,SELECT_BY_POS)==true) //sipariş başarıyla seçilmişse
{
(OrderSymbol()!=Symbol()) devam ederse; // seçilen sipariş yanlış para birimi içinse, aramaya devam edin
{
switch(OrderType()) // türü (Bue_Sell) gerekli sırayla belirleyin ve kapatın
{
case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
durum 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break;
}
}
}
}
dönüş;
}
Yani şimdi ters yönde açmadan önce _CloseAllOrder() yazmanız yeterlidir.
Arkadaşlar yeni öğreniyorum. Lütfen programın içeriğine bakma, sadece programdaki hatayı bulmama yardım et:
int başlangıç()
{
anahtar(Mevcut Durum)
{
durum STATE_SHORT:
MyOrderTicket = OrderSend (Symbol(), OP_SELL, Lot, Bid, 1, 0, 0,NULL, 1, 0, Red);
OrderSelect(MyOrderTicket,SELECT_BY_TICKET);
if (OrderModify(OrderTicket(),OrderOpenPrice(),Bid+90*Puan,Teklif-Kar1*Puan,0,Yeşil)==true)
{CurrentState=STATE_1;
kırmak;
}
STATE_1 vakası:
OrderSelect(MyOrderTicket,SELECT_BY_TICKET);
if(Sor <= OrderTakeProfit())
{CurrentState=STATE_KISA;
kırmak;
}
if(Teklif >= (OrderOpenPrice()+Profit1*Puan)
{CurrentState=STATE_KISA;
kırmak;
}
}
//----
dönüş(0);
}
Hata: '\end_of_program' - dengesiz sol parantez . Hata nerede?
Arkadaşlar yeni öğreniyorum. Lütfen programın içeriğine bakma, sadece programdaki hatayı bulmama yardım et:
Orada:
gerekli:
Her bellek hücresi için bir kayıt kullanmadan tek boyutlu bir dizi nasıl ilan edilir (mümkün mü)
ve tek boyutlu bir dizi
veya sadece sayısal ve mantıksal sabitler için tek boyutlu dizi!!
Orada:
gerekli:
Teşekkürler arkadaşım!
Bir soru daha var. Eğer (OrdersTotal()==0) ise... açık sipariş sayısı sıfır ise... o zaman ne olacak... GÜN BAŞINA açılan sipariş sayısı sıfır ise.
OrdersDayTotal gibi bir şey yok mu?
hayır, ancak her zaman kendi işlevinizi yazabilirsiniz)
Belirli bir enstrüman için bugün açılan Al ve Sat emirleri dikkate alınır. Ertelenen yok.
if(OrdersDayTotal(Symbol())==0) {...}
bunun gibi bir şey)
mazepa 08.12.2009 17:42
CEVAP: KOD!
Algoritmayı anlarsam, belirlenen zamanda bir alım (satım) açarız, fiyat diğer yönde> 10 puan geçmişse, emri kapatır ve ters yönde dururuz.
Kapatmak için kendi genel işlevimi kullanıyorum.
//Penceredeki tüm piyasa emirlerini kapatma işlevi------------------------------------------ -------------------------------------------------- -- --------
geçersiz _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //Tüm para birimleri için tüm siparişler arasında dolaş
{
if (OrderSelect(i,SELECT_BY_POS)==true) //sipariş başarıyla seçilmişse
{
(OrderSymbol()!=Symbol()) devam ederse; //seçilen sipariş yanlış para birimi içinse, aramaya devam edin
{
switch(OrderType()) // türü (Bue_Sell) gerekli sırada belirle ve kapat
{
case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
durum 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break;
}
}
}
}
dönüş;
}
Yani şimdi ters yönde açmadan önce _CloseAllOrder() yazmanız yeterlidir.
fonksiyon bombası birkaç sayfamı aldı çok teşekkürlermazepa 08.12.2009 17:42
CEVAP: KOD!
Algoritmayı anlarsam, belirlenen zamanda bir alım (satım) açarız, fiyat diğer yönde> 10 puan geçmişse, emri kapatır ve ters yönde dururuz.
Kapatmak için kendi genel işlevimi kullanıyorum.
//Penceredeki tüm piyasa emirlerini kapatma işlevi------------------------------------------ -------------------------------------------------- -- --------
geçersiz _CloseAllOrder()
{
for(int i=0; i<OrdersTotal(); i++) //Tüm para birimleri için tüm siparişler arasında dolaş
{
if (OrderSelect(i,SELECT_BY_POS)==true) //sipariş başarıyla seçilmişse
{
(OrderSymbol()!=Symbol()) devam ederse; //seçilen sipariş yanlış para birimi içinse, aramaya devam edin
{
switch(OrderType()) // türü (Bue_Sell) gerekli sırayla belirleyin ve kapatın
{
case 0:OrderClose(OrderTicket(),OrderLots(),Bid,2);break;
durum 1:OrderClose(OrderTicket(),OrderLots(),Ask,2);break;
}
}
}
}
dönüş;
}
Yani şimdi ters yönde açmadan önce _CloseAllOrder() yazmanız yeterlidir.
bomba işlevi, birkaç sayfamı aldı çok teşekkürler