MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 349
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
Dinamik giriş parametrelerini iCustom aracılığıyla göstergeye geçirmek mümkün müdür? Bunu yapmaya çalıştığımda, her yeni dinamik giriş parametresi için yeni bir gösterge penceresi açılıyor.
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
Artyom
Bu başlıkta, yeni MQL4'te programlamayı gerçekten anlamak ve öğrenmek isteyenlere ve MQL5'e kolayca geçmek isteyenlere yardım etmeye başlamak istiyorum - diller çok benzer.
Burada görevleri, bunları çözmek için algoritmaları ve bu arada, MT için programlama ile bir şekilde veya başka bir şekilde ilgili soruları tartışmak mümkün olacaktır.
Forumumuzun diğer deneyimli katılımcılarının sorunların çözümüne geleceğini ve konu herkesin ilgisini çekeceğini umuyorum.
çözmeme yardım et, danışmana takip eden durdurma işlevini ekledim, derledim, iki hata veriyor. - Kafamı kırdım, baykuş yapmak için nasıl düzelteceğimi anlayamıyorum. Doğru, fiyat sırasıyla kanalın üst sınırına ve alt sınırına dokunduktan sonra işlemler eski stratejinin koşullarına göre kapatılır. Burada da bir şeylerin değişmesi gerektiğini anlıyorum. - DPR ordusunun adamlarına cevap verin.
#property telif hakkı "Telif Hakkı 2017, MetaQuotes Software Corp."
#özellik bağlantısı "https://www.mql5.com"
#özellik sürümü "1.00"
#mülkiyet katı
//------------------------------------------------ ---------
dış çift Lot = 0,01;
harici int TakeProfit = 600;
harici int StopLoss = 25;
harici int Sihir = 0001;
dış int kayma = 3;
harici int TralType = 0; // 0-SAR, 1-ATR, 2-HMA
harici çift SAR_Adım = 0.02;
harici çift SAR_Max = 0,2;
harici int ATR_Period = 14;
harici çift ATR_K = 2.0;
harici int HMA_Period = 16;
harici int HMA_Method = 3;
harici int HMA_Shift = 0;
tarihsaat LBT;
//------------------------------------------------ ---------
extern string TMA = "TMA göstergesinin parametreleri";
extern string TimeFrame = "geçerli zaman çerçevesi";
extern int HalfLength = 56;
extern int Fiyat = PRICE_CLOSE;
harici çift ATRMÇarpan = 2.0;
harici int ATRPeriyot = 100;
extern bool Interpolate = true;
//------------------------------------------------ ---------
çift FiyatYüksek, FiyatDüşük, SL, TP;
int bileti;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int OnInit()
{
if (Rakamlar == 3 || Basamaklar == 5)
{
Kâr Al *= 10;
StopLoss *= 10;
kayma *= 10;
}
dönüş(INIT_SUCCESSED);
}
//+------------------------------------------- --------------------+
//| Uzman başlatmasızlaştırma işlevi |
//+------------------------------------------- --------------------+
geçersiz OnDeinit(const int nedeni)
{
}
//+------------------------------------------- --------------------+
//| Uzman onay işlevi |
//+------------------------------------------- --------------------+
geçersiz OnTick()
{
PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPperiod, Interpolate, 1, 0);
PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPperiod, Interpolate, 2, 0);
if(CountSell() == 0 && Teklif >= FiyatYüksek)
{
bilet = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, 0, 0, "TMA robotu", Magic, 0, Red);
eğer (bilet > 0)
{
SL = NormalizeDouble(Teklif + StopLoss*Puan, Rakamlar);
TP = NormalizeDouble(Teklif - TakeProfit*Puan, Rakamlar);
if (OrderSelect(bilet, SELECT_BY_TICKET))
if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("Satış emri değiştirme hatası !");
}
}
if (CountBuy() == 0 && Sor <= FiyatDüşük)
{
bilet = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robotu", Magic, 0, Blue);
eğer (bilet > 0)
{
TP = NormalizeDouble(Sor + Kâr Al*Puan, Rakamlar);
SL = NormalizeDouble(Sor - Kaybı Durdur*Puan, Rakamlar);
if (OrderSelect(bilet, SELECT_BY_TICKET))
if(!OrderModify(bilet, OrderOpenPrice(), SL, TP, 0))
Print("Satın alma siparişi değiştirilirken hata oluştu!");
} else Print("Satın alma siparişi açılırken hata oluştu");
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int init()
{
//--------
//--------
dönüş(0);
}
//+------------------------------------------- --------------------+
//| Uzman onay işlevi |
//+------------------------------------------- --------------------+
geçersiz OnTick()
{
PriceHigh = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPperiod, Interpolate, 1, 0);
PriceLow = iCustom(NULL, 0, "TMA_Fair", TimeFrame, HalfLength, Price, ATRMultiplier, ATRPperiod, Interpolate, 2, 0);
if(CountSell() == 0 && Teklif >= FiyatYüksek)
{
bilet = OrderSend(Symbol(), OP_SELL, Lot, Bid, Slippage, 0, 0, "TMA robotu", Magic, 0, Red);
eğer (bilet > 0)
{
SL = NormalizeDouble(Teklif + StopLoss*Puan, Rakamlar);
TP = NormalizeDouble(Teklif - TakeProfit*Puan, Rakamlar);
if (OrderSelect(bilet, SELECT_BY_TICKET))
if (!OrderModify(ticket, OrderOpenPrice(), SL, TP, 0))
Print("Satış emri değiştirilirken hata oluştu!");
} else Print("Satış emri açılırken hata oluştu!");
}
if (CountBuy() == 0 && Sor <= FiyatDüşük)
{
bilet = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, 0, 0, "TMA robotu", Magic, 0, Blue);
eğer (bilet > 0)
{
TP = NormalizeDouble(Sor + Kâr Al*Puan, Rakamlar);
SL = NormalizeDouble(Sor - Kaybı Durdur*Puan, Rakamlar);
if (OrderSelect(bilet, SELECT_BY_TICKET))
if(!OrderModify(bilet, OrderOpenPrice(), SL, TP, 0))
Print("Satın alma siparişi değiştirilirken hata oluştu!");
} else Print("Satın alma siparişi açılırken hata oluştu");
}
if (<= FiyatDüşük && CountSell() > 0) sor
{
for (int i = OrdersTotal() -1; i>0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)
if (!OrderClose(OrderTicket(), OrderLots(), Sor, Kayma, Siyah))
Print("Satış emri kapatılırken hata oluştu!");
}
}
}
if (Teklif >= FiyatYüksek && CountBuy() > 0)
{
for (int i = OrdersTotal() -1; i>0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)
if(!OrderClose(OrderTicket(), OrderLots(), Teklif, Kayma, Siyah))
Print("Satın alma siparişi kapatılırken hata oluştu!");
}
}
}
}
//+------------------------------------------- --------------------+
int SaySat()
{
int sayı = 0;
for (int ticaret = OrdersTotal()-1; ticaret>=0; ticaret--)
{
if(Sipariş Seçimi(ticaret, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL)
say++;
}
}
dönüş(sayım);
}//+---------------------------------------------- --------------------+
int CountBuy()
{
int sayı = 0;
for (int ticaret = OrdersTotal()-1; ticaret>=0; ticaret--)
{
if(Sipariş Seçimi(ticaret, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY)
say++;
}
}
dönüş(sayım);
}
//+------------------------------------------- --------------------+
//| Uzman başlatmasızlaştırma işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//+-------
//+-------
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int Başlat()
{
//-----
bool hatası = yanlış;
if (LBT!=Zaman[0]) {
if (Sipariş Toplamı()!=0) {
for (int i=0; i<SiparişlerToplam(); i++) {
if (OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderType()<2) {
çift SL = OrderStopLoss();
if OrderType()==0) {
anahtar(TralType) {
durum 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);
kırmak;
durum 1: SL = Yüksek[1] - iATR(NULL,0,ATR,Period,1)*ATR_K;
kırmak;
durum 2: SL = iCustom(NULL,0,"VininI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,"",1,0,0);
kırmak;
}
if (SL<OrderStopLoss())
SL = OrderStopLoss();
}
if (OrderType()==1) {
anahtar(TralType) {
durum 0: SL = iSAR(NULL,0,SAR_Step,SAR_Max,0);
kırmak;
durum 1: SL = Düşük[1] + iATR(NULL,0,ATR,Period,1)*ATR_K;
kırmak;
durum 2: SL = iCustom(NULL,0,"VininI_HMAsound&",HMA_Period,HMA_Method,3,HMA_Shift, fals,fals,"",1,0,0);
kırmak;
}
if (SL>OrderStopLoss())
SL = OrderStopLoss();
}
if (SL!=OrderStopLoss()) {
if(!OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(),0))
hata=doğru;
}
}
}
}
eğer (!hata)
LBT = Zaman[0];
}
dönüş(0);
}
//+------------------------------------------- --------------------+
Kodlamayı öğrenin !!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
Kodlamayı öğrenin!!!
yardım etmeye karar verdi. Ancak yazara sorular vardı - bu başlatma işlevlerinden ikisine sahipsiniz - ne yapıyorlar?
iki OnTick() işlevi vardır .... Ayrıca, üçüncü işlev int Start()'tır - hepsi bir onay işaretinin gelmesiyle yürütülür. Ve terminal onları hangi sırayla başlatacak?
Hata: OnTick() işlevinin sonunda kapanış ayracı eksik
Şimdi derleyici 8 hata buldu. kaldırıldı
Hatalar 7 oldu
if OrderType()==0) yerine if: if(OrderType()==0) sonrasında bir parantez kullanmanız gerekir - 8 hata var
İki yerde iATR(NULL,0,ATR, Period ,1) - iATR(NULL,0,ATR_Period,1) gerekli - 2 hata var
bool hatası = yanlış; bool hatası = yanlış; - 3 hata var
VininI_HMAsound& göstergesini nereden edinebilirim? Oradaki ayarlar nelerdir? = o zaman hata 1 kalır
Ve neden üç yerde soru soruyorsun?
MT4'te ücretsiz danışmanları ve sinyalleri indirip yüklememe yardım et, bulamıyorum, bulamıyorum, bulamıyorum ama indiremiyorum. Bana nereye bakacağımı söyle
MT4'te ücretsiz danışmanları ve sinyalleri indirip yüklememe yardım et, bulamıyorum, bulamıyorum, yalnızca yükleyebilirim, ancak indiremiyorum. Bana nereye bakacağımı söyle
Önce okulu bitir, sonra gel.
Ve bu yüzden?
Merhaba. Bana neden ima= iMA'yı görmediğini söyle ( Symbol() , 1 , 60 , 0 , 1 , 0 ,k). Yorum yoluyla, satırın kendisinden çok daha yüksek bir alıntı gösterir. Bu nedenle, minimum ve maksimum olması gerektiği gibi hesaplanmaz.
Merhaba. Bana neden ima= iMA ( NULL , 60 , 24 , 0 , 1 , 0 ,k) görmediğini söyle. Yorum yoluyla, satırın kendisinden çok daha yüksek bir alıntı gösterir. Bu nedenle, minimum ve maksimum olması gerektiği gibi hesaplanmaz.
iMA - zaman serilerinde olduğu gibi numaralandırma, 0 - en güncel numara. Ve tam tersi gibisin.
Yanlışlıkla ayarlanmış. Bunu hiçbir şey değiştirmez. K ile yanlış olanı gösteren şeyin özü!