[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 910
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
Victor, başbakana bak lütfen.
Testere
OrderSend() (anladığım kadarıyla) her kene üzerinde ateşlenir. Sorunu çözmek için, başlatma işlevinden önce bir değişken bildirin, örneğin int H=0 .
Diğer kod:
.........
eğer ( H==0)
{
OrderSend(falan filan);
}
H=1;
Ve cebire ihtiyacınız yok. Ve kısıtlama için OrdersTotal () kullanmamak daha iyidir.
bu anlaşılabilir, her şey benim için çalışıyor, yani 1 sipariş açıyorum ve bir sonraki kene açılmıyor
ikinci düzen, ikincisi yalnızca birincisi kapandığında gereklidir
Eğer yanılmıyorsam, o zaman belki öyledir?
int H=0;
int F=SiparişToplam();
.........
eğer(F<1)
{
eğer ( H==0)
{
Sipariş Gönder (falan filan);
}
H=1;}
Eğer yanılmıyorsam, o zaman belki öyledir?
int H=0;
int F=SiparişToplam();
.........
eğer(F<1)
{
eğer ( H==0)
{
OrderSend(falan filan);
}
H=1;}
bu anlaşılabilir, her şey benim için çalışıyor, yani 1 sipariş açıyorum ve bir sonraki kene açılmıyor
ikinci düzen, ikincisi yalnızca birincisi kapandığında gereklidir
Hepinize iyi günler. Danışman yazma konusunda güçlü değilim, bu konuyu incelemeye çalıştım ama yeni başladım ve benim için oldukça zor. Fiyat hareketli ortalamayı geçtiğinde fırsatlar açacak ve fiyat geri döndüğünde, zararı durdur veya takip eden durdurma ile kapatacak bir Uzman Danışman yazmak istiyorum. Böyle bir danışmanın bir örneğini buldum, ancak takip eden bir stop veya stoploss yok ve anlaşmalar sadece kavşakta açılıp kapanıyor. Kendimde bilgi eksikliğim var. Lütfen, takip eden durdurma ve durdurma kaybını eklemeniz gereken birine ve çalışması için doğru şekilde nasıl yapılacağına yardım edin:
# mülkiyet telif hakkı "Jake Sunders"
#özellik bağlantısı "feloq@mail.ru"
#define DURUM_KARE 0
#define STATE_LONG 1
#define STATE_SHORT 2
//---- giriş parametreleri
extern int MAPeriod=26;
dış çift LotNumber=1.0;
harici çift sondaki durdurma = 50;
harici çift StopLoss= 50;
//---- genel değişkenler
int CurrentState;
int MyOrderTicket;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
if (iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0) > Kapat[0])
CurrentState = STATE_SHORT;
yoksa CurrentState = STATE_LONG;
MyOrderTicket = 0;
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
int hata;
çiftMA;
MA = iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0);
if (CurrentState == STATE_LONG)
{
if (MA > Kapat[1]) // hareketli ortalama kapanış fiyatının üzerinde
{
CurrentState = STATE_SHORT;
// satmak için çevir
//---açıldıysa pozisyonu kapat
if (MyOrderTicket != 0)
{
if (!OrderClose(MyOrderTicket, LotsNumber, Bid, 3, CLR_NONE))
{
hata = GetLastError();
Print("Kapanış pozisyonunda hata: ", hata);
dönüş(0);
}
MyOrderTicket = 0;
}
Yeniler();
//--- uzun pozisyon başarıyla kapatıldı
//--- şimdi bir satış pozisyonu aç
//--- mevcut fonları kontrol et
MyOrderTicket = OrderSend(Symbol(), OP_SELL, LotsNumber, Bid, 3, 0, 0,
NULL, 0, 0, CLR_NONE);
eğer (MyOrderTicket<0)
{
hata = GetLastError();
Print("Hata açma konumu: ", hata);
MyOrderTicket = 0;
}
}
}
başka
{
if (MA < Kapat[1]) // hareketli ortalama kapanış fiyatının altında
{
CurrentState = STATE_LONG;
// satın almak için çevir
//---açıldıysa pozisyonu kapat
if (MyOrderTicket != 0)
{
if (!OrderClose(MyOrderTicket, LotsNumber, Sor, 3, CLR_NONE))
{
hata = GetLastError();
Print("Kapanış pozisyonunda hata: ", hata);
dönüş(0);
}
MyOrderTicket = 0;
}
Yeniler();
//--- kısa pozisyon başarıyla kapatıldı
//--- şimdi bir satın alma pozisyonu açın
//--- mevcut fonları kontrol et
MyOrderTicket = OrderSend(Symbol(), OP_BUY, LotsNumber, Ask, 3, 0, 0,
NULL, 0, 0, CLR_NONE);
eğer (MyOrderTicket<0)
{
hata = GetLastError();
Print("Hata açma konumu: ", hata);
MyOrderTicket = 0;
}
}
}
//----
dönüş(0);
}
Millet, söyleyin lütfen! Bir mum veya mumların bitiminde bir pozisyon nasıl açılır ve kapanır? Yani yeni bir mum açılınca açılır, kapanır.
aynı mumu veya verilen herhangi birini kapatırken? ve herhangi bir pozisyon açma koşulu için mumun kapanışındaki göstergenin değerleri nasıl alınır?
Yaklaşık 50-100 pozisyon için aynı fiyattan açık alım satım emirlerim var,
benim için sadece bir sipariş nasıl açılır, yanılmıyorsam OrdersTotal()
ve eğer öyleyse, nasıl kullanılır? ve nereye koymak? aksi takdirde bu fonksiyon olmadan tüm cebirin sürülmesi gerektiğini hissediyorum.
İşlem yapmak için yanlış koşullar, iki MA örneğine bakın.
Hepinize iyi günler. Danışman yazma konusunda güçlü değilim, bu konuyu incelemeye çalıştım ama yeni başladım ve benim için oldukça zor. Fiyat hareketli ortalamayı geçtiğinde fırsatlar açacak ve fiyat geri döndüğünde, zararı durdur veya takip eden durdurma ile kapatacak bir Uzman Danışman yazmak istiyorum. Böyle bir danışmanın bir örneğini buldum, ancak takip eden bir stop veya stoploss yok ve anlaşmalar sadece kavşakta açılıp kapanıyor. Ben kendim bilgi eksikliği çekiyorum. Lütfen, takip eden durdurma ve durdurma kaybını eklemeniz gereken birine ve çalışması için doğru şekilde nasıl yapılacağına yardım edin:
# mülkiyet telif hakkı "Jake Sunders"
#özellik bağlantısı "feloq@mail.ru"
#define DURUM_KARE 0
#define STATE_LONG 1
#define STATE_SHORT 2
//---- giriş parametreleri
extern int MAPeriod=26;
dış çift LotNumber=1.0;
harici çift sondaki durdurma = 50;
harici çift StopLoss= 50;
//---- genel değişkenler
int CurrentState;
int MyOrderTicket;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//----
if (iMA(NULL, 0, MAPeriod, 0, MODE_SMA, PRICE_CLOSE, 0) > Kapat[0])
CurrentState = STATE_SHORT;
yoksa CurrentState = STATE_LONG;
MyOrderTicket = 0;
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()
{
//----
int hata;
çiftMA;
MA = iMA(NULL, 0, MAPeriod, 0, MODE_EMA, PRICE_CLOSE, 0);
if (CurrentState == STATE_LONG)
{
if (MA > Kapat[1]) // hareketli ortalama kapanış fiyatının üzerinde
{
CurrentState = STATE_SHORT;
// satmak için çevir
//---açıldıysa pozisyonu kapat
if (MyOrderTicket != 0)
{
if (!OrderClose(MyOrderTicket, LotsNumber, Bid, 3, CLR_NONE))
{
hata = GetLastError();
Print("Kapanış pozisyonunda hata: ", hata);
dönüş(0);
}
MyOrderTicket = 0;
}
Yeniler();
//--- uzun pozisyon başarıyla kapatıldı
//--- şimdi bir satış pozisyonu aç
//--- mevcut fonları kontrol et
MyOrderTicket = OrderSend(Symbol(), OP_SELL, LotsNumber, Bid, 3, 0, 0,
NULL, 0, 0, CLR_NONE);
eğer (MyOrderTicket<0)
{
hata = GetLastError();
Print("Hata açma konumu: ", hata);
MyOrderTicket = 0;
}
}
}
başka
{
if (MA < Kapat[1]) // hareketli ortalama kapanış fiyatının altında
{
CurrentState = STATE_LONG;
// satın almak için çevir
//---açıldıysa pozisyonu kapat
if (MyOrderTicket != 0)
{
if (!OrderClose(MyOrderTicket, LotsNumber, Sor, 3, CLR_NONE))
{
hata = GetLastError();
Print("Kapanış pozisyonunda hata: ", hata);
dönüş(0);
}
MyOrderTicket = 0;
}
Yeniler();
//--- kısa pozisyon başarıyla kapatıldı
//--- şimdi bir satın alma pozisyonu açın
//--- mevcut fonları kontrol et
MyOrderTicket = OrderSend(Symbol(), OP_BUY, LotsNumber, Ask, 3, 0, 0,
NULL, 0, 0, CLR_NONE);
eğer (MyOrderTicket<0)
{
hata = GetLastError();
Print("Hata açma konumu: ", hata);
MyOrderTicket = 0;
}
}
}
//----
dönüş(0);
}
Bu örneğe göz atın