Nasıl kodlanır? - sayfa 63

 

Sadece bir barın başında bir sipariş nasıl açılır?

Merhaba,

Bir sipariş açmak istediğim bir EA uyguluyorum, ancak bir önceki ikinci çubuk ile önceki çubuk arasında bir gösterge tarafından bir düzeyde bir kesişme meydana geldiyse.

Örneğin günlük grafikte 18 Ocak ile 19 Ocak arasında bir cross var ise 20 Ocakta sipariş açmak istiyorum.

Bunun gibi bir şey yaptım:

Bir sipariş açtığımda, siparişin açılma zamanını kaydederim.

Sonra şu testi yapıyorum: (CurrentTime() - LastOrderOpenTime) < Period() ??

Evet ise, mevcut bar henüz bitmedi ve yeni bir sipariş açmamalıyım. Ayrıca, bu koşul yanlış olduğunda, grafiğin bir sonraki çubuğunda olmalıyım ve çarpı son çubuktan önce gerçekleşti ve bir sonraki sinyale kadar hiçbir emir açılmamalı.

Sorun şu ki, onu bir grafiğe eklerken, çubuk bitene kadar yeni siparişler oluşturmaya devam ediyor. Birisi bana neyi yanlış yaptığımı söyleyebilir mi?

 
dvarrin:
Merhaba,

Bir sipariş açmak istediğim bir EA uyguluyorum, ancak bir önceki ikinci çubuk ile önceki çubuk arasında bir gösterge tarafından bir düzeyde bir kesişme meydana geldiyse.

Örneğin günlük grafikte 18 Ocak ile 19 Ocak arasında bir cross var ise 20 Ocakta sipariş açmak istiyorum.

Bunun gibi bir şey yaptım:

Bir sipariş açtığımda, siparişin açılma zamanını kaydederim.

Sonra şu testi yapıyorum: (CurrentTime() - LastOrderOpenTime) < Period() ??

Evet ise, mevcut bar henüz bitmedi ve yeni bir sipariş açmamalıyım. Ayrıca, bu koşul yanlış olduğunda, grafiğin bir sonraki çubuğunda olmalıyım ve çarpı son çubuktan önce gerçekleşti ve bir sonraki sinyale kadar hiçbir emir açılmamalı.

Sorun şu ki, onu bir grafiğe eklerken, çubuk bitene kadar yeni siparişler oluşturmaya devam ediyor. Birisi bana neyi yanlış yaptığımı söyleyebilir mi?

Emin değilim ama işte bir süre önce birinin benim için yaptığı not. Orijinal yazara uygun aksesuarlar vermek için Google'da aramam gerekir.

Yeni bir barın açılışında olup olmadığınızı belirlemeye yardımcı olur.

int newbar()

{

double g;

int m,s,k;

m=Time[0]+Period()*60-TimeCurrent();

g=m/60.0;

s=m%60;

m=(m-m%60)/60;

return(m);

}[/CODE]

And I use it like this:

[CODE]if (newbar()==Period())

Umarım yardımcı olur.

 
dvarrin:
Merhaba,

Bir sipariş açmak istediğim bir EA uyguluyorum, ancak bir önceki ikinci çubuk ile önceki çubuk arasında bir gösterge tarafından bir düzeyde bir kesişme meydana geldiyse.

Örneğin günlük grafikte 18 Ocak ile 19 Ocak arasında bir cross var ise 20 Ocakta sipariş açmak istiyorum.

Bunun gibi bir şey yaptım:

Bir sipariş açtığımda, siparişin açılma zamanını kaydederim.

Sonra şu testi yapıyorum: (CurrentTime() - LastOrderOpenTime) < Period() ??

Evet ise, mevcut bar henüz bitmedi ve yeni bir sipariş açmamalıyım. Ayrıca, bu koşul yanlış olduğunda, grafiğin bir sonraki çubuğunda olmalıyım ve çarpı son çubuktan önce gerçekleşti ve bir sonraki sinyale kadar hiçbir emir açılmamalı.

Sorun şu ki, onu bir grafiğe eklerken, çubuk bitene kadar yeni siparişler oluşturmaya devam ediyor. Birisi bana neyi yanlış yaptığımı söyleyebilir mi?

Sonra şu testi yapıyorum: (CurrentTime() - LastOrderOpenTime) < Period() ??

// dönüş (0) ekleyebilirsiniz;

VEYA

bu yardımcı olabilir.. kodu ekleyin..

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;

if(OrderSymbol()== Sembol () && OrderMagicNumber()== MN)

{

if( OrderOpenTime() >= iTime(0, PERIOD_D1, 0) samebar++;

}

}

2'den seçim yapabilirsiniz.

if ( samebar > 0 ) dönüş (0);

VEYA

if (samebar < 1) {sipariş kodlarınız;}

Kodlamada iyi değilim, bu yüzden doğru kodları yerleştirip yerleştirmediğimi kontrol etmeyi deneyebilir.

 
dvarrin:
Merhaba,

Bir sipariş açmak istediğim bir EA uyguluyorum, ancak bir önceki ikinci çubuk ile önceki çubuk arasında bir gösterge tarafından bir düzeyde bir kesişme meydana geldiyse.

Örneğin günlük grafikte 18 Ocak ile 19 Ocak arasında bir cross var ise 20 Ocakta sipariş açmak istiyorum.

Bunun gibi bir şey yaptım:

Bir sipariş açtığımda, siparişin açılma zamanını kaydederim.

Sonra şu testi yapıyorum: (CurrentTime() - LastOrderOpenTime) < Period() ??

Evet ise, mevcut bar henüz bitmedi ve yeni bir sipariş açmamalıyım. Ayrıca, bu koşul yanlış olduğunda, grafiğin bir sonraki çubuğunda olmalıyım ve çarpı son çubuktan önce gerçekleşti ve bir sonraki sinyale kadar hiçbir emir açılmamalı.

Sorun şu ki, onu bir grafiğe eklerken, çubuk bitene kadar yeni siparişler oluşturmaya devam ediyor. Birisi bana neyi yanlış yaptığımı söyleyebilir mi?

Hımm...

if(iOpen(Symbol(),0,0)==iClose(Symbol(),0,0)&&iLow(Symbol(),0,0)==iHigh(Symbol(),0,0))

{

//A new bar has happend.

}
 

Önceki ticaretin kârını nasıl bilebilirim? Ve çok ve yan?

 
Dan7974:
Önceki ticaretin kârını nasıl bilebilirim? Ve çok ve yan?

OrdersTotal() yerine OrdersHistoryTotal() kullanın. Ardından OrderProfit(), OrderLots() vb. kullanın. İlgilendiğiniz zaman aralığı için geçmiş alıntıların yüklendiğinden emin olmalısınız ve sanırım bunu yalnızca manuel olarak yapabilirsiniz - 'Sipariş Geçmişi' sekmesine sağ tıklayın ve 'Tüm Geçmiş'i seçin.

OrderSelect() ile 'MODE_HISTORY' kullanmanız gerektiğini eklemeliydiniz...

 
omelette:
OrdersTotal() yerine OrdersHistoryTotal() kullanın. Ardından OrderProfit(), OrderLots() vb. kullanın. İlgilendiğiniz zaman aralığı için geçmiş alıntıların yüklendiğinden emin olmalısınız ve sanırım bunu yalnızca manuel olarak yapabilirsiniz - 'Sipariş Geçmişi' sekmesine sağ tıklayın ve 'Tüm Geçmiş'i seçin. OrderSelect() ile 'MODE_HISTORY' kullanmanız gerektiğini eklemeliydiniz...

Merhaba Omlet,

BT'nin tarihe bakmakta bir sorunu olduğunu biliyor musunuz: BT'nin tarihine değil, gerçek tarihe bakar. Metaquote'a birkaç ay önce bu hatayı sordum ama cevap alamadılar.... Belki şimdi düzeltilmiştir...

 

Merhaba

Bir para biriminde faiz oranı sıkılaştırma döngüsünü ve başka bir para biriminde faiz oranı düşürme döngüsünü nasıl kodlarsınız?

EA takas cari ve takas geçmiş oranlarına bakabilir mi?

OILFXPRO

 
Dosyalar: