Nasıl kodlanır? - sayfa 202

 
asgard2:
Merhaba,

Dengesiz bir parantez hatası nedeniyle derleyemiyorum, bunların neden dengesiz olduğunu biri bana söyleyebilir mi?

teşekkürler

Bu hatayı alıyorsanız, [ veya { veya () öğelerinden birini kaçırıyorsunuz demektir.

muhtemelen kodunuzun bir yerinde çok fazla {[(

Kodunuzun bir kısmını kontrol ettim ve bazı hatalar buldum. Bunu dene :

if ((type == _OP_BUYSTOP) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))//Time Delay for the next Buy Stop Order

{

int hstTotal=OrdersHistoryTotal();

for(i=0;i<hstTotal;i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY) == false)

{

Print("Access to history failed ("+GetLastError()+")");

break;

}

else

{

if (OrderDelete() && (((TimeCurrent() - OrderCloseTime())/60) =< NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

Ayrıca, kodunuzun son bölümünün (OrderDelete) çalışmayacağını düşünüyorum, çünkü OrderDelete işlevleri hiçbir şeyi kontrol etmiyor - seçili siparişi siliyor. Bu nedenle, sipariş bileti ile parametreyi ona iletmeniz gerekir. Bunun yerine silinen siparişleri yorumlarını kontrol ederek tanıyabilirsiniz. Silinen her siparişin yorumunda "iptal edildi" olacaktır - bunu bulmak için OrderComment() işlevinin sonucunu karşılaştırabilirsiniz.

 

Biri Bana Yardım Edebilir mi?

Merhaba,

Bir EA yazmaya çalışıyorum ve formül yazmak için biraz yardıma ihtiyacım var.

Formülün, önceki mum kapanışı (PCC1) ile mumun iki mum geri kapanışı (PCC2) arasındaki farkı hesaplamasını istiyorum (bunu birden fazla çift üzerinde çalıştıracağım). HoL=(PCC1-PCC2)

Amacım bir al veya sat sinyali vermek;

bool BuySignal=yanlış;

bool SellSignal=yanlış;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=true;

Bu konuda yardımınız için teşekkür ederiz.

 

...

Bir EA örneğinden birden fazla sembol kullanmak istiyorsanız, bunun gibi bir şey kullanabilirsiniz:

double HoL=iClose(symbolName,0,1)-iClose(symbolName,0,2);[/php]Or to prevent some back testing surprises, a slightly more complicated code

int symbolShift1 = iBarShift(symbolName,0,Time[1]);

int symbolShift2 = iBarShift(symbolName,0,Time[2]);

double HoL = iClose(symbolName,0,symbolShift1)-iClose(symbolName,0,symbolShift2);

If you are going to use it only on symbol that your EA is attached to than this

[php]

double HoL=Close[1]-Close[2];

yeterlidir

Not: " symbolName ", seçtiğiniz Symbol olarak ayarlanmalıdır.

Saygılarımızla

mladen

ForExTryo:
Merhaba,

Bir EA yazmaya çalışıyorum ve formül yazmak için biraz yardıma ihtiyacım var.

Formülün, önceki mum kapanışı (PCC1) ile mumun iki mum geri kapanışı (PCC2) arasındaki farkı hesaplamasını istiyorum (bunu birden fazla çift üzerinde çalıştıracağım). HoL=(PCC1-PCC2)

Amacım bir al veya sat sinyali vermek;

bool BuySignal=yanlış;

bool SellSignal=yanlış;

if(HoL>0) BuySignal=true;

if(HoL<0) SellSignal=true;

Bu konuda yardımınız için teşekkür ederiz.
 
 

TP'yi gizle

Yer değiştirmek

void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,Ask+TP*Poin t,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,Bid-TP*Point,Bid+StopLoss*Point,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}[/CODE]

to

[CODE]void OpenBuy()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,1,0,0,"Ask-StopLoss*Point,EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}

void OpenSell()

{

int ticket,err;

if (!GlobalVariableCheck("InTrade")) {

GlobalVariableSet("InTrade", CurTime()); // set lock indicator

ticket = OrderSend(Symbol(),OP_SELL,lot2,Bid,1,0,0,"EA Order",magic,0,Red);

GlobalVariableDel("InTrade"); // clear lock indicator

}

}
 

Buy Stop emirleri arasındaki mesafe

Herkese merhaba, Silinen bir satın alma durdurma emri ile bir sonraki alım durdurma emri arasında bir mesafe uygulamaya çalışıyorum.

Son sipariş başka bir şey olmadıkça işe yarayan bu kodu yazdım. Geçmişten silinmiş bir buystop siparişinin nasıl seçileceğinden emin değilim. Birisi beni doğru yöne işaret edebilirse, bunu gerçekten takdir ediyorum.

Teşekkürler

// Bir sonraki "Satın Al Durdur" Emri için Zaman Gecikmesi silinir.

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

{

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

}

}

}

 
asgard2:
Herkese selam,

Bence bu daha iyi:

//Time Delay for the next Buy Stop Order

if ((type == _OP_BUY) && (MayOpenDeferOrder && NextBuyStop_Order_Minutes !=0))

{

total = OrdersHistoryTotal();

for(e = total - 1; e >= 0; e--)

{

OrderSelect(e, SELECT_BY_POS,MODE_HISTORY);

if(OrderSymbol() != Symbol()) continue;

if(((TimeCurrent() - OrderOpenTime())/60) < NextBuyStop_Order_Minutes) MayOpenDeferOrder = false;

break;

}

}
 
Roger09:
Bence bu daha iyi:

Merhaba Roger,

Kodlamada çok yeniyim, neden orada "mola" kullanıyorum? İfade bittiğinde otomatik olarak bozulur mu?

Ayrıca, geçmişten silinmiş bir siparişin nasıl seçileceğine dair herhangi bir ipucu var mı?

Teşekkürler

 

Bize kodun sadece bir parçasını gösteriyorsunuz ve ben sadece tahmin edebiliyorum.

Son sipariş kapatıldıktan sonra geçmişi kontrol etmeye başladığınızı varsayıyorum, bu yüzden ne zaman kapandığını bilmeniz gerekiyor. En yeni kapatılan sipariş tarihin sonundadır, bu nedenle başka bir şey bilmenize gerek yoktur ve "boş" kontrolü durdurun.

Tarihte doğru sırayı bulmak için tonlarca yöntem var, türünüz, sihirli numaranız, yorumlarınız vb.

 

basit EA için kodlayıcıya ihtiyacınız var

karlı sistem : minimum 50 pip -200 pip işlem başına kar

1 saatlik sistem

sadece 1 gösterge artı ATR (20) kullanın

tp/sl/sonda durdurma ile basit EA

EA kodlayıcı ücretsiz olarak yardımcı olabilir, lütfen e-posta adresinizle PM gönderin