Nasıl kodlanır? - sayfa 153

 
Roger09:
çınlamak için

Bunu dene:

#property copyright "Copyright ?2004, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

#property show_inputs

bool result;

extern double OverSymbolDel = 1; //0:FASLE ; 1: TRUE

//+------------------------------------------------------------------+

//| script "delete pending order" |

//+------------------------------------------------------------------+

int start()

{

for (int number=OrdersTotal()-1; number >= 0; number--)

{

OrderSelect(number,SELECT_BY_POS,MODE_TRADES);

if((OrderType()==OP_BUY) || (OrderType()==OP_SELL) ) continue;

if (OverSymbolDel ==0&& Symbol()==OrderSymbol() ) delPending();

if (OverSymbolDel ==1) delPending();

}

}

//+------------------------------------------------------------------+

void delPending()

{

OrderPrint();

int ticket =OrderTicket();

result=OrderDelete(ticket);

if (!result) Print("Error when delete Order ", GetLastError() );

}

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) delPending();

değişmek

if ( (OverSymbolDel ==0 ) && (Symbol()==OrderSymbol() ) ) beklemede();

 

GetClientRect???

Grafiğin müşteri koordinatlarını almak istesem de nasıl yapmalıyım?

OBJPROP_CORNER kullanmadan sağ alt koordinatları bilmek istiyorum.

En iyi dileklerimle.

 

ab h1 adet

lütfen en iyisini değiştirmeme yardım et

 

Mantıkla Yardım

Herkese selam,

Biraz kod mantığıyla ilgili biraz yardım istiyorum. Baktığım bir sistemin EA'sını oluşturmaya çalışıyorum ama Buy and Sell Signals için mantığı nasıl yazacağım konusunda biraz kafam karıştı. İşte MQL'ye dönüştürmek istediklerimin sözde mantığı:

MANTIK SATIN AL:

If (MA_1 > MA_2) and (Previous(MA_1 < MA_2)) // A moving average cross mean we have a "GET READY" signal

// Once we have a "GET READY" signal the following conditions need to be true

// in order for the system to create a "BUY_SIGNAL".

// Note: the following conditions do not necessarily have to become true on the exact same bar,

but need to trigger true within + or - 2 bars of the "GET READY" bar.

( CLOSE > MA3 ) // Price closes above a MA

( CCI Crosses above the ZERO line ) // CCI crosses up above zero

( Fast Stochastic crosses above Slow Stochastic ) // Stochastic triggers to the up side

Satış Mantığı, satın alma mantığının tam tersidir.

Sinyali çalıştırmak için tam EA koduna ihtiyacım yok, yalnızca MQL 'IF' ve 'LOOP' ifadelerine dönüştürülmüş mantık. Sanırım bu başlıktaki birçok örnekten OpenOrder kodunu vs... çözebilirim.

Herkesin verebileceği herhangi bir yardım çok takdir edilecektir.

Teşekkürler,

Moksi

 

En iyi bahis, meta düzenleyici yardım dosyasına bakmaktır.

iMa, iStochastic ve iCCI gibi işlevlere bir göz atın. Örnekleri var ve bunları herhangi bir EA'daki koda bakarak alacağınız bilgilerle birleştirirseniz, bunu kolay bulacaksınız.

İyi şanlar

Lüks

 
luxinterior:
En iyi bahis, meta düzenleyici yardım dosyasına bakmaktır.

iMa, iStochastic ve iCCI gibi işlevlere bir göz atın. Örnekleri var ve bunları herhangi bir EA'daki koda bakarak alacağınız bilgilerle birleştirirseniz, bunu kolay bulacaksınız.

İyi şanlar

Lüks

Merhaba Lux,

Yanıt için teşekkürler. Tek tek iMA deyimlerini vs. çözebilirim... sahip olduğum sorun, bir sinyal tetiklendiğinde farklı zaman çubuklarına nasıl başvurulacağıdır. Örneğin... HAZIR OL sinyalim varsa, bir sonraki çubuğun açılışında bir SATIN AL SİNYALİ olduğunu doğrulamak için diğer göstergeler için önce 2 çubuk ve sonra 2 çubuk (toplamda 5 çubuk) bakmam gerekiyor. Mantıklı mıyım emin değilim !!

