Kodlama yardımı - sayfa 439

 
neverbeast:
Tekrar merhaba.

Bu yüzden oklarla basit bir gösterge yaptım. Maalesef onları istediğim gibi çizmiyor. Amacım, koşullar sağlandığında ok göstermekti, ancak koşullar artık karşılanmadığında o oku silmeli. Örnek olarak: 15 saniye içinde mevcut mum koşulları karşılanır ve bir ok çizer, ardından yön değiştirir ve koşullar artık karşılanmaz, bu nedenle mevcut mum kapanmadan önce o oku silmelidir. Şu anda, koşullar karşılandığında ve hiç yeniden boyamadığında oklar çiziyor, ayrıca ITM'ye mi yoksa OTM/ATM'ye mi gittiğini gösteren ve yenilenene kadar hiç çizim yapmayan sona erme okları var. Birisi bir göz atıp düzeltmeme yardım edebilir mi, lütfen?

6s.mq4

Koddaki ilk 15 saniye için bir çekiniz yok. Neden o çeki de eklemiyorsun?

 
mladen:
Koddaki ilk 15 saniye için bir çekiniz yok. Neden o çeki de eklemiyorsun?

Benim hatam. Burada tarif ettiğim göstergenin başka bir versiyonuydu. Her neyse, mql4 kodlamada acemiyim ve bunun nasıl yapılacağı hakkında hiçbir fikrim yok. Nasıl çalıştığını küçük bir öğretici ile bu kod parçasını yazabilir misiniz?

 
neverbeast:
Benim hatam. Burada tarif ettiğim göstergenin başka bir versiyonuydu. Her neyse, mql4 kodlamada acemiyim ve bunun nasıl yapılacağı hakkında hiçbir fikrim yok. Nasıl çalıştığını küçük bir öğretici ile bu kod parçasını yazabilir misiniz?

Bunu yapabilirsiniz :

if (TimeCurrent()-Time[0])>15) return(0);

Bunu start() prosedürünün başına (içindeki ilk satır olarak) yerleştirin ve mevcut mumun başlangıcından itibaren geçen saniye sayısı 15'ten büyükse kodun geri kalanının yürütülmesini önleyecektir.

 

Bir EA koduna sahibim ama becerilerim .....hiçbiri. Derlemeye çalıştım, hataları giderin ama şans yok.

yardımcı olabilecek var mı??

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Fiyat Eylem V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" harici çift Lot = 1; dış çift TP = 100; harici int TradeType = 0; // trendi takip etmek için 0, satın almaya zorlamak için 1, satmaya zorlamak için 2 dış int kaldıraç = 5; harici çift MaximumLossinMoney = 1000; harici int SihirliSayı = 250346; extern bool UseAlerts = yanlış; //+-------------+ //| Özel başlangıç | //|-------------+ int init() { } //+----------------+ //| Özel DE başlatma | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Uyarısı", "Yeni sipariş verildi eklendi "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Mevcut Fiyat: " + Kapat[0]); dönüş; } void DrawHorizentalLine() { ObjectCreate("TPrfit", OBJ_HLINE, 0, Zaman[1], Kapat[0]+500*Nokta); ObjectSet("Kar", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------- --------------------------+ //| Her şeyi kapatır //+------------------------------------------------ ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } //+------------------------------------------------- --------------------------+ //| kâr amaçlı tüm siparişleri iptal eder //+------------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- --------+ //| bekleyen tüm siparişleri iptal eder //+------------------------------------------- --------------------------+ //+-----------+ //| Ana | //+-----------+ int start() { int OrdersBUY, bilet; int SiparişlerSELL; çift BuyLot, SellLot, BuyProfit, SellProfit; //+------------------------------------------- -------------------+ // Son sipariş fiyatını belirle | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+kaldıraç*TP*Point,"MLTrendETF",MagicNumber,0,Green); TicaretTürü=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } if(OrdersTotal()==0 && TradeType ==2) { bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", MagicNumber,0,Yeşil); TicaretTürü = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } } // Başlat()

 

Üzgünüm, burada her şey karışık değil

