[ARŞİV] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 3. - sayfa 515

 
edyuson :

Umurumda değil, bu benim bulmacam değil. Az önce ihtiyacım olan benzer bir algoritma buldum ve onu bitirmeye çalışıyorum, tam da ihtiyacım olan yol bu. https://www.mql5.com/ru/code/9927 Che kaldırıldı, ne kaldı.

beni avlıyor 0.01,0.01,0.01; 0.02,0.02,0.02; 0.04,0.04,0.04; 0.08,0.08,0.08......

bazıları bir dizi aracılığıyla yapar
 
YOUNGA :
bazıları bir dizi aracılığıyla yapar


aşağı yukarı şöyle:

 double mas[ 3 ];
int q;
int w;

for ( int z= OrdersHistoryTotal ()- 1 ; z> 0 ; z--)
{
 OrderSelect (z, SELECT_BY_POS, MODE_HISTORY);
 if ( OrderSymbol ()== Symbol ())
 {
   if ( OrderProfit ()> 0 || q>= 3 ) break ;
   if ( OrderProfit ()< 0 )
  {
  mas[q]= OrderLots ();
  q++;
  }
 }
}
if (mas[ 0 ]< 0 && mas[ 1 ]< 0 && mas[ 2 ]< 0 ) w= 1 ; //Ваше условие
 

Hey!

İnsanlar, bir hindi başlangıcında bir döviz çiftinin kullanılabilirliğini nasıl kontrol edeceğinizi tavsiye eder misiniz?

Bu uh-ku-el'le savaşmak için çoktan uğraştım.

İşte kod:

[CODE]

extern string CurrencyPair = "" ;
string gsSymbol, gsIndiName;

bool bIndicatorError;

...

int start() {

if ( StringLen (CurrencyPair) == 0 )
gsSymbol = Symbol ();

else

gsSymbol = CurrencyPair;

Comment ( MarketInfo (gsSymbol, MODE_TRADEALLOWED)); // ЗАКОВЫКА ЗДЕСЬ, это чудо всегда возвращает 0.0000000 при старте терминала. Если же потом открыть свойства индикатора и даже ничего не поправлять в параметрах, то возвращает 1.000000

if (! MarketInfo (gsSymbol, MODE_TRADEALLOWED)) {
Alert (gsIndiName, ": Trade is not allowed for symbol [" , gsSymbol, "]" );
bIndicatorError = true;
return (- 1 );
}

}

[CODE]

Belki daha iyi ve daha hızlı bir yolu vardır.

Genel olarak, temel işlevlerin çalıştığı veya çalışmadığı bir dilde program yazmanın nasıl mümkün olduğunu anlamıyorum.

 
Ayarlanan parametrelerle bir komut dosyası oluşturmak mümkün mü? Bana öyle geliyor ki, bir yerde, başlangıçta sizden parametreleri girmenizi isteyen bir komut dosyasıyla tanıştım.
 
sss2019 :
Ayarlanan parametrelerle bir komut dosyası oluşturmak mümkün mü? Bana öyle geliyor ki, bir yerde, başlangıçta sizden parametreleri girmenizi isteyen bir komut dosyasıyla tanıştım.
komut dosyasında harici parametreleri harici yap
 
artmedia70 :
komut dosyasında harici parametreleri harici yap


ayarları yaptım

 extern string StartTime = "2011.01.01" ;
extern string EndTime = "2011.01.25" ;

ancak bazı nedenlerden dolayı komut dosyası, yürütmeden önce ayarlarını göstermiyor

 
Dobr :


aşağı yukarı şöyle:

 double mas[ 3 ];
int q;
int w;

for ( int z= OrdersHistoryTotal ()- 1 ; z> 0 ; z--)
{
 OrderSelect (z, SELECT_BY_POS, MODE_HISTORY);
 if ( OrderSymbol ()== Symbol ())
 {
   if ( OrderProfit ()> 0 || q>= 3 ) break ;
   if ( OrderProfit ()< 0 )
  {
  mas[q]= OrderLots ();
  q++;
  }
 }
}
if (mas[ 0 ]< 0 && mas[ 1 ]< 0 && mas[ 2 ]< 0 ) w= 1 ; //Ваше условие
şimdiye kadar sadece bu şekilde: 0.01, 0.02, 0.04, 0.08, 0.16... İhtiyacım var 0.01,0.01,0.01; 0.02,0.02,0.02; 0.04,0.04,0.04; 0.08,0.08,0.08......
 
sss2019 :


ayarları yaptım

ancak bazı nedenlerden dolayı komut dosyası, yürütmeden önce ayarlarını göstermiyor

https://docs.mql4.com/en/basis/preprosessor/compilation
 
edyuson :
şimdiye kadar sadece bu şekilde: 0.01, 0.02, 0.04, 0.08, 0.16... İhtiyacım var 0.01,0.01,0.01; 0.02,0.02,0.02; 0.04,0.04,0.04; 0.08,0.08,0.08......


peki, YAKLAŞIK yazdım ...;)

işte daha doğru bir versiyon:

 double mas[ 3 ]={ 0 , 0 , 0 };
int q= 0 ;
int w= 0 ;
int z= 0 ;
for (z= OrdersHistoryTotal ()- 1 ;z> 0 ; z--)
{
 OrderSelect (z, SELECT_BY_POS, MODE_HISTORY);
 if ( OrderSymbol ()== Symbol ())
 {
   if ( OrderProfit ()> 0 || q== 3 ) break ;
   if ( OrderProfit ()< 0 )
  {
  mas[q]= OrderLots ();
  q++;
  }
 }
}
if (mas[ 0 ]==lot && mas[ 1 ]==lot && mas[ 2 ]==lot) w= 1 ;
if (w== 1 ) lot= OrderLots ()* 2 ;
 
ForexTader :


Genel olarak, temel işlevlerin çalıştığı veya çalışmadığı bir dilde program yazmanın nasıl mümkün olduğunu anlamıyorum.


Kontrollerin bir kısmını init'ten başlangıca aktarmayı deneyebilirsiniz. hepsi orada dolu. Ayrıca terminalin durumunu vb. kontrol edebilirsiniz.