[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 606

 
Roger :


Fonksiyonun kendisini gösterin.

ClosePartPosBySelect(double Part) geçersizse, o zaman

geçersiz ClosePartPosBySelect()

Peki bu fonksiyona bir parametre nasıl geçirilir? Diyelimki:
 if (x== 2 && y== 4 ) Part= 0.5 ;
else Part= 2 ;

ClosePartPosBySelect(Part);

Kim'in ClosePosBySelect() işlevi, Part değişkeni ("Part" kelimesinden) olan double türünde geçirilmiş bir parametre gerektirecek şekilde değiştirildi

 
keekkenen :

iki yol

1. Değerin değiştirildiği fonksiyonda bir ve işareti ekleyin,

ör. geçersiz fonksiyon( çift ve parça ){}

daha sonra, işlevin içindeki değeri değiştirirken, yeni değer çağrı sitesine döndürülür.

2. değişkeni fonksiyon parametreleri listesinden çıkarın, çünkü Değişken global olarak ayarlandığından değeri, parametre olarak iletilmeden kodun herhangi bir yerinde değiştirilebilir.

ancak kafa karıştırmamak için, ne tür bir değişken olduğunu düşünmemek için 1. seçenek daha iyidir, çünkü birden fazla böyle global olarak tanımlanmış değişken olabilir (ve bir fonksiyon içinde).


not Mesaja baktım ve zaten cevaplanmış.

Teşekkürler, deneyeceğim...
 
zelek :

Merhaba sevgili profesyoneller.

Gerçekten aynı anda iki Sat ve Al işlemi açacak bir danışman yazmak istiyorum.

Daha sonra belirli bir puan (lim parametresi) sonrasında kaybetme sırası kapatılır,

ve kârlı, böylece siparişin açılmasından bu yana fiyat maksimum fiyatın altına düştüğünde kapanır

(bir tür sanal sondaki durdurma).

Korkunç bir ıstırap içinde bunu doğurdum, ama işe yaramıyor

lütfen bana bir şey söyle

Ve bunun nasıl belirlendiğini düşünüyorsunuz - geri alma mı yoksa tersine çevirme mi? Yoksa her geri dönüşte iki pozisyon mu açacaksınız? Bu bir drenaj...
 
artmedia70 :
Peki bu fonksiyona bir parametre nasıl geçirilir?


Parametre global düzeyde bildirilmişse, geçmek gerekli değildir, doğrudan istenen değeri atayın. Ancak o zaman fonksiyonda yeniden tanımlanmamalıdır.
 
İlginç çıkıyor...

Bu, 2009 yılının tamamı... Giriş için sadece Momentum'un okumaları kullanılıyor:
TF H1'de momentum dönüm noktasını arıyoruz ve TF M5'te pazara girmenin tam anını buluyoruz. Bir pozisyon açarken, bir öncekinin açılış zamanı kontrol edilir, böylece giriş sinyali anında tüm depo açılmaz...
Giriş anı, Demarker'ın M5 ve M15 zaman dilimlerinde aşırı alım / aşırı satım bölgelerindeki konumuyla onaylanır...
... Bu arada, dolaplar olmadan da olumlu bir sonuç vardı.

... Testi istemeden yalnızca Demarker kontrolüyle başlatmış olmam bile yine de ilginç bir sonuç verdi:

Bir yerde şöyle bir şey:

//---------------------------------------------------------
   MomML_0   = iMomentum ( NULL , PERIOD_M5 , 14 , PRICE_CLOSE , 0 );
   MomML_1   = iMomentum ( NULL , PERIOD_M5 , 14 , PRICE_CLOSE , 1 );
   MomML_2   = iMomentum ( NULL , PERIOD_M5 , 14 , PRICE_CLOSE , 2 );
   
   MomST_0  = iMomentum ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 0 );
   MomST_1  = iMomentum ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 1 );
   MomST_2  = iMomentum ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 2 );
   
   DeM5     = iDeMarker ( NULL , PERIOD_M5 , 14 , 0 );
   DeM15    = iDeMarker ( NULL , PERIOD_M15 , 14 , 0 );

//---------------------------------------------------------
//==============================================================================================
   // Поиск пересечений
//==============================================================================================  
//----------------------- Проверка условий для старшего ТФ --------------------    
// ---------- Покупка --------
   MomBuy56M15=false;
   if (
         MomST_0< 100 && 
         MomST_1< 100 && 
         MomST_2< 100 &&
         MomST_0>MomST_1 &&
         MomST_1<MomST_2 &&
         DeM15< 0.3
      )                                
         {   
            MomBuy56M15=true;
         }

// ---------- Продажа --------
   MomSell56M15=false;
   if (
         MomST_0> 100 && 
         MomST_1> 100 && 
         MomST_2> 100 &&
         MomST_0<MomST_1 &&
         MomST_1>MomST_2 &&
         DeM15> 0.7
      )                                
         {   
            MomSell56M15=true;
         }
//----------------------- Проверка условий для младшего ТФ ---------------------    
// ---------- Покупка --------
   MomBuy56M5=false;
   if (
         MomML_0< 100 && 
         MomML_1< 100 && 
         MomML_2< 100 &&
         MomML_0>MomML_1 &&
         MomML_1<MomML_2 &&
         DeM5< 0.3   
      )                                
         {   
            MomBuy56M5=true;
         }

// ---------- Продажа --------
   MomSell56M5=false;
   if (
         MomML_0> 100 && 
         MomML_1> 100 && 
         MomML_2> 100 &&
         MomML_0<MomML_1 &&
         MomML_1>MomML_2 &&
         DeM5> 0.7   // ... и тут ...
      )                                
         {   
            MomSell56M5=true;
         }      

//==============================================================================================
   // Вычисление основных торговых критериев
//====================================================================  
   if (
         MomBuy56M15==true &&
         MomBuy56M5 ==true
      )
      
       return ( 106 );                       // Открытие Buy по стратегии 6 
 //====================================================================   
 
   if (
         MomSell56M15==true &&
         MomSell56M5 ==true
      )
      
       return ( 206 );                       // Открытие Sell по стратегии 6 
 //====================================================================   

İlginç bir şekilde, sonuç benzerse, neden (dedikleri gibi) trendin tükenme (tamamlanma) anını gösteren momentum kullanıyorsunuz? Momentum kırılmalarında, fiyat yükselmeye devam etti ve her yeni momentum kırılmasında pozisyonlar açıldı... Kilitlemeye karar verdiğim tam da erken girişlerdi...
Bunun hakkında kim düşünüyor?

 

Test cihazında sıfır çubuğu kullanılamaz, çünkü test cihazında, yalnızca oluşturulmuş olmasına rağmen (test keneleri), bu çubuğun fiyatları hakkında eksiksiz bilgi vardır, çünkü o (çubuk) bir oldu bittidir ve testçi, keneler tarafından kendisinin ürettiğinden değil, alıntıların geçmişinden veri alarak geleceğe böyle bakar.. bir çubuğu sola kaydırın ve momentumları 1 için sayın 0,1,2 yerine ,2,3 ve 0 yerine işaretçi 1..

aynı zamanda daha eski TF'leri kullanmamak, sadece mevcut m5'i kullanmak ve daha eski TF'lerin kullanıldığı yerlerde periyodu birkaç kat artırmak mantıklıdır.14 * PERIOD_H1 / Period() ve 14 * PERIOD_M15 / Period()

 
keekkenen :

Test cihazında sıfır çubuğu kullanılamaz, çünkü test cihazında, yalnızca oluşturulmuş olmasına rağmen (test keneleri), bu çubuğun fiyatları hakkında eksiksiz bilgi vardır, çünkü o (çubuk) bir oldu bittidir ve testçi, keneler tarafından kendisinin ürettiğinden değil, alıntıların geçmişinden veri alarak geleceğe böyle bakar.. bir çubuğu sola kaydırın ve momentumları 1 için sayın 0,1,2 yerine ,2,3 ve 0 yerine işaretçi 1..

aynı zamanda daha eski TF'leri kullanmamak, sadece mevcut m5'i kullanmak ve daha eski TF'lerin kullanıldığı yerlerde periyodu birkaç kat artırmak mantıklıdır.14 * PERIOD_H1 / Period() ve 14 * PERIOD_M15 / Period()

Öyleyse, test cihazında sıfır çubuğunun her bir kapanış fiyatını yazdırırsanız, neden her işarette fiyat farklıdır? Aynısı daha yüksek zaman dilimleri için de geçerlidir, görselleştirme olmadan da aynıdır. Peki gözetleme nerede?
 
peki, sonuç (dinamikler) sıfır çubuğu kullanılarak elde edilenden çok farklı değilse, gözetleme olmayabilir, ancak onu yanılsamalardan korumak daha iyidir..
 

Zaten bütün kafamı kırdım :) - işte sorun şu:

danışman yarı otomatik modda çalışır - girişleri benim pozisyondan çıkışlarımdır, ancak danışmanın bir sonraki emrimden önce sadece bir ticaret yapmasını nasıl sağlayacağımı çözemiyorum, yani. Sadece grafikteki başlat/başlat butonunu özlüyorum :) . init() bölümü benim için dolu, danışmanı devre dışı bırakmak da imkansız - doğru trol için hesaplamaları gerekiyor

 
keekkenen :
peki, sonuç (dinamikler) sıfır çubuğu kullanılarak elde edilenden çok farklı değilse, gözetleme olmayabilir, ancak onu yanılsamalardan korumak daha iyidir..
İllüzyonlar yanılsamadır, ancak 2008'in sonunda, düzenli olarak depoyu dolduran tetiklenmiş limit tüccarlarının tüm dostane kardeşliği, hindilerin sinyalleriyle açılan pozisyonların oluşturduğu düşüşle baş edemedi ve işte burada, Kolya Amca'dan uzun zamandır beklenen telefon... :)

Bu tür sorunları çözmek nasıl mümkün olabilir?


Bu eksiklikleri azaltmanın bir yolu var mı? Senin düşüncelerin?