Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 71

 

Göstergenin günlük grafikte oklar çizmesi gerekiyor. Sorunun 15 dakikalık EMA değerlerini kullanmak olduğunu varsayıyorum, her şey 15 dakikalık EMA'da çalışıyor. Göstergeyi 15 dakikalık zaman diliminden hesaplamak ve günlük grafikte de oklar çizmek mümkün müdür?

Kodun kendisi aşağıdadır:

 #property copyright ""
#property link       ""

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Magenta
#property indicator_color2 Red

//--- input parameters

//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle( 0 , DRAW_ARROW );
   SetIndexArrow( 0 , 217 );
   SetIndexBuffer ( 0 ,ExtMapBuffer1);
   SetIndexEmptyValue( 0 , 0.0 );
   SetIndexStyle( 1 , DRAW_ARROW );
   SetIndexArrow( 1 , 217 );
   SetIndexBuffer ( 1 ,ExtMapBuffer2);
   SetIndexEmptyValue( 1 , 0.0 );
   IndicatorDigits( Digits + 1 );
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
     int counted_bars=IndicatorCounted(),                      
    limit;
     double
    signal_1,
    signal_2,
    MA_1_t,                                                 
    MA_2_t;
 
   if (counted_bars> 0 )
      counted_bars--;
   
   limit= Bars -counted_bars;
   
   
   for ( int i= 0 ;i<limit;i++)
   {
      MA_1_t= iMA ( NULL , PERIOD_M15 , 3 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 0 );  
      MA_2_t= iMA ( NULL , PERIOD_M15 , 3 , 0 , MODE_EMA , PRICE_CLOSE ,i+ 1 );  
      signal_1 = (условие);
      signal_2 = (условие);
       if (signal_1 >= определенное число)
      ExtMapBuffer1[i]=High[i]+ 5 * Point ;
       else
         ExtMapBuffer1[i]= 0.0 ;
       if (signal_2 >= определенное число)
         ExtMapBuffer2[i]=Low[i]- 5 * Point ;         
       else
         ExtMapBuffer2[i]= 0.0 ; 
   }
   return ( 0 );
  }
//+------------------------------------------------------------------+
 
satorifx :


dist = MathAbs((NormalizeDouble(Bid,Digits)-
NormalizeDouble(ObjectGetValueByShift(TrendLineName,0),Digits))*MathPow(10,Digits));

Kod, mevcut fiyat seviyesinden TrendLineName adlı trende olan mesafeyi bulur. Ancak bir sorun var: görünüşe göre trend çizgisi yarılar arasında yanlış bir şekilde aktarılıyor ve bu nedenle fiyata olan mesafe farklı yarılarda tamamen farklı çıkıyor. Bu sorun nasıl aşılır? İdeal olarak, trend çizgisi yalnızca H1'de W1 açık zamanı ile (aslında herhangi bir açık zaman için) görüntülense bile, hesaplanan mesafe aynı olmalıdır.


Yukarıdaki alıntıdaki soruyla bağlantılı olarak başka bir soru: grafikte açık olandan farklı bir zaman nasıl simüle edilir? Yani, örneğin, açık D1 ile M30'a göre hesaplayın?
 
İnterneti karıştırdım, bir şey buldum ama ne kadar denesem de işe yaramıyor! takip eden bir durdurma eklememe yardım et)) şöyle çalışmalı - fiyat "X" puan artarsa / düşerse (kar olarak), bu fiyattan "Y" puanları tarafından takip eden bir durdurma tetiklenir ve kâr boyunca hareket eder. adım "Z". yardımcı olanlara çok teşekkürler))))))

//+------------------------------------------- --------------------+
//| sobstvennyi_probnyi_sovetnic.mq4 |
//| Antoniko |
//| http://www.metaquotes.net |
//+------------------------------------------- --------------------+
# mülkiyet telif hakkı "Antonico"
#özellik bağlantısı "http://www.metaquotes.net"

//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
çift parti=1;
dış çift sl=30;
dış çift tp=30;
dış çift katsayısı=2;
intpon=1;
int vtor=0;
int orta=3;
int hetver=0;
intpatn=0;


