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

 
Craft :

Peki ya o zaman? for(i=0;i<=PeriodS;i++) denendi - yardımcı olmadı.


zaten yazdığın gibi

   for (i= 1 ;i<=PeriodB;i++)
{
   c1b[i]= iCCI ( NULL , 0 ,PeriodB, PRICE_TYPICAL ,i);
}
   double c1b_1=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA ,i);
   double c1b_2=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA ,i+ 2 );
   double c1b_3=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA ,i+ 3 );

iMAOnArray (olması gerektiği gibi) döngünün dışında yürütülür. Buna göre i+2 = PeriodB + 2. ArrayResize (c1b,PeriodB) için;

Ve aslında ... "i +" nızı 0,2,3 ile değiştirin.

 
SergNF :


zaten yazdığın gibi

iMAOnArray (olması gerektiği gibi) döngünün dışında yürütülür. Buna göre i+2 = PeriodB + 2. ArrayResize (c1b,PeriodB) için;

Ve aslında ... "i +" nızı 0,2,3 ile değiştirin.


Teşekkür ederim, dediğin gibi her şeyi yaptım ama şimdi neden sipariş verilmiyor?

Normalleştirme ile ve normalleştirme olmadan denendi.

   double c1b[];
   for (i= 1 ;i<=PeriodB;i++)
   {
   c1b[i]= iCCI ( NULL , 0 ,PeriodB, PRICE_TYPICAL ,i);
   }
   double c1b_1=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA , 1 );
   double c1b_2=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA , 2 );
   double c1b_3=iMAOnArray(c1b, 0 ,AvgB, 0 , MODE_SMA , 3 );
   
   double c1s[];
   for (i= 1 ;i<=PeriodS;i++)
   {
   c1s[i]= iCCI ( NULL , 0 ,PeriodS, PRICE_TYPICAL ,i);
   }
   double c1s_1=iMAOnArray(c1s, 0 ,AvgS, 0 , MODE_SMA , 1 );
   double c1s_2=iMAOnArray(c1s, 0 ,AvgS, 0 , MODE_SMA , 2 );
   double c1s_3=iMAOnArray(c1s, 0 ,AvgS, 0 , MODE_SMA , 3 );

 //if (NormalizeDouble(c1s_1,4)>NormalizeDouble(c1s_2,4)&&NormalizeDouble(c1s_2,4)<NormalizeDouble(c1s_3,4))
 if (c1s_1>c1s_2&&c1s_2<c1s_3)
     {                                          // 
      Opn_B=true;                               // Критерий откр. Buy
      Cls_S=true;                               // Критерий закр. Sell
     }
//if (NormalizeDouble(c1b_1,4)<NormalizeDouble(c1b_2,4)&&NormalizeDouble(c1b_2,4)>NormalizeDouble(c1b_3,4))
if (c1b_1<c1b_2&&c1b_2>c1b_3)
     {                                          // 
      Opn_S=true;                               // Критерий откр. Sell
      Cls_B=true;                               // Критерий закр. Buy
     }
 
gordeef :

Üzgünüm, hemen cevap vermedi, nbuk tamamen öldü. Umarım diş artık acımaz, ama korkunç bir şey. İtiraf ediyorum, Babon'da günah işledim, iyi çalışıyor, ancak NMAZZ göstergesi suçlanacak, nereden indirdiğimi hatırlamıyorum, ancak yine de bir çizelgede çalışıyor, ama onu üç çizelgeye soktum (5M, 30M, 4H) ve işte bu, bilgisayar sonunda donuyor, daha doğrusu terminal. Göstergeleri birer birer çizelgelerden çıkarmaya başladım ve bu yarayı böyle keşfettim. Ama şimdi her şeyi ayarladım, bu hindinin nesi var bilmiyorum ama ilk başta güzel çizdim. Ve bir tersine çevirme veya düzeltmeye gelince, evet, haklısınız, bu her zaman benzersiz bir geri dönüş değildir, ancak babun 30M, 1H ve 4H'de renk değiştirirse, o zaman bir geri dönüş değilse, düzeltme kesindir ve kazanabilirsiniz. biraz para.
Evet... çürük diş harikalar yaratır... Nereye giderseniz gidin... :) Bir hindiyi seviyorsanız ve onunla çalışmak istiyorsanız - ya iCustom ya da danışman koduyla, sanırım. Ve trend olan TS'ye gelince - burada daha dikkatli olmanız gerekiyor, zaten hareketin sonunda, yani geri dönüşten önce satın alabilirsiniz. Böylece geyik havada asılı kalacak (dün kötü bir dişle yaptığım gibi ... :))). Şimdi sadece trend tükenmesinin tanımı üzerinde çalışıyorum, hesaplamaları ve sonuçları paylaşmayı umuyorum.
 
Craft :


Teşekkür ederim, dediğin gibi her şeyi yaptım ama şimdi neden sipariş verilmiyor?

Normalleştirme ile ve normalleştirme olmadan denendi.