//|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Fiyat Eylem V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" harici çift Lot = 1; dış çift TP = 100; harici int TradeType = 0; // trendi takip etmek için 0, satın almaya zorlamak için 1, satmaya zorlamak için 2 dış int kaldıraç = 5; harici çift MaximumLossinMoney = 1000; harici int SihirliSayı = 250346; extern bool UseAlerts = yanlış; //+-------------+ //| Özel başlangıç | //|-------------+ int init() { } //+----------------+ //| Özel DE başlatma | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Uyarısı", "Yeni sipariş verildi eklendi "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Mevcut Fiyat: " + Kapat[0]); dönüş; } void DrawHorizentalLine() { ObjectCreate("TPrfit", OBJ_HLINE, 0, Zaman[1], Kapat[0]+500*Nokta); ObjectSet("Kar", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------- --------------------------+ //| Her şeyi kapatır //+------------------------------------------------ ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } //+------------------------------------------------- --------------------------+ //| kâr amaçlı tüm siparişleri iptal eder //+------------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- --------+ //| bekleyen tüm siparişleri iptal eder //+------------------------------------------- --------------------------+ //+-----------+ //| Ana | //+-----------+ int start() { int OrdersBUY, bilet; int SiparişlerSELL; çift BuyLot, SellLot, BuyProfit, SellProfit; //+------------------------------------------- -------------------+ // Son sipariş fiyatını belirle | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+kaldıraç*TP*Point,"MLTrendETF",MagicNumber,0,Green); TicaretTürü=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } if(OrdersTotal()==0 && TradeType ==2) { bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", MagicNumber,0,Yeşil); TicaretTürü = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } } // Başlat()

 
godrich:
Üzgünüm, burada her şey karışık değil //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Fiyat Eylem V1 / / hodhabi@gmail.com //|$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #define NL "\n" harici çift Lot = 1; dış çift TP = 100; harici int TradeType = 0; // trendi takip etmek için 0, satın almaya zorlamak için 1, satmaya zorlamak için 2 dış int kaldıraç = 5; harici çift MaximumLossinMoney = 1000; harici int SihirliSayı = 250346; extern bool UseAlerts = yanlış; //+-------------+ //| Özel başlangıç | //|-------------+ int init() { } //+----------------+ //| Özel DE başlatma | //+----------------+ int deinit() { } void sendEmail() { if (UseAlerts==true) SendMail("YTF Uyarısı", "Yeni sipariş verildi eklendi "+OrdersTotal()+" Balance = " +AccountBalance() + " Equity = "+AccountEquity() +" Mevcut Fiyat: " + Kapat[0]); dönüş; } void DrawHorizentalLine() { ObjectCreate("TPrfit", OBJ_HLINE, 0, Zaman[1], Kapat[0]+500*Nokta); ObjectSet("Kar", OBJPROP_STYLE, STYLE_SOLID); ObjectSet("Tprofit", OBJPROP_COLOR, MediumSeaGreen); } //+------------------------------------------------- --------------------------+ //| Her şeyi kapatır //+------------------------------------------------ ---------------------------+ void CloseAll() { for(int i=OrdersTotal()-1;i>=0;i --) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()== MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllBuy() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_BUY && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } void CloseAllSell() { for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS); bool sonucu = yanlış; if ( OrderType() == OP_SELL && OrderMagicNumber()==MagicNumber) sonuç = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red ); if (UseAlerts) PlaySound("alert.wav"); } dönüş; } //+------------------------------------------------- --------------------------+ //| kâr amaçlı tüm siparişleri iptal eder //+------------------------------------------- --------------------------------+ //+-------------- -------------------------------------------------- --------+ //| bekleyen tüm siparişleri iptal eder //+------------------------------------------- --------------------------+ //+-----------+ //| Ana | //+-----------+ int start() { int OrdersBUY, bilet; int SiparişlerSELL; çift BuyLot, SellLot, BuyProfit, SellProfit; //+------------------------------------------- -------------------+ // Son sipariş fiyatını belirle | //------------------------------------------------ -------------------+ if(OrdersTotal()==0 && TradeType ==1 ) { bilet=OrderSend(Symbol(),OP_BUY,Lots,Ask,3 ,Ask-TP*Point,Ask+kaldıraç*TP*Point,"MLTrendETF",MagicNumber,0,Green); TicaretTürü=2; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } if(OrdersTotal()==0 && TradeType ==2) { bilet=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+TP*Point,Bid-TP*leverage*Point,"MLTrendETF", MagicNumber,0,Yeşil); TicaretTürü = 1; if(ticket>0) { if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) sendEmail(); } else Print("SATIN AL emri açılırken hata oluştu: ",GetLastError()); dönüş(0); } } // Başlat()

tanrı zengini

mq4 dosyasını ekleyebilir misiniz

Bu şekilde meta düzenleyiciye yapıştırılırsa kullanılamaz hale gelir.

 

Bunun işe yarayıp yaramadığından emin değilim ama...

Dosyalar:
pac.mq4  5 kb
 

Merhaba.

Şamdanımın üzerine kırmızı veya yeşil bir çizgi çizen PetD göstergesini buldum. Merak ettiğim şey, bunun yerine renkli bir histogram şeridi yapmanın herhangi bir olasılığı olup olmadığı.

Böylece yeşil veya kırmızı çubuklu ayrı bir pencerem olabilir.

teşekkürler

pet-d_full_option.mq4

Dosyalar:
 
NWFstudent:
Merhaba.

Şamdanımın üzerine kırmızı veya yeşil bir çizgi çizen PetD göstergesini buldum. Merak ettiğim şey, bunun yerine renkli bir histogram şeridi yapmanın herhangi bir olasılığı olup olmadığı.

Böylece yeşil veya kırmızı çubuklu ayrı bir pencerem olabilir.

teşekkürler

pet-d_full_option.mq4

NWFöğrenci

İşte o tip de : pet-d_full_option_-_separate.mq4

Dosyalar:
 
makototokyo:
Merhaba,

bu gösterge iyi uyarı vermiyor gibi görünüyor. Mt4 başlatıldıktan sonra sadece bir kez uyarı verdiğini ve 1. uyarıdan sonra ses çıkarmadığını hissediyorum. Ayrıca sadece bar "doruk" olduğunda ses çıkardığını da fark ettim.. ama bar "yükselirken" ses çıkarmasını istiyorum.

Ses seviyesi göstergesi için bu kodu düzeltebilecek olan var mı?

Aynı şeyi bu mum göstergesi için yapacak vaktiniz varsa, bunu takdir ediyorum, ancak çok fazla zamanınızı almak istemiyorum.

Şimdiden teşekkür ederim.

Makototokyo, ayrı pencere versiyonundaki uyarıları "boğa yükselişi ve ayı yükselişi" uyarılarını kullanacak şekilde değiştirdi ve bu versiyonda düzgün çalışıyor olmaları gerekiyor.