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
Merhaba,
Biri bana bu kodda neyin yanlış olduğunu söyleyebilir mi?
Hiç sipariş açmıyor mu?
2007.01.03'te tekrar test ediyorum
Şerefe
extern string StrStartOrderTime = "20:00";
extern string StrEndOrderTime = "23:59";
extern double MyBidPrice = 1.3271;
int CountOrder = 0, BuyMagicNumber, SellMagicNumber;
extern double Lots = 1;
extern int StopLoss = 35;
extern int TakeProfit = 8;
extern bool FlagBuy = false;
int x, b, FindMagicSell, TicketSell, FindMagicBuy, TicketBuy;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
MyBidPrice = 1.3271;
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
int GetPosition, StartOrderTime, EndOrderTime, o;
GetPosition = StrToTime(StrGetPosition);
StartOrderTime = StrToTime(StrStartOrderTime);
EndOrderTime = StrToTime(StrEndOrderTime);
if (TimeCurrent() >= StartOrderTime && TimeCurrent() <= EndOrderTime)
{
FlagBuy = true;
//+------------
//| Posisi BUY
//+------------
if (FlagBuy == true)
{
if ((MyBidPrice == Bid) && (CountOrder < 6))
{
CountOrder++;
BuyMagicNumber = StrToInteger("1" + CountOrder + Day() + Month() + Year());
o = OrderSend(Symbol(),OP_BUY,Lots,Bid,3,Bid-StopLoss*Point,Bid+TakeProfit*Point,"Test",BuyMagicNumber,0,Green);
if (o < 1) MessageBox("ERROR!!");
if (CountOrder > 1) ModifyBuy();
if (CountOrder == 5) FlagBuy = false;
MyBidPrice = Bid - (2*Point);
}
ShowComment();
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
void ModifyBuy()
{
for (x = 1; x < CountOrder; x++)
{
FindMagicBuy = StrToInteger("1" + x + Day() + Month() + Year());
for (b = 0; b < OrdersTotal(); b++)
{
OrderSelect(b,SELECT_BY_POS, MODE_TRADES);
if (OrderMagicNumber() == FindMagicBuy)
{
TicketBuy = OrderTicket();
OrderSelect(TicketBuy,SELECT_BY_TICKET);
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),OrderTakeProfit()-(2*Point),0);
break;
}
}
}
}
void ShowComment()
{
Comment("DayOfWeek = ",DayOfWeek(),"\nFLAG BUY : ",FlagBuy,"\nCount Order ",CountOrder,"\nNext order = ",MyBidPrice,"\nBID = ",Bid,"\nTime : ",TimeToStr(TimeCurrent(),TIME_MINUTES));
}Gösterge İçin MQ4 Dosyası Bulunamıyor
Umarım birileri bana başlangıçta oldukça basit olacağını düşündüğüm bir konuda yardımcı olabilir. Aslında Metatrader ile birlikte gelen bir göstergeye sesli bir uyarı koymak istedim, böylece belirli bir seviyeye ulaştığında bana söyleyecektir. Gösterge Force Index'tir, ancak bunun için Uzmanlar/Göstergeler klasöründe hiçbir yerde bir MQ4 dosyası bulamıyorum. Dosyayı nerede bulabileceğime dair bir fikri olan var mı?
Eğer mq4 dosyasını bulabilirsem, bu konunun başında Codersguru tarafından verilen kodu bir uyarı eklemek için kullanabileceğimi varsaymakta haklı mıyım?
Teşekkürler
referans Önceki Yazı
Yukarıdaki yazıdan sorunumu çözmeyi başardım.
İlgi için herkese teşekkürler.
Merhaba,
Biri bana bu kodda neyin yanlış olduğunu söyleyebilir mi?
Hiç sipariş açmıyor mu?
2007.01.03'te tekrar test ediyorum
Şerefe
Teklif fiyatından satın alamazsınız.
@Michel :
Aman tanrım... ne kadar aptalım..
teşekkür ederim..
Hedging ile ilgili yardım
Herkese selam!
Bir EA oluşturmak için sufx.com adresindeki Expert Advisor Builder'ı kullandım. Kurtulmaya çalıştığım iki sınırlaması var:
1. Bir seferde sadece 1 işlem açar. Aynı anda iki işlemin açılmasını sağlayabilirim, ancak aynı anda hem alış hem de satış emri açmasını sağlayamıyorum.
2. Alış emirleri yerine satış emirlerini tercih ediyor gibi görünüyor. 1 numaralı sorun çözülmüş olsaydı, bu gerçekten bir sorun olmazdı.
İşte beni tutuyor gibi görünen kod parçası:
bool IsTrade = False;
for (int i = 0; i < Total; i ++) {
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
IsTrade = True;
if (OrderType() == OP_BUY) {
//CloseBaska öneri? Mümkün olduğu kadar çok işlem açmasına izin vermek ve göstergeler öyle diyorsa aynı anda alım ve satım emirleri açabilmek istiyorum.
yardım için teşekürler,
Benjimang
Döviz Kar/Zararı
Dave,
Bence ne istediğin konusunda daha spesifik olmalısın. Ve BTW neden PM'lere cevap vermiyorsunuz? Bu aralar nerede saklanıyorsun??? çok komik
KC'de P
Dave,
Bence ne istediğin konusunda daha spesifik olmalısın. Ve BTW neden PM'lere cevap vermiyorsunuz? Bu aralar nerede saklanıyorsun??? çok komik
KC'de PYeni PM almadım???? Ne yazık ki bu süre zarfında bir ailevi acil durum yaşadım - Acil durumda her şey yolunda. Kodlamamda, özellikle de zarf kodlamasında yardımı kullanabilirim.
Dave
Grafiğin sağ üst köşesinde para biriminin karını nasıl yayınlarım?
Döviz kar/zararını ticaret platformu döviz grafiğinin (EURUSD) sağ üst köşesinde yayınlamak istiyorum. Mevcut ticaretin karı pozitifse, yeşil renkte gösterilir; 0,00 ise beyaz görünür; Eğer bir kayıp ise, kırmızı ile gösterilir.
ObjectCreate'in gidilecek yol olduğunu biliyorum, ancak bunun ötesinde ticaret platformundan nasıl kâr elde edeceğimi bilmiyorum? Birisi bana bu yardımcı program hakkında yardım edebilir mi? Bunu ea'ma dahil etmek istiyorum.
Dave
<<<ticaret istatistikleri
bu kodu kullanın:
// ******************************************************* ******************************
int istatistikler()
{
int i, vSiparişler;
// mevcut CP karı
vOrders = OrdersTotal();
Kar = 0;
PipKar = 0;
for(i=vSiparişleri-1;i>=0;i--)
{
if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if(OrderSymbol() == Symbol())
{
Kar += OrderProfit();
if (OrderType() == OP_BUY) PipsProfit += ((Bid - OrderOpenPrice())/Point);
else if (OrderType() == OP_SELL) PipsProfit += ((OrderOpenPrice() - Sor)/Puan);
}
}
}
// potansiyel risk
// maksimum konumlar
}
Profit & PipsProfit'in program dışında bildirilmesi ve ardından favori yönteminizle ekranda gösterilmesi gerekecektir. Başka bir şey yoksa yorumlar.
İşaret