Peki o zaman, bu blokta bir hata olup olmadığını anlamak için her iki if'ov'dan sonra sadece "yazdırma" (Opn_B ve Cls_S dahil) Bir satır ve her şeyi bileceksiniz.

Asla bilemezsiniz, belki daha sonra onları yeniden atarsınız (Opn_B ve Cls_S) veya açılırken tamamen farklı değişkenler kullanılır.

 
artmedia70 :
Evet... çürük bir diş harikalar yaratır... Onunla nereye tırmanırsanız tırmanın... :)

Tedavi etmeye çalışmadılar. Yardımcı olduğunu söylüyorlar.
 
Vinin :

Tedavi etmeye çalışmadılar. Yardımcı olduğunu söylüyorlar.
Ah doğru! Bir yüzyıl yaşa - bir yüzyıl öğren ...;) Sadece geceleri Zakolyuchinsk'imizde tek bir diş hekimi bulamıyoruz ... Halk ilaçları ile savaşmak zorunda kaldım ...
 

Millet, mucizelerin olmadığını anlıyorum, ama kazanamıyorum ... Zaten masanın altına bakıyorum - aniden Hottabych orada oturuyor ... :)

Danışmanda bazı verilerin durumunu gösterge penceresinde gösterdim ve oradaki trendlerin durumunu göstermeye karar verdim, int -1, 0 ve +1 değerini döndüren kendi fonksiyonumla trendleri hesaplıyorum. Buna göre aşağı trend=-1, düz=0, yukarı trend=1. Okların istedikleri gibi görüntülendiğini, ancak farklı zaman dilimlerinde trendler yönünde olmadığını fark ettim. Uzun süre acı çektim ve okların çıktısını yorumladım ve onların yerine trend algılama fonksiyonunun döndürdüğü değerin çıktısını koydum. Ayrıca, kodun iki yerinde bu fonksiyon tarafından döndürülen durumun bir sonucunu çıkardım. Durumunu doğru bir şekilde döndürür, grafiğin sol üst köşesinde bu fonksiyon çağrıldıktan hemen sonra fonksiyonun değerleri görüntülenir. Aşağıda, gösterge penceresinde fonksiyonun değerleri de görüntülenmektedir. Dijital biçimde, her şey doğrudur, ancak işlevin dördüncü değeri, tanımı gereği, yalnızca üç sayı döndüren bir yerden alınır... Yani, bununla, dördüncü değerle, "Siktir git" yazısı görüntülenir. gösterge penceresi ... iyi, zaten kendime öfke yazdım ... :)

Sorunun ne olduğunu anlamama yardım et? Gassan Obdurakhman ibn Khottab'a inanmak istemiyorum... :) :)

   ObjectCreate ( "trM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trM15" , OBJPROP_XDISTANCE ,x* 10 );
   ObjectSet( "trM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   ObjectCreate ( "ArrowM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowM15" , OBJPROP_XDISTANCE ,x* 17 );
   ObjectSet( "ArrowM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   if (trM15== 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , Lime );
//         ObjectSetText("ArrowM15",CharToStr(241),10,"Wingdings",Lime);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , Lime );
      }
   if (trM15==- 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
//         ObjectSetText("ArrowM15",CharToStr(242),10,"Wingdings",OrangeRed);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , OrangeRed );
      }
   if (trM15== 0 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
//         ObjectSetText("ArrowM15",CharToStr(240),10,"Wingdings",OrangeRed);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , OrangeRed );
      }
   else
      {
         ObjectSetText( "trM15" , "Хрен вам" , 9 , "Tahoma" , LightGray );
//         ObjectSetText("ArrowM15",CharToStr(240),10,"Wingdings",LightGray);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , LightGray );
      }

Burada zaten dört durumu da kontrol etmeye çalıştım, sadece -1, 1 ve diğerlerini değil ...

Ve şimdi bana tam olarak başka bir şey veriyor

trM15 - trend algılama işlevi tarafından döndürülen değerin atandığı değişken

Resim, doğru değerlerin döndürüldüğünü ve yalnızca başka bir durumda olan bir "komik yazı" görüntülendiğini gösteriyor.

Kafa zaten dikişlerde ...

 
artmedia70 :

Millet, mucizelerin olmadığını anlıyorum, ama kazanamıyorum ... Zaten masanın altına bakıyorum - aniden Hottabych orada oturuyor ... :)

Danışmanda bazı verilerin durumunu gösterge penceresinde gösterdim ve oradaki trendlerin durumunu göstermeye karar verdim, int -1, 0 ve +1 değerini döndüren kendi fonksiyonumla trendleri hesaplıyorum. Buna göre aşağı trend=-1, düz=0, yukarı trend=1. Okların istedikleri gibi görüntülendiğini, ancak farklı zaman dilimlerinde trendler yönünde olmadığını fark ettim. Uzun süre acı çektim ve okların çıktısını yorumladım ve onların yerine trend algılama fonksiyonunun döndürdüğü değerin çıktısını koydum. Ayrıca, kodun iki yerinde bu fonksiyon tarafından döndürülen durumun bir sonucunu çıkardım. Durumunu doğru bir şekilde döndürür, grafiğin sol üst köşesinde bu fonksiyon çağrıldıktan hemen sonra fonksiyonun değerleri görüntülenir. Aşağıda, gösterge penceresinde fonksiyonun değerleri de görüntülenmektedir. Dijital biçimde, her şey doğrudur, ancak işlevin dördüncü değeri, tanımı gereği, yalnızca üç sayı döndüren bir yerden alınır... Yani, bununla, dördüncü değerle, "Siktir git" yazısı görüntülenir. gösterge penceresi ... iyi, zaten kendime öfke yazdım ... :)