int init()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman sıfırlama işlevi |
//+------------------------------------------- --------------------+
int tanım()
{
//----

//----
dönüş(0);
}
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
int başlangıç()

{ int otkrord=SiparişToplam();
if (DayOfWeek()==pon || DayOfWeek()==vtor || DayOfWeek()==sred || DayOfWeek()==hetver || DayOfWeek()==patn || DayOfWeek()==6 || DayOfWeek()==0 || otkrord >0) return(0);



if(OrdersHistoryTotal()==0)
{lot=1;}

if (OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
if (OrderProfit()>0)
{
parti=1;
}
if (OrderProfit()<=0)
{
lot=OrderLots()*koeff; // 2 ile çarp
}

}


int h=ZamanSaati(ZamanAkım());
int m=TimeMinute(TimeCurrent());
int s=TimeSeconds(TimeCurrent());
double zena0= Açık[3];
double zena01=Aç[2];


if (h==1 && m==00 && s==01 && zena0<zena01 )

{OrderSend(Symbol(), OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Yeşil);}





if (h==1 && m==00 && s==01 && zena0>zena01)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);
}


{if(OrdersHistoryTotal()==0)
{lot=1;}

if (OrderSelect(OrdersHistoryTotal()-1,SELECT_BY_POS,MODE_HISTORY))

{
if (OrderProfit()>0)
{
parti=1;
}
if (OrderProfit()<=0)
{
lot=OrderLots()*koeff; // Kaybedilen bir ticaretten sonra 2 ile çarpın
}

}




double zena1= Aç[5];
double zena11=Aç[4];

if (h==3 && m==00 && s==01 && zena1>zena11)
{



OrderSend(Symbol(), OP_BUY,lot,Ask,3,Bid-sl*Point,Ask+tp*Point,"",0,0,Green);}
if (h==14 && m==00 && s==01 && zena1<zena11)
{OrderSend(Symbol(), OP_SELL,lot,Bid,3,Ask+sl*Point,Bid-tp*Point,"",0,0,Red);

}
}

dönüş(0);
}

//+------------------------------------------- --------------------+
 

Lütfen bana bir karakterin (dize) nasıl ASCII koduna dönüştürülebileceğini söyler misiniz?

Kabaca konuşursak, CharToStr () işlevinin tersi olan bir işleve ihtiyacımız var.

 
Heroix :

Lütfen bana bir karakterin (dize) nasıl ASCII koduna dönüştürülebileceğini söyler misiniz?

Kabaca konuşursak, CharToStr () işlevinin tersi olan bir işleve ihtiyacımız var.


 

tünaydın.

yardım edin koda ihtiyacım var

grafik akım grafiği

yeni bir bar açarken, bir sipariş açılmalıdır

yeni çubuk

 
sannin :

tünaydın.

yardım edin koda ihtiyacım var

grafik akım grafiği

yeni bir bar açarken, bir sipariş açılmalıdır

yeni çubuk

Sorun yok!

İhtiyacınız olan kodu yazmaya başlayın. Zorluk durumunda, sorular sorun ve yazdığınız kodun parçalarını gösterin, deneyimli yoldaşlar nerede hata yaptığınızı gösterecektir.

 

Herkese selam.

Böyle bir sorum vardı. Test cihazında, örneğin saatlik grafiğe bakarsanız hafta 00:00'da başlar. Forex haftasının 20:15 GMT'de başladığı bilinmektedir. Yani, test cihazındaki saatten GMT saatini almak için kabaca 20 saat ekleyip moduloyu 24'e bölüyoruz, değil mi?

 
neden tam olarak 20:15'te, komisyoncunuz açılacağı gibi sizin için açılacak
 
Herkese iyi günler. Lütfen bana bilgiyi nereden alabileceğimi söyle. danışmanın meraklı gözlerden nasıl kapatılacağı ve danışmanın belirli bir süre çalışması için neyin gerekli olduğu ve daha sonra şu ana kadar faydalı olmaktan vazgeçtiği konusunda, örneğin, çalışmaya devam etmek için bir kodun tanıtılması, bunun gibi bir şey . Şimdiden teşekkürler!!!