Lansmandan sonra aşağıdaki koşullarla beş dakikalık bir çizelgenin seyrini takip edecek bir Uzman Danışman: - sayfa 6

 

Güzel gün.

Kim söyleyebilir: Bir dosyaya hızlı bir şekilde geçmişi yazan bir script var ama dosya açıkken kayıt gitmiyor...

// M1'den geçmiş verileri yükleniyor
geçersiz LoadingM1(){//1
int MaxBars=MaxBarsInFile;
if(LoadM1 && iBars(Symbol(),PERIOD_M1)>BarsMin){ArrayCopyRates(ArrayM1,Symbol(),PERIOD_M1); ArrSizeM1=ArrayRange(ArrayM1,0);}
if(ArrSizeM1>1){//2
if(MaxBars>ArrSizeM1){MaxBars=ArrSizeM1;}
for(i2=1; i2<=Deneme; i2++){//3
h1 = FileWrite(FileNameM1,FILE_WRITE|FILE_CSV);
if(h1==-1){LastError=GetLastError();Info("1.2",1,""," Dosyayı açarken bir hata var: "+FileNameM1+" "+i2+" konumunda "+ErrorDescription(LastError) deneyin ));Duraklat=Duraklat+Duraklat; uyku(Duraklatma); devam etmek; }else{Info("1.2",2,"","Dosya "+DosyaAdıM1+" başarıyla açıldı ");}
FileWrite(h1,FirstLine);
for (i=MaxBars-1; i>=0; i-- ){//4
if(!USRegionSet){
CString=CString+TimeToStr(ArrayM1[i][0],TIME_DATE)+" "; // çubuğun tarihi
CString=CString+TimeToStr(ArrayM1[i][0],TIME_MINUTES)+","; // çubuğun zamanı
}
başka{
BarTime=ArrayM1[i][0];
CString=CString+GetUSFormatTime(BarTime)+" "; // çubuğun tarihi
Bar zamanı = 0;
}
CString=CString+DoubleToStr(ArrayM1[i][1],iDigits)+","; // açık fiyat
CString=CString+DoubleToStr(ArrayM1[i][3],iDigits)+","; // yüksek fiyat
CString=CString+DoubleToStr(ArrayM1[i][2],iDigits)+","; // Düşük fiyat
CString=CString+DoubleToStr(ArrayM1[i][4],iDigits)+""; // fiyatı kapat
FileWrite(h1,CString);
CString="";
}//4
DosyaKapat(h1);
LCM1 = iTime(Symbol(),PERIOD_M1,0);
dönüş;
}//3
}//2
}//1


Kollarda bir yerde sorun var anladığım kadarıyla ama soru şu...

 
Expert Advisor'ı test ederek, aşağıdaki parametrelerle karı gösterir, işte kod:
//+------------------------------------------------------------------+
//|                                                Expert-000001.mq4 |
//|                                    Copyright © 2008, salesman*** |
//|                                         http://www.forexgrand.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2008, salesman***"
#property link      "http://www.forexgrand.ru"
extern double StopLoss=30;                          // Stop Loss
extern double TakeProfit=3;                         // Take Profit
extern double Lots=0.02;                          // Объем сделки в %
extern double Slippage =4;                         // Максимальное отклонение от запрошенной цены
extern double Delta=30;                             // Сигнал приказа в пунктах
extern double MagicNumber ;                   // Order ID
int  ticket;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Цена упала больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"Купил",MagicNumber,11111,Green);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Цена выросла больше Delta пунктов
{
ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Ask-StopLoss*Point,Bid+TakeProfit*Point,"Продал",MagicNumber,22222,Green);
}
//----
return(0);
}
//+------------------------------------------------------------------+
Nasılsa çalışmıyor!!!!
Lütfen sebebinin ne olduğunu anlamama yardım edin.
 

Nasıl test ettin? Ve işe yaramazsa nasıl kâr gösteriyor? Ve nasıl çalışmıyor? Dergi ne yazdırır? Neredesin, test cihazında test ettin mi? Yoksa çevrimiçi mi?