Sanırım bu... Çubuğun işlenmesinden önce ve sonra çubuklara başvurmam gerektiğinde gerekli FOR döngülerini vb. nasıl yapılandırabilirim.

Saygılarımızla,

Moksi

 
Moxy:
Merhaba Lux,

Yanıt için teşekkürler. Tek tek iMA deyimlerini vs. çözebilirim... sahip olduğum sorun, bir sinyal tetiklendiğinde farklı zaman çubuklarına nasıl başvurulacağıdır. Örneğin... HAZIR OL sinyalim varsa, bir sonraki çubuğun açılışında bir SATIN AL SİNYALİ olduğunu doğrulamak için diğer göstergeler için önce 2 çubuk ve sonra 2 çubuk (toplamda 5 çubuk) bakmam gerekiyor. Mantıklı mıyım emin değilim !!

Sanırım bu... Çubuğun işlenmesinden önce ve sonra çubuklara başvurmam gerektiğinde gerekli FOR döngülerini vb. nasıl yapılandırabilirim.

Saygılarımızla,

Moksi

Bunu, iMA() içindeki shift değişkenini kullanarak yaparsınız. Bunu, mevcut bardan 3 bar uzakta olan Open, High, Low, Close yani Close[3] değerleriyle de yapabilirsiniz.

 

Hareketli Ortalama Hareketler

Tamam, kodla ilgili biraz yardıma ihtiyacım var, bir MA etrafında bir dizi ortalama hareket belirlemek istiyorum, bu yüzden en eski BAR'dan, yukarıdaki ve aşağıdaki hareketleri ararım, onları bir diziye koyarım ve sonra o dizinin ortalamasını alırım.

İşte başladığım kod, bunu yapmak için biraz yardım arıyorum.

çift OrtalamaMove()

{

int cbars = iBars(Symbol(),EntryTimeFrame);

int counted_bars = 0,RangeCounter=0,ndx=0,iLimit=0;

double retval,averagemove,pHValue,pLValue,MAvalue,RangeValue[],EntryPoint,cHigh,cLow;

bool sıfırlama, TradeShort, TradeLong;

iLimit=Barlar-1;

if(Symbol() != "AUDNZD") return(0);

for(ndx=0; ndx<iLimit; ndx++)

{

MAvalue = iMA(Symbol(),EntryTimeFrame,EntryMAInterval,0,MovingAverageType,PRICE_MEDIAN,ndx);

pHDeğeri = Yüksek[ndx];

pLVdeğeri = Düşük[ndx];

if(MAdeğeri pLVdeğeri)

{

if(Symbol() =="AUDNZD") Print("MAValue="+MAvalue+" pHValue="+pHValue+" plValue="+pLValue);

sıfırla = doğru;

if(EntryPoint > 0 && cHigh > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=cHigh - EntryPoint;

}

if(EntryPoint > 0 && cLow > 0)

{

RangeCounter++;

RangeValue[RangeCounter]=EntryPoint - cLow;

}

Giriş Noktası = MAdeğeri;

}

if(pHValue < MAvalue && reset) TradeShort = true;

if(pLValue > MAvalue && reset) TradeLong = true;

if(Ticaret Uzun)

{

sıfırla = yanlış;

cYüksek = pHDeğeri;

}

if(TicaretKısa)

{

sıfırla = Yanlış;

cDüşük = pLV Değeri;

}

}

ArraySetAsSeries(RangeValue,true);

retval=iMAOnArray(RangeValue,RangeCounter,13,1,PRICE_MEDIAN,0);

Print("Ortalama Hareket"+geri dönüş);

}

 

Grafikteki müşteri alanını bilmek istiyorum.

merhaba,

Grafikteki müşteri alanını bilmek istiyorum.

Lütfen bana öneride bulun.

Sol üst köşenin noktasının (0,0) olduğunu varsayarak, lütfen sağ alt köşenin koordinatlarını bildirin.

Bu durumda ObjectSet("",OBJPROP_CORNER,3)kullanılmamalıdır.

Çok teşekkürler ve saygılarımla,

 

Moksi,

Sizi doğru anlarsam, bu satırı bir EA'da satır için kodlamanız gerekecek.

misal

MA1, indeks-1 önce

MA1, şimdi indeksle

MA1, indeks+1 sonra

orada temele sahipsin

Neden: