[Arşivle!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 2. - sayfa 71

 
DhP :
EA kodu tarafından sağlanmadığı sürece MagicNumber bu durumda değişmez.

Herkese teşekkürler!
 
Roman. :


Karar:

Almak için vereceğim (sat - analojiyle):

1. MA molası - 3., 2. ve 1. çubuklardaki MA değerlerini alın - karşılaştırın. 3>2 ve 2<1 numaralı çubuklardaki MA değerleri ise, bu bir dönüm noktasıdır.

2. ayrıca - fraktal - penetrasyon - bir anlaşma sinyali

3. MA'nın numaralandırılmasına gelince - harici (optimize edilmiş) değişkenlere alın:

Period_MA (2'lik adımlarla 2 ila 240 arasında ayarlayabilirsiniz), MOD - (MA hesaplama yöntemi - 0 ila 3 adım 1 arasındaki değişiklik aralığı), PRICE_TYPE - (fiyat sabiti - 0 ila 6 adım 1 arasındaki değişiklik aralığı), Duyduğuma göre gün içi çalışırken ortalama değerlerle (kapanış fiyatı önemli değil) MA hesaplamak daha mantıklı, günlük mumlar üzerinde çalışırken MA günlerin kapanış fiyatları ile hesaplanıyor.

PERİYOD - sonraki her optimizasyonda manuel olarak değiştirin - 1,5,15,30,60,240...

iMA'da F1'e basın - oradaki her şeyi dikkatlice tekrar okuyun.

Ve tabii ki TR'yi optimize edin ve her zamanki gibi kaybı durdurun.

not Test sonuçları hakkında bilgi yazmayı unutmayın... :-)))

TF=1 dk için test sonuçları. danışmanı günde bir kez optimize etseniz bile karlı seçenekler sunmadı.
 
DhP :
Bir pozisyonu kısmen kapatırken sihri değiştirebilirsiniz. Eminim kolayca yazabilirsin.

muhtemelen mql topluluğu için mevcut olmayan bilgilere sahipsiniz veya soruyu anlamadınız veya OrderClose işlevinin sihri değiştirdiği konusunda safça yanılıyorsunuz.

 
gince :

İlk flag[i+ 1 ] ayarına sahip olmadığımı fark ettim. Eğer öyleyse, nerede ve nasıl yapılır?

1'e ayarlarsam, gösterge başladığında, (gösterge) bir değişiklik bekleyecektir.

bu şekilde doğru yapın:

 if ((flag[i]== 1 || flag[i]== 0 ) && условие продажи)
başlatılmamış bayrağın = 0 olması koşuluyla (veya EMPTY_VALUE .... alır)
 
sergeev :

bu şekilde doğru yapın:

başlatılmamış bayrağın = 0 olması koşuluyla (veya EMPTY_VALUE ....)

Herkese teşekkürler. İstediğimi yaptım.

 
volshebnik :
TF=1 dk için test sonuçları. danışmanı günde bir kez optimize etseniz bile karlı seçenekler sunmadı.

TF ne kadar düşükse, gürültü o kadar yüksek olur...
 
Roman. :

TF ne kadar düşükse, gürültü o kadar yüksek olur...
Evet, ancak strateji doğruysa, o zaman bana öyle geliyor ki, herhangi bir TF üzerinde, yalnızca farklı parametrelerle çalışması gerekiyor. TF=5 dk üzerinde yapılan testlerin sonucu. ayrıca karlı seçenekler sunmadı.
 
volshebnik :
Evet, ancak strateji doğruysa, o zaman bana öyle geliyor ki, herhangi bir TF üzerinde, yalnızca farklı parametrelerle çalışması gerekiyor. TF=5 dk üzerinde yapılan testlerin sonucu. ayrıca karlı seçenekler sunmadı.

gerçek bir sapık var. Şimdi gerginim. Dayanma.
 
sergeev :

hala kodunuzda bir hata var.

unutmayın: beklemedeki duruşlar ve alımlar mevcut fiyattan değil, emir açılış fiyatından sayılır.



Size özel teşekkürler ve saygılar :))))

Düzeltilmiş hatalar (umarım artık her şey :)) + limitler eklendi. Verdikleri siparişlere umutsuzca bir Magic numarası atamak isteyenler için paha biçilmez olacaktır.

Sağlık için kullanın!

 #property copyright "Copyright © 2010 - 2011, Хлыстов Владимир, в редакции AMRo"
