EA N7S_AO_772012 - sayfa 23

 

Şimdi FLG işlevine dahil olmayan bayraklar hakkında biraz Böyle nasıl bağımsızlar.

A) Flg - başlatma bayrağı, bir arızadan veya işin başlangıcından sonra, baştan değil, bir giriş sinyalinin varlığında (bu sinyal uzun niteliktedir), pozu açmayın, çünkü zaten çok geç olabilir. VSR !=0 ise mantık şu şekildedir, yani. bir sinyal var, ardından yasağı ayarlayın Flg=false; sinyal gider gitmez bayrak sıfırlanır

if (!Flg){if (VSR () ==0) {Flg=true; dönüş (0);}}

B) Flq – ilginç bir bayrak, bir çubukta ikinci bir pozisyon açma yasağı. İlk başta bir çubukta kayıpla bir öncekini kapatırken pozisyon açmayı yasaklamak istedim, ancak BuSll işlevimi eklediğimde bunu uygulayacağım, onunla kolay olacak. Bu arada, böyle bir seçenek var.

Bir pozisyon açarken ayarlanır

{if (Trd_Up_X && VSR() > 0 && bu<HM_Up_X ) {

if (MOS( 0, lot, sl, tp, WindowExpertName(), mn)>=1) {Flq=yanlış;}}

if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y ) {

if (MOS( 1, lot, sl, tp, WindowExpertName(), mn)>=1) {Flq=yanlış;}}

Bu arada, bu fonksiyondaki düzeltme hakkında daha önce yazmıştım.

Her 4 saatte bir sıfırlanır. Bazı çiftler için bunun çok fazla olduğunu düşünüyorsanız, fonksiyona ekleyebilirsiniz. H1() bazı çiftler hariç herkes için her saat başı bayrağı sıfırlayın if (Symbol()!="GBPJPY" || Symbol()!="USDCHF"){ Flq = true ; }

 
WitoHOH писал(а) >>

En son sürümün çalışmadığı bir şey.

Optimize edici, ilk aşamada bile tek bir işlem açmaz.

Önceki Expert Advisor için optimize edilmiş parametrelere sahip test cihazı benzer şekilde hareket eder.

Neden optimize edilmediğini anladınız mı?

 
SHOOTER777 писал(а) >>

Neden optimize edilmediğini anladınız mı?

Numara.

Belirli bir zaman yoktu.

Geçen sefer tarih eksikliği nedeniyle böyle bir söve oldu.

Hikayeyi şimdi indiriyorum.

Sabaha kadar sana haber veririm.

 
SHOOTER777 писал(а) >>

Neden optimize edilmediğini anladınız mı?

Optimize etmek istemiyor.

Aynı geçmiş verilerde yedinci sürüm optimize edilmiştir.

Sonuncusu olmaz.

Her yerde sonuç 0

 

Uzman tarafından yeniden yüklendi. Muhtemelen bozuk bir versiyon. Forum çöktü.

Ve ayrıca uzmandaki bu satırlara dikkat edin.

EA işlem yaparken başlangıç bakiyesi, minimum ve maksimum.

//------------------------------------------------ ------------------//
bool TrBlnc = doğru; int StrtBlnc= 3000; int DBLnc= 1500; int UBlnc= 4000;
//------------------------------------------------ ------------------//

Yasak, bool FLG (int cs ) işlevinde uygulanır.

Dosyalar:
 

Danışmanın mantığı hakkında biraz daha.

Bir sorun var - sık boşluklar. Boşluklarla, pazara girmek için optimize edilmiş parametreler ve koşullar senkronize değildir, çünkü gösterge değerleri ve fiyatlar kırılır. Kurtarma zaman alır. AO için 12 saat belirledim ve fiyatta 20 puandan fazla bir değişiklik olarak önemli bir boşluk olduğunu düşünüyorum (bazı çiftler için başka değerler olabilir ve olmalıdır).

Peki ne yapıldı:

İlk olarak, bir hep var olup olmadığını belirleriz.

string dttm = StringConcatenate (Yıl(),".",Ay(),".",Gün());
tarihsaat smtm=StrToTime(dttm);
boolGp;
int shft = iBarShift(NULL,0,smtm);
double iOpn = iOpen(NULL,0,shft);çift iCls = iClose(NULL,0,shft+1);
çift dOC = MathAbs ((iOpn - iCls)/(Nokta*10));
if (dOC>20) Gp = doğru ;

öyle ise ve Gp = doğruysa, yasaklama koşulu şudur:

( (DayOfWeek( ) == 1 && Hour( ) <14) && Gp))

Ancak, işlevin doğru yürütülmesi konusunda şüphelerim var

iBarShift(NULL,0,smtm);

belki böyle yazmak daha iyidir

iBarShift(NULL,60,smtm,true); mevcut olmasa da, varsayılan olarak sonuncusu hepsi aynı yanlış???

Fikir ve önerilerinizi bekliyorum.

 
SHOOTER777 >> :

Ve ayrıca uzmandaki bu satırlara dikkat edin.

EA işlem yaparken başlangıç bakiyesi, minimum ve maksimum.

//------------------------------------------------ ------------------//
bool TrBlnc = doğru; int StrtBlnc= 3000; int DBLnc= 1500; int UBlnc= 4000;
//------------------------------------------------ ------------------//

Yasak, bool FLG (int cs ) işlevinde uygulanır.

Bu tür kısıtlamalar neden gerekli?

 
capellini писал(а) >>

Bu tür kısıtlamalar neden gerekli?

İhtiyacınız yoksa kullanmayın! Gerçek ve çoklu para birimi olarak bir danışman hazırlıyorum. Gelecekte, bu, mücbir sebep durumunda her şeyi boşaltmamak için danışmanın hem aşağıdan hem de yukarıdan ticaret yapmasının yasaklanacağı bir çatal olacak, eldeki baştankara bir vinçten daha iyidir) )) Ancak MM

 

Ve şimdi tarlalardan veya önden liderlik edin))

Geçen hafta sonu, L9 versiyonu için bir dizi dosya hazırlamak için zamanım olmadı, üzerinde çalışmayı geç bitirdim ve tatiller)))

Bu yüzden bir deney yapmaya karar verdim. L9 versiyonunu geçen haftadan ve başka bir versiyondan setlerle koydum.

İki günün sonunda elimizdekiler: bakiye -70$ öz sermaye +420$ Haydi gidelim!

 
SHOOTER777 писал(а) >>

Bu nedenle, test veya optimizasyon yapıyorsanız, Öz Sermayenin parametrelerde belirtilen aralıkta olduğundan emin olun.

bool TrBlnc = doğru; int StrtBlnc= 3000; int DBLnc= 1500; int UBlnc= 4000;

veya Ekle içinde int init() işlevi astar if ( IsOptimizasyon () ) TrBlnc = false;//if ( IsTesting() ) TrBlnc = false;

Yardım etti.

Optimizasyon gitti.

Belki de bu tür değişkenleri harici olanlardan çıkarmak mantıklıdır?

Optimize ederken ve gerçek işte de daha kolay olacaktır.

Dengeyi her değiştirdiğinizde EA'yı yeniden derlemeniz gerekmeyecek.

Neden: