[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 67

 

Scripte satırlar ekledim (BUYSTOP ve SELLSTOP eklendi) fakat derlemek istemiyor, hata veriyor. Söyle bana, lütfen, sorun nedir?

#özellik telif hakkı "Telif hakkı © 2010, Vladimir Khlystov"
#özellik bağlantısı "cmillion@narod.ru"
#özellik show_inputs
//------------------------------------------------ --------------------
extern int stoploss = 0, //SL ayar seviyesi, 0 ise SL ayarlanmamıştır
extern int alprofit = 0, //TP ayar seviyesi, 0 ise TP ayarlanmamıştır
harici int Sihir = 123456; //benzersiz sipariş numarası
extern bool SATIN AL = yanlış; // bir SATIN AL emri aç
extern bool SELL = false, // bir SATIŞ emri aç
extern bool BUYSTOP = false, // bir BUYSTOP siparişi aç
extern bool SELLSTOP = false, // bir SELLSTOP siparişi aç
harici çift Parti = 0.1; // sipariş hacmi
dış int kayma = 3; //Piyasa emirleri için izin verilen maksimum fiyat sapması
//------------------------------------------------ --------------------
çift SL,TP;
//------------------------------------------------ --------------------
int başlangıç()
{
eğer (SATIN AL)
{
if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Sor - stoploss*Nokta,Rakamlar); başkaSL=0;
OPENORDER("satın al");
}
eğer (SAT)
{
if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Teklif + stoploss*Puan,Rakamlar); başkaSL=0;
OPENORDER("Sat");
}
eğer (SATIN AL DURDUR)
{
if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Sor - stoploss*Nokta,Rakamlar); başkaSL=0;
OPENORDER("Satın Al Durdur");
}
eğer (SATIŞ DURDUR)
{
if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Teklif + stoploss*Puan,Rakamlar); başkaSL=0;
OPENORDER("Satış Durdur");
}
dönüş(0);
}
//------------------------------------------------ --------------------
void OPENORDER(dize sırası)
{
int hata, hata;
süre (doğru)
{ hata=doğru;
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"BUY",Magic,0,Blue);
if (ord=="Sat") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Teklif,Digits),slippage,SL,TP,"SAT",Magic,0,Red);
if (ord=="BuyStop") error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask,Digits),SL,TP,"BUYSTOP",Magic,0,Blue);
if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid,Digits),SL,TP,"SELLSTOP",Magic,0,Red);
if (hata==-1) // hatalı satın alma tamam
{
GösterERROR();
err++;Sleep(2000);RefreshRates();
}
if (hata || hata >10) döner;
}
dönüş;
}
//------------------------------------------------ --------------------
geçersiz ShowERROR()
{
int err=GetLastError();
geçiş(hata)
{
durum 1: dönüş;
durum 2: Alert("Ticaret sunucusuyla bağlantı yok ",Symbol());dönüş;
durum 3: Alert("Hata geçersiz parametreler ",Symbol());dönüş;
durum 130: Alert("Bilet durakları kapatılırken hata oluştu",Symbol());dönüş;
durum 134: Alert("Yeterli para yok",Symbol()); dönüş;
durum 146: Alert("Hata Ticaret alt sistemi meşgul",Symbol());dönüş;
durum 129: Alert("Hata Yanlış fiyat",Symbol()); dönüş;
durum 131: Alert("Hata Yanlış hacim ",Symbol());dönüş;
case 4200:Alert("Hata Nesnesi zaten var",Symbol());dönüş;
varsayılan: Alert("Hata",hata," ",Symbol());dönüş;
}
}
//------------------------------------------------ --------------------

Şimdiden teşekkür ederim

 
nemo811 :

ve operatörü "," ile değil ";" ile bitirmek mümkün mü?

 
FreeLance :

ve operatörü "," ile değil ";" ile bitirmek mümkün mü?


Teşekkürler, yeni öğreniyorum :))) Teşekkürler.
 
nemo811 :

Teşekkürler, yeni öğreniyorum :))) Teşekkürler.

Teşekkür ederim! aynen böyle... ;)
 
FreeLance :

Teşekkür ederim! aynen böyle... ;)

:)))) Daha da yakıcı bir soru. Bu komut dosyası piyasa emirlerini açar, ancak bekleyen emirleri vermez. Yine bir şeyler karıştırdım. Söyle bana, eğer mümkünse, sorun nedir?
 
nemo811 :

:)))) Daha da yakıcı bir soru. Bu komut dosyası piyasa emirlerini açar, ancak bekleyen emirleri vermez. Yine bir şeyler karıştırdım. Söyle bana, eğer mümkünse, sorun nedir?

ticaret fikri nedir?
 
Bir danışmanım var, bir kedim. "tutamaçlar" tarafından ayarlanan açık siparişler yoksayılır. Senaryo kedisi. Sadece değiştirmeye çalışıyorum ve "manuel" bir siparişi sihirli parametre ile bir siparişe dönüştürmek için tasarlandı. İşte böyle bir fikir.))
 
nemo811 :
Bir danışmanım var, bir kedim. "tutamaçlar" tarafından ayarlanan açık siparişler yoksayılır. Senaryo kedisi. Sadece değiştirmeye çalışıyorum ve "manuel" bir siparişi sihirli parametre ile bir siparişe dönüştürmek için tasarlandı. İşte böyle bir fikir.))


İyi geceler!

Çözemedim o yüzden kapattım.

Ama sen de - acele etme. materyali okuyun!

Manipülasyonun dili ve nesneleri basittir...

Performans bazen topal?

Yani özensizlik her iki tarafta da var.