#property link       "cmillion@narod.ru, nemo811@mail.ru"
#property show_inputs
/*
Иногда требуется помочь советнику добавить ордер, но чтобы советник его принял за свой
необходим Magic номер. Для выставления ордера с таким номером и предназначен этот скрипт.
Возможна одновременная установка до 6 типов ордеров. При сбоях связи или резком движении цены
будет выполнено 10 попыток выставления ордера, после чего скрипт закончит работу.
*/
//--------------------------------------------------------------------
extern int      Magic       = 0 ;         //уникальный номер ордера
extern bool     BUY         = false;     //открыть ордер BUY
extern bool     BUY_STOP    = false;     //поставить ордер BUY STOP
extern bool     BUY_LIMIT   = false;     //поставить ордер BUY LIMIT
extern bool     SELL        = false;     //открыть ордер SELL
extern bool     SELL_STOP   = false;     //поставить ордер SELL STOP
extern bool     SELL_LIMIT  = false;     //поставить ордер SELL LIMIT
extern double   Lot         = 0.1 ;       //объем ордера
extern int      takeprofit  = 0 ;         //уровень выставления TP, если 0, то TP не выставляется
extern int      stoploss    = 0 ;         //уровень выставления SL, если 0, то SL не выставляется
extern int      DistanceSet = 40 ;       //расстояние от рынка для отложенника
extern int      slippage    = 3 ;         //максимально допустимое отклонение цены для рыночных ордеров
//--------------------------------------------------------------------
double SL,TP;
//--------------------------------------------------------------------
int start()
{
   if (BUY)
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble (Ask + takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL  = NormalizeDouble (Ask - stoploss* Point , Digits ); else SL= 0 ;     
      OPENORDER ( "Buy" );
   }
   if (SELL)
   {  
       if (takeprofit!= 0 ) TP = NormalizeDouble (Bid - takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL = NormalizeDouble (Bid + stoploss* Point , Digits );   else SL= 0 ;              
      OPENORDER ( "Sell" );
   }
   if (BUY_STOP)
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble (Ask + DistanceSet* Point + takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL  = NormalizeDouble (Ask + DistanceSet* Point - stoploss* Point , Digits ); else SL= 0 ;     
      OPENORDER ( "Buy Stop" );
   }
   if (SELL_STOP)
   {  
       if (takeprofit!= 0 ) TP = NormalizeDouble (Bid - DistanceSet* Point - takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL = NormalizeDouble (Bid - DistanceSet* Point + stoploss* Point , Digits );   else SL= 0 ;              
      OPENORDER ( "Sell Stop" );
   }
   if (BUY_LIMIT)
   {
       if (takeprofit!= 0 ) TP  = NormalizeDouble (Ask - DistanceSet* Point + takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL  = NormalizeDouble (Ask - DistanceSet* Point - stoploss* Point , Digits ); else SL= 0 ;     
      OPENORDER ( "Buy Limit" );
   }
   if (SELL_LIMIT)
   {  
       if (takeprofit!= 0 ) TP = NormalizeDouble (Bid + DistanceSet* Point - takeprofit* Point , Digits ); else TP= 0 ;
       if (stoploss!= 0 )   SL = NormalizeDouble (Bid + DistanceSet* Point + stoploss* Point , Digits );   else SL= 0 ;              
      OPENORDER ( "Sell Limit" );
   }
return ( 0 );
}
//--------------------------------------------------------------------
void OPENORDER( string ord)
{
   int error,err;
   while (true)
   {  error=true;
       if (ord== "Buy" ) error= OrderSend ( Symbol (),OP_BUY, Lot, NormalizeDouble (Ask, Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (ord== "Sell" ) error= OrderSend ( Symbol (),OP_SELL,Lot, NormalizeDouble (Bid, Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (ord== "Buy Stop" ) error= OrderSend ( Symbol (),OP_BUYSTOP, Lot, NormalizeDouble (Ask + DistanceSet* Point , Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (ord== "Sell Stop" ) error= OrderSend ( Symbol (),OP_SELLSTOP,Lot, NormalizeDouble (Bid - DistanceSet* Point , Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (ord== "Buy Limit" ) error= OrderSend ( Symbol (),OP_BUYLIMIT, Lot, NormalizeDouble (Ask - DistanceSet* Point , Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (ord== "Sell Limit" ) error= OrderSend ( Symbol (),OP_SELLLIMIT,Lot, NormalizeDouble (Bid + DistanceSet* Point , Digits ),slippage,SL,TP, "" ,Magic, 0 );
       if (error==- 1 ) //неудачная попытка
      {  
         ShowERROR();
         err++; Sleep ( 2000 );RefreshRates();
      }
       if (error || err > 10 ) return ;
   }
return ;
}                  
//--------------------------------------------------------------------
void ShowERROR()
{
   int err= GetLastError ();
   switch ( err )
   {                  
       case 1 :   return ;
       case 2 :   Alert ( "Нет связи с торговым сервером " , Symbol ()); return ;
       case 3 :   Alert ( "Error неправильные параметры " , Symbol ()); return ;
       case 130 : Alert ( "Error близкие стопы   Ticket " , Symbol ()); return ;
       case 134 : Alert ( "Недостаточно денег   " , Symbol ()); return ;
       case 146 : Alert ( "Error Подсистема торговли занята " , Symbol ()); return ;
       case 129 : Alert ( "Error Неправильная цена " , Symbol ()); return ;
       case 131 : Alert ( "Error Неправильный объем " , Symbol ()); return ;
       case 4200 : Alert ( "Error Объект уже существует " , Symbol ()); return ;
       default :   Alert ( "Error  " ,err, " " , Symbol ()); return ;
   }
}
//--------------------------------------------------------------------
 
Roman. :

gerçek bir sapık var. Şimdi gerginim. Dayanma.
TF'ye göre = 15 dak. aynısı. Şimdiye kadar bu stratejide "sadakat" göremiyorum, belki hala ileride görünecektir. (Mutlu tatiller))