Artyom Trishkin : Peki, sıfır mum M15'teki açık pozisyonların sayısını kontrol edin. Zaten bir pozisyon varsa ve sıfır mum M15'te açıksa, tekrar açmayın.
Programlamada pek iyi değilim ama bu modül tam da bunu yapıyor.
b= 0 ; for (i= OrdersTotal ()- 1 ;i>= 0 ;i--) { RefreshRates (); if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ; if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++; }
ama soru şu ki, emir SL veya TP tarafından kapatıldığında, M15'teki bir sonraki sinyal onu tekrar açacak.
Artyom Trishkin : Sınıf içinde, değerlere Prints yapın. Ardından, komut dosyasını çalıştırdığınızda orada ne yazdırılacağına günlüğe bakın;)
Baskılar yalnızca işlevin içine eklenebilir, ancak yazdırma veya uyarının çalışması için bu işlevi nasıl çağıracağımı anlamıyorum. Kodumu üç basit değişkenle düzelterek yardımcı olabilir misiniz ??? Her şeyi yazıda anlatıldığı gibi yapıyorum ama editör atlamıyor ya da bir şey eklenmemiş ya da bir şey anlaşılmamış, her halükarda duvar, bu yüzden yardım istedim. SKC için teşekkürler.
Peki, sıfır mum M15'teki açık pozisyonların sayısını kontrol edin. Zaten bir pozisyon varsa ve sıfır mum M15'te açıksa, tekrar açmayın.
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
Programlamada pek iyi değilim ama bu modül tam da bunu yapıyor
}
H1'de yeni bir çubuk üzerinde kontrol yapmaya çalışın
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
if ( stM1 <= 20 && stM0 > 20 && stH0 > 70 && b== 0 && opp != iTime ( _Symbol , PERIOD_H1 , 0 ) ) // покупка
{
opp = iTime ( _Symbol , PERIOD_H1 , 0 ) ;
RefreshRates ();
op = Ask ;
H1'de yeni bir çubuk üzerinde kontrol yapmaya çalışın
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
if ( stM1 <= 20 && stM0 > 20 && stH0 > 70 && b== 0 && opp != iTime ( _Symbol , PERIOD_H1 , 0 ) ) // покупка
{
opp = iTime ( _Symbol , PERIOD_H1 , 0 ) ;
RefreshRates ();
op = Ask ;
Programlamada pek iyi değilim ama bu modül tam da bunu yapıyor.
for (i= OrdersTotal ()- 1 ;i>= 0 ;i--)
{
RefreshRates ();
if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) == true ) a = 0 ;
if ( OrderSymbol () == Symbol () && OrderMagicNumber () == Magic) b++;
}
Hayır, bu kod parçası kesinlikle bunu yapmıyor.
M15 döneminde bir pozisyon açma çubuğunun sıfıra eşit olmadığını kontrol etmeniz gerekir - o zaman bir pozisyon açabilirsiniz:
{
// код открытия позиции
}
Merhaba! Sınıfları anlamama yardım et, neyi yanlış yapıyorum:
sınıf ASDMerhaba! Sınıfları bulmama yardım et, neyi yanlış yapıyorum:
sınıf ASDMakaleyi okuyarak başlayın.
Okudum ama tam olarak yakalayamadım.
İşte olanlar:
Sınıf:
{
private :
// Здесь располагаются переменные и функции, доступные только внутри класса
int c( int m_a, int m_b)
{
m_a=a+b; m_b=a-b;
int m_d=m_a+m_b;
d=m_d;
return (c(m_a,m_b));
}
public :
int a;
int b;
int d;
};
senaryo:
ASD ar;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart ()
{
ar.a= 1 ;
ar.b= 3 ;
Alert (ar.d);
}
//+------------------------------------------------------------------+
Uyarı sıfır verir. Sorun nedir??
Okudum ama tam olarak yakalayamadım.
İşte olanlar:
Sınıf:
Uyarı sıfır verir. Sorun nedir??
SRC düğmesini kullanarak kodu eklemek zor mu?
Sizin için doğru kodu yapıştırdım.
Okudum ama tam olarak yakalayamadım.
İşte olanlar:
Sınıf:
{
private :
// Здесь располагаются переменные и функции, доступные только внутри класса
int c( int m_a, int m_b)
{
m_a=a+b; m_b=a-b;
int m_d=m_a+m_b;
d=m_d;
return (c(m_a,m_b));
}
public :
int a;
int b;
int d;
};
senaryo:
ASD ar;
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart ()
{
ar.a= 1 ;
ar.b= 3 ;
Alert (ar.d);
}
//+------------------------------------------------------------------+
Uyarı sıfır verir. Sorun nedir??
Sınıf içinde, değerlere Prints yapın. Ardından, komut dosyasını çalıştırdığınızda orada ne yazdırılacağına günlüğe bakın;)