Sorunun ne olduğunu anlamama yardım et? Hasan Obdurakhman ibn Khottab'a inanmak istemiyorum... :) :)

Burada zaten dört durumu da kontrol etmeye çalıştım, sadece -1, 1 ve diğerlerini değil ...

Ve şimdi bana tam olarak başka bir şey veriyor

trM15 - trend algılama işlevi tarafından döndürülen değerin atandığı değişken

Resim, doğru değerlerin döndürüldüğünü ve yalnızca başka bir durumda olan bir "komik yazı" görüntülendiğini gösteriyor.

Kafa zaten dikişlerde ...



her şey yolunda

 ObjectCreate ( "trM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "trM15" , OBJPROP_XDISTANCE ,x* 10 );
   ObjectSet( "trM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   ObjectCreate ( "ArrowM15" , OBJ_LABEL , 1 , 0 , 0 , 0 , 0 );
   ObjectSet( "ArrowM15" , OBJPROP_XDISTANCE ,x* 17 );
   ObjectSet( "ArrowM15" , OBJPROP_YDISTANCE ,y* 10 );
   
   if (trM15== 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , Lime );
//         ObjectSetText("ArrowM15",CharToStr(241),10,"Wingdings",Lime);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , Lime );
      }
   else if (trM15==- 1 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
//         ObjectSetText("ArrowM15",CharToStr(242),10,"Wingdings",OrangeRed);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , OrangeRed );
      }
   else if (trM15== 0 )
      {
         ObjectSetText( "trM15" , "Тренд M15" , 9 , "Tahoma" , OrangeRed );
//         ObjectSetText("ArrowM15",CharToStr(240),10,"Wingdings",OrangeRed);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , OrangeRed );
      }
   else
      {
         ObjectSetText( "trM15" , "Хрен вам" , 9 , "Tahoma" , LightGray );
//         ObjectSetText("ArrowM15",CharToStr(240),10,"Wingdings",LightGray);
         ObjectSetText( "ArrowM15" ,DoubleToStr(trM15, 0 ), 9 , "Tahoma" , LightGray );
      }

Bu seçeneği deneyebilirsiniz

 
Vinin :


her şey yolunda

Bu seçeneği deneyebilirsiniz

TAMAM. teşekkür ederim Victor Şimdiye kadar düzgün çalışıyor. Şimdiye kadar, çünkü uzun zamandır takip etmiyorum ama bana daha önce HİÇ Trend Up'ı getirmedi. Şimdi çıktılar:


Bir yaramaz büyücü için her zaman daha güçlü bir büyücü-büyücü olacağını biliyordum... :)

Tabii ki, bunların hepsi şaka ve şakalar, ama ... Victor, sadece doğru çözümü aptalca kopyalamak değil, aynı zamanda köpeğin nerede dolaştığını, sorunun amacının ne olduğunu ve böyle anlaşılmaz davranışları bulmak ve anlamak istiyorum. kodun?

 
artmedia70 :
Evet... çürük diş harikalar yaratır... Nereye giderseniz gidin... :) Bir hindiyi seviyorsanız ve onunla çalışmak istiyorsanız - ya iCustom ya da danışman koduyla, sanırım. Ve trend olan TS'ye gelince - burada daha dikkatli olmanız gerekiyor, zaten hareketin sonunda, yani geri dönüşten önce satın alabilirsiniz. Böylece geyik havada asılı kalacak (dün kötü bir dişle yaptığım gibi ... :))). Şimdi sadece trend tükenmesinin tanımı üzerinde çalışıyorum, hesaplamaları ve sonuçları paylaşmayı umuyorum.

Evet, zaten tersine çevirmeler ve düzeltmeler konusunda dikkatli olmaya çalışıyorum. Ve trendin tükenmesine gelince, bununla da ilgileniyorum, forumun genişliklerini dolaştım ve CodeBase'e baktım, ancak bu konuda hindilerle tanışmadım. Bu nedenle, hesaplamalarınızı okumak ilginç olacaktır. Ve başka bir soru, bana zararımı ve kârımı kontrol eden bir danışman attılar, resim işe yarayacak gibi görünüyor, ama soru şu ki, 15 puanlık kâr buna dahil ve fiyatın daha da ileri gidebileceğini görüyorum, yani Karımı neyle veya bir anlaşmayla arttırırsam, genel hesaplamaları ve danışmanın işini bozabilir mi?
Neden: