[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 159

 
BooGUY :

todem, if ile denendi (d1!= 0)

ama danışman hala yanlış yerde açılıyor. Genel olarak, alışı bir satışla değiş tokuş etmeli ve bazen iki kez bir satış açmalıdır. Belki bir şey eklemedim.


sizce geç kalmadı mı???
 
DhP :

Geçiş sayısını şu şekilde azaltabilirsiniz:

1. Adımı artırın.

2. Parametre optimizasyonu aralığını azaltın.

3. Optimize edilecek parametre sayısını azaltın

4. "Genetik Algoritmayı" etkinleştirin.


İşte Genetik Algoritma hakkında daha fazlası ..... mümkünse)))

 

Beyler, danışmanı değerlendirin .... Danışmanların mükemmelliğinin bir sınırı olmadığını biliyorum, ancak yine de size göre danışmanın karlılığı ne olmalı (yıllık getiri) ??????

Bir yıl boyunca .... Aşağıdakileri aldım:

Maksimum düşüş: %8,69 (3768 $)

Kâr: 27464,5 $ yüzde 100'ün biraz üzerinde

Toplam işlem: 142

Sabit bir lotta işlem gördü: 1 lot

İlk danışmanım ... Yardım eden herkese ATP))

 

Diyelim ki bir uzmanım (My_expert) ve bir göstergem (My_indicator) var

EA, gösterge verilerini kullanır (artık iCustom aracılığıyla)

Expert Advisor'ın başlatma sırasında göstergeyi grafiğe eklemesini ve başlatma sırasında kaldırmasını sağlamak mümkün müdür?

 

Siparişi ertesi gün kapatacak bir Uzman Danışman yazmaya çalışıyorum (her durumda). Ancak sipariş nedense kapanmadı ((neden söyle?

Satış için kod aşağıdadır:


if (OrdersTotal()==0) {

OPENORDER("Sat");
}
int TC = int TimeCurrent();
int OM = int OrderMagicNumber();

if (OrdersTotal()==1 && OrderType()==OP_SELL && TC-OM>86400){ // DayMove(3)<0 && DayMove(2)<0 && DayMove(3)<0 && DayMove(4) <0 && DayMove(5)>0
CLOSEORDER("Sat");
}

Bunlar açık/kapalı sipariş fonksiyonlarıdır:

void CLOSEORDER(dize sırası)
{
(int i=0; i<SiparişToplam(); i++) için
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
(OrderSymbol()!=Symbol()||Magic!=OrderMagicNumber()) devam ederse;
if (OrderType()==OP_BUY && ord=="Satın Al")
OrderClose(OrderTicket(),OrderLots(),Bid,3, CLR_NONE );
if (OrderType()==OP_SELL && ord=="Sat")
OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);
}
}
}
//------------------------------------------------ --------------------


void OPENORDER(dize sırası)
{
dehşet içinde;
//Magic=TimeDay(CurTime());
Sihir = TimeCurrent();
if (ord=="Buy" ) error=OrderSend(Symbol(),OP_BUY, LOT,Ask,2,SL,TP,"EMA WMA RSI",Magic,3);
if (ord=="Sat") error=OrderSend(Symbol(),OP_SELL,LOT,Bid,2,SL,TP,"EMA WMA RSI",Magic,3);
if (hata==-1) ShowERROR(hata,0,0);
dönüş;
}

 
Vovo4ka :

Beyler, danışmanı değerlendirin .... Danışmanların mükemmelliğinin bir sınırı olmadığını biliyorum, ancak yine de size göre danışmanın karlılığı ne olmalı (yıllık getiri) ??????

Bir yıl boyunca .... Aşağıdakileri aldım:

Maksimum düşüş: %8,69 (3768 $)

Kâr: 27464,5 $ yüzde 100'ün biraz üzerinde

Toplam işlem: 142

Sabit bir lotta işlem gördü: 1 lot

İlk danışmanım ... Yardım eden herkese ATP))

Bu optimizasyon bölümündeki bir grafikse, gelecekteki çalışmaları hakkında hiçbir şey söylenemez. Bu, optimizasyonun yapılmadığı sitedeki bir grafikse, bunun karlı olacağına dair umutlar var. Ve gerçek hayatta çalışırken gerçek ortaya çıkacaktır.
 
ILL :

...
int OM = int OrderMagicNumber();
...


Sipariş , sizde olmadığı için OrderSelect() işlevi kullanılarak önceden seçilmelidir.
 
ilunga :

Sipariş, sizde olmadığı için OrderSelect() işlevi kullanılarak önceden seçilmelidir.


Yaşasın!!! kazanılan =)

Çok teşekkürler.

 
todem :

Hadi beraber yapalım. Hiç iş tecrüben var mı? Ayrıca şu anda hangi yöne gittiğini gösteren bir püre göstergem var, gerekli mi?


Sorun değil - bir araya gelelim. Tüm gelişmeler önceki linklerde belirtilmiştir... Konu, döngüde basit bir kontrol ile sınırlı değildir. Her gerçeği bir diziye yazmak için seçenekler arıyorum - ancak henüz dizilere rastlamadım.

 //+-------------------------------------------------------------------------------+
// Проверка смены тренда 
bool TrendChange( int Period_MAb, int Period_MAm, int nB)
{
   double maB1= iMA ( NULL , 0 , Period_MAb, 0 , MODE_EMA , PRICE_WEIGHTED , 1 );
   double maM1= iMA ( NULL , 0 , Period_MAm, 0 , MODE_EMA , PRICE_WEIGHTED , 1 );   
   for ( int i= 0 ; i<nB; i++) 
  {
     double maB= iMA ( NULL , 0 , Period_MAb, 0 , MODE_EMA , PRICE_WEIGHTED , i);
     double maM= iMA ( NULL , 0 , Period_MAm, 0 , MODE_EMA , PRICE_WEIGHTED , i); 
     if ((maM<maB && maM1>maB1)||(maM>maB && maM1<maB1)){
//     Alert("TrendChange-true");
     return (true);
     }
  }
   return (false);   
}

Yani - bu işlev çalışıyor! Kim işe yarayabilir ve işe yarayacak!

ANCAK! Soru kaynakları kurtarmaktır - çünkü. arabam en güçlü değil ve bu işlev genellikle kontrol edilir. Görünüşe göre her onay işareti bir grup eski çubuğu yeniden hesaplıyoruz (örneğin, nB=610 'a sahibim). Çözümü yalnızca bayrağı diziye yazarak ve tüm diziyi ve son çubuğu doğru olarak kontrol ederek görüyorum. Başka seçeneği olan var mı??? Söylemek!

 
ILL :


Yaşasın!!! kazanılan =)

Çok teşekkürler.

tam olarak değil)

Şimdi bana kim cevap verecek?