Aynı zamanda OrdersTotal işlevinin ne olduğuna, ne işe yaradığına ve nasıl eklendiğine bakın ....

Örneğin, int toplam=SiparişToplam(); if(toplam<1) {

 
int başlangıç()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Fiyat Delta puanlarından fazla düştü
{
bilet=OrderSend( Symbol() ,OP_BUY,0.1,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Puan,"Satın Alındı",MagicNumber,11111,Green);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Fiyat Delta puanlarından fazla arttı
{
bilet=SiparişGönder(Symbol(),OP_SELL,0.1,Bid,3,Ask+StopLoss*Puan,Teklif AlKar*Puan,"Satıldı",MagicNumber,22222,Green);
}
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
Ve sen inatçı bir adamsın, anla. Çalışıyor ama sadece aptallık.Bunu MetaEditor'a kopyalayın, yoksa +'yı tekrar - ile karıştırırsınız.
 


Anladığım kadarıyla kulplarda bir yerde sorun var ama soru nerede...

İşte bir Sap alma örneği
int hwnd1 = WindowHandle (Symbol(), Period());
Senin gibi bir şey fark etmedim.
"csv" dosyası Excel tarafından açılırsa, kilitlenir ve dosyanın yazma erişimi yoktur, bu bir sırdır.
 
rid :

Nasıl test ettin? Ve işe yaramazsa nasıl kâr gösteriyor? Ve nasıl çalışmıyor? Dergi ne yazdırır? Neredesin, test cihazında test ettin mi? Yoksa çevrimiçi mi?

Aynı zamanda OrdersTotal işlevinin ne olduğuna, ne işe yaradığına ve nasıl eklendiğine bakın ....

Örneğin, int toplam=SiparişToplam(); if(toplam<1) {

Bir test cihazıyla test edildi, başka nasıl? :)
Kar 504, işlem sayısı 432, düşüş 788$, %7.31 gösterir. Ayarlarda pound başına m5, 03/17/08 - 03/19/08 olarak ayarladım
Ve grafikte başlattığımda, işlem koşullarım yerine getirildi ve uzman hiçbir şey yapmadı.....
 
zhuki :
int başlangıç()
{


//----
if (iOpen(NULL,5,0)-Bid>Delta*Point) //Fiyat Delta puanlarından fazla düştü
{
bilet=SiparişGönder(Symbol(),OP_BUY,0.1,Ask,3,Bid-StopLoss*Puan,Ask+TakeProfit*Puan,"Satın Alındı",MagicNumber,11111,Green);

}
if (iOpen(NULL,5,0)-Bid<Delta*Point) //Fiyat Delta puanından fazla arttı
{
bilet=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Ask+StopLoss*Puan,Teklif AlKar*Puan,"Satıldı",MagicNumber,22222,Green);
}
//----
dönüş(0);
}
//+------------------------------------------- --------------------+
Ve sen inatçı bir adamsın, anla. Çalışıyor ama sadece aptallık.Bunu MetaEditor'a kopyalayın, yoksa + ile - tekrar karıştırırsınız.
Yaşasın!!!!!! Çok teşekkürler. kazanıldı.
 
GRAIL'inizi bitirdiğinizde, en azından bir fikir paylaşın.
 
sormaya utanıyorum :)))
Uzman Danışmanımın yalnızca bir ticaret açtığından ve tamamlanana kadar diğerlerini açmadığından nasıl emin olabilirim?
 
salesman77 :
sormaya utanıyorum :)))
Uzman Danışmanımın yalnızca bir ticaret açtığından ve tamamlanana kadar diğerlerini açmadığından nasıl emin olabilirim?

Tüm açık pozisyonlar arasında bir döngü düzenleyin, mevcut sembol ve sihir ile uygunluklarını kontrol edin. Hiçbiri yoksa, yeşil ışığı açın. Kod tabanı, hemen hemen her Expert Advisor'da bu tür örneklerle doludur.
Neden: