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
Denemeyin, yapın
işteyim... ve metatrader bağlantı noktası burada engellendi
Hey, programlamada hâlâ yeniyim ve bu basit EA'ya aşağıdaki özellikleri eklemekte sorun yaşıyorum:
1. Kâr Al
2. Kaybı Durdur
3. İzleyen Durdurma
4. Takip eden durdurmayı etkinleştirmek için pip sayısı
//---- input parameters
extern double Lots=0.1;
extern int Slippage=5;
int MagicNum = 98760;
bool longPosOpened, shortPosOpened;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
double crossup = iCustom(NULL , 0, "18_28Cross", 1,18,1,28,1,0, 1);
double crossdown = iCustom(NULL , 0, "18_28Cross", 1,18,1,28,1,1,1);
if (crossup != EMPTY_VALUE)
{
if (!PosOpened(OP_BUY))
{
CloseAllOpenAndPendingTrades();
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,Symbol(),MagicNum,0);
}
}
else if(crossdown != EMPTY_VALUE)
{
if (!PosOpened(OP_SELL))
{
CloseAllOpenAndPendingTrades();
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,Symbol(),MagicNum,0);
}
}
return(0);
}
//+------------------------------------------------------------------+
bool PosOpened(int orderType)
{
int total=OrdersTotal();
for(int cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderSymbol() == Symbol() && OrderType() == orderType)
{
return(true);
}
}
return(false);
}
void CloseAllOpenAndPendingTrades()
{
int total = OrdersTotal();
for(int i=total-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if(Symbol() != OrderSymbol()) continue; // important! only close positions of current currency pair
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 200);
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 200);
break;
//Close pending orders
case OP_BUYLIMIT :
case OP_BUYSTOP :
case OP_SELLLIMIT :
case OP_SELLSTOP : result = OrderDelete( OrderTicket() );
}
}
return(0);
}
Parabolik sardan bir sıçrama nasıl tespit edilir?
Şu anda bir atlama algılamak için bu kodu kullanıyorum:
if(iSAR(NULL,0,0.02,0.2,0)-iSAR(NULL,0,0.02,0.2,1)>1.0){ // yukarı sıçrama varsa
Ama bu doğru çalışmıyor gibi görünüyor.
Psar'ın çubuklarımın üstünde mi altında mı olduğunu nasıl anlarım?
TIA
işteyim... ve metatrader bağlantı noktası burada engellendi
Şu anda bir atlama algılamak için bu kodu kullanıyorum:
if(iSAR(NULL,0,0.02,0.2,0)-iSAR(NULL,0,0.02,0.2,1)>1.0){ // yukarı sıçrama varsa
Ama bu doğru çalışmıyor gibi görünüyor.
Psar'ın çubuklarımın üstünde mi altında mı olduğunu nasıl anlarım?
TIAHey IN10TION, EA'nın bir sonraki sinyal gelene kadar başka bir işlem (yeniden giriş) yapmaması için bir işlemin henüz kapanıp kapanmadığını kontrol etmenin iyi bir yolunu biliyor musunuz? EA'm ticaret koşulunu 10 bara kadar kontrol eder, ancak ilk birkaç çubukta bir Satış ticaret koşulu zaten karşılandıysa ve kapatıldıysa, EA'nın 10 çubuk Ofset'e kadar kontrol etmeyi bırakmasını ve bir sonraki gerçek sinyale kadar beklemesini istiyorum?
teşekkürler
OrderHistory() işlevini kullanın.
Lüks
OrderHistory() işlevini kullanın. Lüks
Teşekkürler ama bunun nasıl çalıştığından emin değilim. Bir siparişin yeni kapatılıp kapatılmadığını gerçekten bilmek istemiyorum, daha çok bir siparişin bu kadar çok çubuk içinde Açılıp Kapandığını bilmek istiyorum. Ardından, yalnızca bir sonraki ana sinyal girişine başka bir işlem yapın. Bir emir henüz açılıp kapatıldığında, ancak ticaret koşulları hala karşılandığında, hızlı ticaret yeniden girişlerini ortadan kaldırmaya çalışıyorum. Bir şekilde, ana sinyal başına yalnızca bir ticaret yapmasını istiyorum, bu nedenle ticaret koşulları hala geçerli olsa bile, o sinyalde zaten ticaret yapıldıysa (ofset dahil) tekrar ticaret yapmayın.
Bakalım bir örnekle anlatabilecek miyim? Bu, yardım edilemeyecek bir şey olabilir.
EG: Diyelim ki QQE ve VQI'yi bir sinyal ticaret giriş noktası olarak kullanıyorum (QQE çapraz ve VQI, alımdan Satışa veya tam tersi)
Şimdi, QQE çaprazı ve VQI sinyali tam olarak aynı çubukta gerçekleşmeyebileceğinden, 6 çubuk diyelim bir SignalOffset seçeneği ekliyorum.
Şimdi diyelim ki QQE ve VQI anlaştığında birbirinin 2 çubuğu içinde geçerli bir ticaret var, yani şimdi bir ticaret yapılıyor ama 10 pipslik bir TP'm var ve çubuk 15 pips hareket ediyor TP'm vuruldu ve ticaret kapandı. 6 bar Offset'im nedeniyle ticaret koşulları hala karşılanıyor, şimdi başka bir ticaret yapıldı (yeniden giriş) kötü bu bir veya iki çubuk 100 pips taşırsa ve TP'm 10 ise, az önce 10 işlemim oldu, kötü Sinyal başına sadece bir işlem istiyorum (Offset dahil)
bu mantıklı mı? Yine de 6 çubuk içinde ticaret yapmasını isterim, ancak ters sinyal olursa ve diğer ticaret hala kapalıysa.
teşekkürler
Teşekkürler ama bunun nasıl çalıştığından emin değilim. Bir siparişin yeni kapatılıp kapatılmadığını gerçekten bilmek istemiyorum, daha çok bir siparişin bu kadar çok çubuk içinde Açılıp Kapandığını bilmek istiyorum. Ardından, yalnızca bir sonraki ana sinyal girişine başka bir işlem yapın. Bir emir henüz açılıp kapatıldığında, ancak ticaret koşulları hala karşılandığında, hızlı ticaret yeniden girişlerini ortadan kaldırmaya çalışıyorum. Bir şekilde, ana sinyal başına yalnızca bir ticaret yapmasını istiyorum, bu nedenle ticaret koşulları hala geçerli olsa bile, o sinyalde zaten ticaret yapıldıysa (ofset dahil) tekrar ticaret yapmayın.
Bakalım bir örnekle anlatabilecek miyim? Bu, yardım edilemeyecek bir şey olabilir.
EG: Diyelim ki QQE ve VQI'yi bir sinyal ticaret giriş noktası olarak kullanıyorum (QQE çapraz ve VQI, alımdan Satışa veya tam tersi)
Şimdi, QQE çaprazı ve VQI sinyali tam olarak aynı çubukta gerçekleşmeyebileceğinden, 6 çubuk diyelim bir SignalOffset seçeneği ekliyorum.
Şimdi diyelim ki QQE ve VQI anlaştığında birbirinin 2 çubuğu içinde geçerli bir ticaret var, yani şimdi bir ticaret yapılıyor ama 10 pipslik bir TP'm var ve çubuk 15 pips hareket ediyor TP'm vuruldu ve ticaret kapandı. 6 bar Offset'im nedeniyle ticaret koşulları hala karşılanıyor, şimdi başka bir ticaret yapıldı (yeniden giriş) kötü bu bir veya iki çubuk 100 pips taşırsa ve TP'm 10 ise, az önce 10 işlemim oldu, kötü Sinyal başına sadece bir işlem istiyorum (Offset dahil)
bu mantıklı mı? Yine de 6 çubuk içinde ticaret yapmasını isterim, ancak ters sinyal olursa ve diğer ticaret hala kapalıysa.
teşekkürler2 metatrader uygulaması arasında veri paylaşımı
İkinci bir metatraderdan okumak için bir metatrader'dan bir dosyaya veri yazmaya çalışıyorum.
Sorun şu ki, c:\'ye yazmaya çalıştığımda "mutlak dosya yolu "C:\EURUSD.txt"ye izin verilmiyor" hata mesajı alıyorum
İki metatrader uygulaması arasında veri paylaşmanın herhangi bir fikri veya başka bir yolu var mı?