;)

 

Yukarıdaki kod düzeltildi. Geciktiriciler yüklü değil. Lütfen hatayı bulmama yardım edin.

#özellik telif hakkı "Telif hakkı © 2010, Vladimir Khlystov"
#özellik bağlantısı "cmillion@narod.ru"
#özellik show_inputs
//------------------------------------------------ --------------------
harici int stoploss = 0; // SL ayar seviyesi, 0 ise SL ayarlanmamıştır
harici int kar al = 0; //TP ayar seviyesi, 0 ise TP ayarlanmamıştır
harici int Sihir = 123456; //benzersiz sipariş numarası
extern bool SATIN AL = yanlış; // bir SATIN AL emri aç
extern bool SATIŞ = yanlış; // SATIŞ emrini aç
extern bool BUYSTOP = yanlış; //BUYSTOP emrini aç
extern bool SELLSTOP = yanlış; // SELLSTOP emrini aç
harici çift Parti = 0.1; // sipariş hacmi
dış int kayma = 3; //Piyasa emirleri için izin verilen maksimum fiyat sapması
dış int Uzaklık Kümesi = 20; // Pazardan uzaklık
//------------------------------------------------ --------------------
çift SL,TP;
//------------------------------------------------ --------------------
int başlangıç()
{
eğer (SATIN AL)
{
if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Sor - stoploss*Nokta,Rakamlar); başkaSL=0;
OPENORDER("satın al");
}
eğer (SAT)
{
if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Teklif + stoploss*Puan,Rakamlar); başkaSL=0;
OPENORDER("Sat");
}
eğer (SATIN AL DURDUR)
{
if (kar al!=0) TP = NormalizeDouble(Sor + kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Sor - stoploss*Nokta,Rakamlar); başkaSL=0;
OPENORDER("Satın Al Durdur");
}
eğer (SATIŞ DURDUR)
{
if (kar al!=0) TP = NormalizeDouble(Teklif - kar al*Puan,Rakamlar); başkaTP=0;
if (stoploss!=0) SL = NormalizeDouble(Teklif + stoploss*Puan,Rakamlar); başkaSL=0;
OPENORDER("Satış Durdur");
}
dönüş(0);
}
//------------------------------------------------ --------------------
void OPENORDER(dize sırası)
{
int hata, hata;
süre (doğru)
{ hata=doğru;
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, Lot,NormalizeDouble(Ask,Digits),slippage,SL,TP,"",Magic,0);
if (ord=="Sat") error=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),slippage,SL,TP,"",Magic,0);
if (ord=="BuyStop") error=OrderSend(Symbol(),OP_BUYSTOP, Lot,NormalizeDouble(Ask + DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0);
if (ord=="SellStop") error=OrderSend(Symbol(),OP_SELLSTOP,Lot,NormalizeDouble(Bid - DistanceSet*Point,Digits),slippage,SL,TP,"",Magic,0);
if (hata==-1) // hatalı satın alma tamam
{
GösterERROR();
err++;Sleep(2000);RefreshRates();
}
if (hata || err >10) döner;
}
dönüş;
}
//------------------------------------------------ --------------------
geçersiz ShowERROR()
{
int err=GetLastError();
geçiş(hata)
{
durum 1: dönüş;
durum 2: Alert("Ticaret sunucusuyla bağlantı yok ",Symbol());dönüş;
durum 3: Alert("Hata geçersiz parametreler ",Symbol());dönüş;
durum 130: Alert("Bilet durakları kapatılırken hata oluştu",Symbol());dönüş;
durum 134: Alert("Yeterli para yok",Symbol()); dönüş;
durum 146: Alert("Hata Ticaret alt sistemi meşgul",Symbol());dönüş;
durum 129: Alert("Hata Yanlış fiyat",Symbol()); dönüş;
durum 131: Alert("Hata Yanlış hacim ",Symbol());dönüş;
case 4200:Alert("Hata Nesnesi zaten var",Symbol());dönüş;
varsayılan: Alert("Hata",hata," ",Symbol());dönüş;
}
}
//------------------------------------------------ --------------------

Teşekkür ederim.

 
Dimka-novitsek :


Hayır herşey senin yazdığının tam tersi.Tabiki ilgin için teşekkürler.Çok düşündüm,şu şekilde anladım ve şimdi yanılıyorsun.

Genel olarak problemin istek ve tekliflerde olmadığını görüyorum ve henüz çözemedim.Herkes için ne sorduğumu hatırlatayım.

Sizin açınızdan garip ifadeler var. Düşünce kalesinden elma uçmayacak, ama yine de kafasına tokat atacak ...

Bu kadar ve başka bir şey değil.

Yoksa her şeyin tam tersi olduğu tek bir ülkede mi yaşıyorsunuz: kâr eksi olan bir değer mi? Kendiniz düşünün: 1.0100 fiyatından satın alın, 1.0200 fiyatından satın (bu seviyeden, yani alış fiyatının üzerinde alın). 100 pp kârımız var. Ve başka bir şekilde çalışmayacak. 1.0000'de bir çekim yapmaya çalışırsanız, 130 hatası alırsınız - yanlış duraklar. Al al (OP_BUY) pozisyon açılış fiyatından düşük olamaz. Ancak stop - tam tersi - Buy pozisyonunun açılış fiyatının altında olmalıdır. Satış için bunun tersi doğrudur - alım açılış fiyatından daha düşüktür, stop daha yüksektir.

Görünüşe göre sadece materyal değil, aynı zamanda birinci sınıf için matematik de öğrenmeniz gerekiyor ... Alınma.

Neden: