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

 
BaceK1 >> :
Ve tam olarak belirlenen zamanda bir pozisyon nasıl açılır? Örneğin yerel saatle 00.15'te bir pozisyon açmanız gerekiyor.

if (saat == 0 && dakika==15) {o zaman şunu yapın;}

danışmana göre, parantezlerin bir yerde (ve telafi edilecek bir yerde) parantezlerin nerede kaybolduğunu anlayın:

 //+------------------------------------------------------------------+
//|                                                   Полуночник.mq4 |
//|                                                            BaceK |
//+------------------------------------------------------------------+
#property copyright "BaceK"
#property link ""
//---- input parameters
extern int Dist_SL = 20 ;
extern int Dist_TP = 30 ;
extern double Prots = 0.35 ;
int start ( )
{
string Symb = Symbol ( ) ; // Финанс. инструмент
int Min_Dist = MarketInfo ( Symb , MODE_STOPLEVEL ) ; // Мин. дистанция //Alert("Мин. дистанция = ",Min_Dist);
double Min_Lot = MarketInfo ( Symb , MODE_MINLOT ) ; // Мин. размер лота//Alert("Мин. размер лота = ",Min_Lot);
double Free = AccountFreeMargin ( ) ; // Свободн средства//Alert("Свободн средства = ",Free);
double One_Lot = MarketInfo ( Symb , MODE_MARGINREQUIRED ) ; //Стоим.лота//Alert("Стоим.лота = ",One_Lot);
double Lot = MathFloor ( ( Free * Prots ) / ( One_Lot * Min_Lot ) ) * Min_Lot ; // Лоты//Alert("Лоты = ",Lot);//Alert("Bars = ",Bars);
//-----------------------------------------------
if ( Lot ! = 0 ) // Проверка свободных срелств                       
 { //Alert("Работа дальше = ",OrderSymbol());
   // Проверка рабочего времени
   int h = TimeHour ( TimeCurrent ( ) ) ;
   if ( h < 1 )
     { for ( int i = 1 ; i < = OrdersTotal ( ) ; i + + ) // Цикл перебора ордер
         { if ( OrderSelect ( i - 1 , SELECT_BY_POS ) = = true ) // Если есть следующий
           { // Анализ ордеров:
             if ( OrderSymbol ( ) ! = Symb ) // Не наш фин.инструм.
               { //Alert("Работа дальше = ",OrderSymbol());
               // Определение в какую сторону открываться
               if ( iOpen ( NULL , PERIOD_D1 , 1 ) - iClose ( NULL , PERIOD_D1 , 1 ) < 0 )
                 { //Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
                   int ticket = OrderSend ( Symb , OP_BUY , Lot , Ask , 3 , Bid - Dist_SL * Point , Bid + Dist_TP * Point ) ;
                 }
               else
                 { //Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
                   int ticket1 = OrderSend ( Symb , OP_SELL , Lot , Bid , 3 , Bid + Dist_SL * Point , Bid - Dist_TP * Point ) ;
                 }
               if ( ticket > 0 | | ticket1 > 0 ) // Получилось :)
                 { // Alert ("Установлен ордер SELL ",ticket || ticket1);
                   Sleep ( 5000 ) ;
                 }
               else
                 { int Error = GetLastError ( ) ; // Не получилось :(
                   switch ( Error ) // Преодолимые ошибки
                     { case 129 : ...................................
                    }
                   switch ( Error ) // Критические ошибки
                     { case 2 : ...................................
                     }
                   //Alert (GetLastError());
                   return ( 0 ) ;
                 }
               }
             else
               { //Alert("Выход по Symb = ",Symb);
               return ( 0 ) ;
               }
         } //это скобка закрывающая for() почему после неё идёт else ???????? 
       else
         { //Alert("Выход по ордеров нет = ",Symb);
         if ( iOpen ( NULL , PERIOD_D1 , 1 ) - iClose ( NULL , PERIOD_D1 , 1 ) < 0 )
           { //Alert("Длинная позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
             int ticket2 = OrderSend ( Symb , OP_BUY , Lot , Ask , 3 , Bid - Dist_SL * Point , Bid + Dist_TP * Point ) ;
           }
         else { //Alert("Короткая позиция = ",iOpen(NULL,PERIOD_D1,1)-iClose(NULL,PERIOD_D1,1));
               int ticket3 = OrderSend ( Symb , OP_SELL , Lot , Bid , 3 , Bid + Dist_SL * Point , Bid - Dist_TP * Point ) ;
             }
         if ( ticket2 > 0 | | ticket3 > 0 ) // Получилось :)
           { Sleep ( 5000 ) ; //Alert ("Установлен ордер SELL ",ticket2 || ticket3);            
           }
         else
           { int Error1 = GetLastError ( ) ; // Не получилось :(
             switch ( Error1 ) // Преодолимые ошибки
               { case 129 : ................................
               }
             switch ( Error1 ) // Критические ошибки
               { case 2 : ..........................
               }
             Alert ( GetLastError ( ) ) ; return ( 0 ) ;
           }
     }
   }
// дальше я не могу отследить что откуда ?????????????????????????????????????????????????????????
//?????????????????????????????????????????????????????????????????????????????????????????????????
} else
{ // Alert("Выход по времени = ",Hour());
return ( 0 ) ;
}
} else
{ return ( 0 ) ; } //Alert("Выход по Lot = ",Lot);
 return ( 0 ) ; //Alert ("Скрипт закончил работу -----------------------------");
}
//+------------------------------------------------------------------+

Kahretsin, bot kodun tamamını düzenlemeye izin vermiyor, onu kesmeniz gerekecek. Sığdırmak için anahtarı () kesin.

 

Mevcut tüm geçmişi bu tür satırlar biçiminde bir dosyaya nasıl yazarım ?

O;H;L;C;hacim;MA3;MA5;MA7;MA13; ... ve diğer göstergeler daha fazlası

H1 zaman diliminde mi?

teşekkürler

 
snowman647 >> :

Mevcut tüm geçmişi bu tür satırlar biçiminde bir dosyaya nasıl yazarım?

O;H;L;C;hacim;MA3;MA5;MA7;MA13; ... ve diğer göstergeler daha fazlası

H1 zaman diliminde mi?

teşekkürler




 //+------------------------- WritingLineInFile() ----------------------------
//| Дописывание строки в конец файла
//+---------------------------------
void WritingLineInFile ( string FlName , string Text ) {
  int file_handle = FileOpen ( FlName , FILE_CSV | FILE_READ | FILE_WRITE , " " ) ;
	if ( file_handle > 0 ) {
		FileSeek ( file_handle , 0 , SEEK_END ) ;
		FileWrite ( file_handle , Text ) ;
		FileClose ( file_handle ) ;
	}
	else {
	  Print ( "Ошибка " , GetLastError ( ) , " - Не удалось открыть файл " , FlName ) ;
   }
}
//--------------------------------------------------------------------------- 

Bu, bir dosyanın sonuna bir metin dizesi ekleyen kullanıcı tanımlı bir alt yordamdır. Start fonksiyonunun arkasına yerleştiriyoruz. En başta, dikkat çekici bir şekilde şöyle kullanıyoruz:

 // --------- Генерируем имя файла ------------
  FileName = Symbol ( ) + "_" + DoubleToStr ( Day ( ) , 0 ) + "_" + DoubleToStr ( Month ( ) , 0 ) + "_" + DoubleToStr ( Year ( ) , 0 ) + ".txt" ;
  TextInFile = TimeToStr ( TimeCurrent ( ) , TIME_DATE | TIME_SECONDS ) ;
  TextInFile = TextInFile + " " + DoubleToStr ( Bid , Digits ) ;
 

teşekkür etmek!

ve bana tüm hikaye boyunca bir geçişi nasıl organize edeceğimi söyle?

böylece dosyam 1999'dan 2009'a kadar H1 verilerini içeriyor

 

Yalnızca testçi için yeni bir işletim sistemi kurmayı planlıyorum, testlerin hangi işletim sisteminde daha hızlı çalıştığını kim bilebilir?

 

İyi akşamlar.

Daha dün MQL5'i ilk kez denedim. Ve düğmeyle ilgili bir sorun var. Lütfen bana düğmenin koordinatını nasıl ayarlayacağımı, rengi nasıl değiştireceğimi, metni nasıl ayarlayacağımı ve ondan basma hakkında nasıl bir yanıt sinyali alacağımı söyleyin. Nerede okuyabilirim, aksi takdirde MT5'in piyasaya sürülmesinden önce bile yayınlanan eski yardımı kullandım. Nerede okuyabilirim kimse söylemez? Teşekkür ederim. :)

 
Patriot писал(а) >>

İyi akşamlar.

Daha dün MQL5'i ilk kez denedim. Ve düğmeyle ilgili bir sorun var. Lütfen bana düğmenin koordinatını nasıl ayarlayacağımı, rengi nasıl değiştireceğimi, metni nasıl ayarlayacağımı ve ondan basma hakkında nasıl bir yanıt sinyali alacağımı söyleyin. Nerede okuyabilirim, aksi takdirde MT5'in piyasaya sürülmesinden önce bile yayınlanan eski yardımı kullandım. Nerede okuyabilirim kimse söylemez? Teşekkür ederim. :)

Buyrun... 'MetaTrader 5 beta testi başladı!'

 


Çok teşekkürler. :)
 
001 писал(а) >>

Yalnızca testçi için yeni bir işletim sistemi kurmayı planlıyorum, testlerin hangi işletim sisteminde daha hızlı çalıştığını kim bilebilir?

Ve yine de, bu konuda yeni bir konu açmayın?

 

XP ve konu kapanmıştır...

)))