Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 292

 

Beyler, söyleyin lütfen, bir danışmanla ticaret yapmak için iyi bir DC?

 
Ve ne tür bir danışman merak edebilirim Başka bir martin bana ne diyor, gerçek bir hesaptan başlamak ister misin?
 
Profitov :
Ve ne tür bir danışman merak edebilirim Başka bir martin bana ne diyor, gerçek bir hesap açmak ister misin?

Ne tür bir "Martin" olduğunu bilmiyorum.))) Gerçek bir hesap için çok erken , henüz bir demo değil, ama aynı DC'nin muhtemelen daha sonra gerçek olacağı bir demosunu istiyorum.

 
SpikeOne :

Beyler, biri ne olduğunu tarif edebilir mi? ve siparişlerin kapandığı yeri + 'da gösterir ve yeni bir seri açılır.

Andrei, gücenme, ama bu saçmalık Annals'taki yer!
 

Hepiniz hoşgeldiniz! İlginç bir sorunu çözmek için yardım istiyorum. Özelliği, bir kar elde ettikten sonra, 1'den 4'e kadar olan sonraki işlemlerin zararı durdur , sonra tekrar kar etmesi olan bir danışman var. EA, göstergenin sinyaliyle işlemleri açar. Bir kârın ardından zarar eden işlemleri hariç tutmak için, göstergeden ortaya çıkan sinyalleri atlamak gerekir, yani. kar elde ettikten sonra işlem yapmayın (1,2,3,4). Bunun için bir Sig işlevi var. Ancak bana öyle geliyor ki bu işlevi yanlış yazdım çünkü onunla, danışman siparişleri hiç açmaz ve onsuz her şey çok net bir şekilde çalışır. Akıllı insanlara sor, hata nerede?

Evet, sinyal, kâr aldıktan sonraki sinyal sayısıdır ve pynkt, kârın puan cinsinden boyutudur.

Yardım için minnettar olacağım.

void CheckForOpen()
{
   int ticket, STOPLEVEL;
   double Price, SL, TP; 
   STOPLEVEL=MarketInfo( Symbol (),MODE_STOPLEVEL);


   double MA1Low = NormalizeDouble ( iMA ( NULL , 0 ,MA_Period_2,MA_Shift_2,MA_Method_2, 0 , 1 ), Digits ); 
   double MA2High = NormalizeDouble ( iMA ( NULL , 0 ,MA_Period_2,MA_Shift_2,MA_Method_2, 1 , 1 ), Digits );
   
 
  
   if (Volume[ 0 ]> 1 ) return ;

     // продажа
   if (Open[ 1 ]>Close[ 1 ] && Open[ 1 ] > MA1Low && Close[ 1 ] < MA1Low)
   
{
       if (Pro( 1 , 100 ))

   {
       ticket= OrderSend ( Symbol (),OP_SELL,Lots,Bid,Slippage,SL,TP, "Pattern_1" , 1000 , 0 ,Red);
       return ;
    }
   
  }  
//---- buy conditions
   // покупка
   if (Open[ 1 ]<Close[ 1 ] && Open[ 1 ] < MA2High && Close[ 1 ] > MA2High)
 
 { 
   if (Pro( 1 , 100 ))
   {
      ticket= OrderSend ( Symbol (),OP_BUY,Lots,Ask,Slippage,SL,TP, "Pattern_1" , 1000 , 0 ,Blue);
       return ;
   }       
   }
}
 
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
bool Sig( int signal, int pynkt)
 {
   static int cnt = 0 ;
   static datetime tm;
   if (Time[ 0 ] == tm) return ( false );
  tm = Time[ 0 ];
   if ( OrderSelect (OrdersHistoryTotal()- 1 ,SELECT_BY_POS,MODE_HISTORY) == true )
   {
    cnt = cnt + 1 ;
     if (OrderType() == OP_BUY && OrderClosePrice() - OrderOpenPrice() < pynkt* Point ) cnt = 0 ;
     if (OrderType() == OP_SELL && OrderOpenPrice() - OrderClosePrice() < pynkt* Point ) cnt = 0 ;
     if (cnt >= signal) return ( true );
   }
   return ( false );
 }
//+------------------------------------------------------------------+
 
çözmeme yardım et, danışman derleme yapmıyor
//ПАРАМЕТРЫ ОТКРЫТИЯ ДЛИННОЙ ПОЗИЦИИ

if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )> 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )>- 100 
{
if ((NumberOfBarOpenLastPos()> 0 ||NumberOfBarOpenLastPos()==- 1 )&&(NumberOfBarCloseLastPos()> 0 ||NumberOfBarCloseLastPos()==- 1 ))
{ 
Opn_B= true ;
//Cls_S=true;
}
}
 //ПАРАМЕТРЫ ОТКРЫТИЯ короткой ПОЗИЦИИ    
if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )< 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )<- 100
{
if ((NumberOfBarOpenLastPos()> 0 ||NumberOfBarOpenLastPos()==- 1 )&&(NumberOfBarCloseLastPos()> 0 ||NumberOfBarCloseLastPos()==- 1 ))
{
Opn_S= true ; 
//Cls_B=true;   
}  
}


if (Tip== 0 ){
           if (TrailingStop> 0 )  
              {                 
               if (Bid-OrderOpenPrice()> Point *TrailingStop)
                 {
                   if (SL<Bid- Point *TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Bid- Point *TrailingStop,TP, 0 ,Green);
                     //return(0);
                    }
                 }
              }
}

if (Tip== 1 ){
           if (TrailingStop> 0 )  
              {                 
               if ((OrderOpenPrice()-Ask)>( Point *TrailingStop))
                 {
                   if (SL>Ask+ Point *TrailingStop)
                    {
                     OrderModify(Ticket,OrderOpenPrice(),Ask+ Point *TrailingStop,TP, 0 ,Red);
                     // return(0);
                    }
                 }
              }
}


   // Закрытие ордеров
   while ( true )                                   // Цикл закрытия орд.
     {
//длинной
//if (iRSI(NULL,0,14,PRICE_CLOSE,0)<30&&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){
 if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )< 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )<- 100 {  
       if (Tip== 0 )                 // Открыт ордер Buy..
        {                                       //и есть критерий закр
         Alert ( "Попытка закрыть Buy " ,Ticket, ". Ожидание ответа.." );
         RefreshRates();                         // Обновление данных
         Ans=OrderClose(Ticket,Lot,Bid, 2 );       // Закрытие Buy
         if (Ans== true )                         // Получилось :)
           {
             Alert ( "Закрыт ордер Buy " ,Ticket);
             break ;                               // Выход из цикла закр
           }
                           
            
         if (Fun_Error( GetLastError ())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
        }

// короткой       
if (Close[ NULL ]){
       if (Tip== 1 )                 // Открыт ордер Sell..
        {                                       // и есть критерий закр
         Alert ( "Попытка закрыть Sell " ,Ticket, ". Ожидание ответа.." );
         RefreshRates();                         // Обновление данных
         Ans=OrderClose(Ticket,Lot,Ask, 2 );       // Закрытие Sell
         if (Ans== true )                         // Получилось :)
           {
             Alert ( "Закрыт ордер Sell " ,Ticket);
             break ;                               // Выход из цикла закр
           }
                  
           
         if (Fun_Error( GetLastError ())== 1 )       // Обработка ошибок
             continue ;                           // Повторная попытка
         return ;                                 // Выход из start()
        }
        }
       break ;                                     // Выход из while
     }

 
niformalka :
çözmeme yardım et, danışman derleme yapmıyor

... ve onu hangi dilin kurallarına göre şekillendirdin?! Örneğin:

 if ( iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )> 100 && iCCI ( Symbol , 0 , 14 , PRICE_TYPICAL , 0 )>- 100 
{

:)

 
niformalka :
çözmeme yardım et, danışman derleme yapmıyor

Derleme hatasını gösteren kırmızı daireye çift tıklayın ve aynı daireyi, hatayı arayacağınız satırda solda göreceksiniz! Çevrenizi buradan göremezsiniz!

Ve gönderinizi, sayfanızdan benimkini sildiğim gibi silin!

 
SpikeOne :

senin yılın 2014
Kapsamlı bir cevap almak istiyorum!Bu markayı satış lideri yapacağım.
 
niformalka :

beyler hatayı bulmama yardım edin danışman derlemiyor zaten kafamı kırdım uzun/kısa pozisyon açma ve kapama satırlarında bir hata var


//UZUN BİR POZİSYON AÇMAK İÇİN PARAMETRELER

if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)>100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)>-100
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
Opn_B=doğru;
//Cls_S=doğru;
}
}
//KISA POZİSYON AÇMAK İÇİN PARAMETRELER
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100
{
if((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
{
Opn_S=doğru;
//Cls_B=doğru;
}
}


if(İpucu==0){
if(TrailingStop>0)
{
if(Bid-OrderOpenPrice()>Point*TrailingStop)
{
if(SL<Teklif Noktası*TrailingStop)
{
OrderModify(Ticket,OrderOpenPrice(),Bid-Point*TrailingStop,TP,0,Yeşil);
//dönüş(0);
}
}
}
}

if(İpucu==1){
if(TrailingStop>0)
{
if((OrderOpenPrice()-Ask)>(Nokta*TrailingStop))
{
if(SL>Sor+Point*TrailingStop)
{
OrderModify(Ticket,OrderOpenPrice(),Ask+Point*TrailingStop,TP,0,Red);
// dönüş(0);
}
}
}
}


// Kapanış siparişleri
while(true) // Sipariş kapatma döngüsü.
{
//uzun
//if (iRSI(NULL,0,14,PRICE_CLOSE,0)<30&&iRSI(NULL,0,14,PRICE_CLOSE,1)>30){
if(iCCI(Symbol,0,14,PRICE_TYPICAL,0)<100&&iCCI(Symbol,0,14,PRICE_TYPICAL,0)<-100 {
if (Tip==0) // Buy emri açık..
{ //ve bir kapatma kriteri var
Alert("Satın Alımı Kapatmaya Çalışıyor ",Ticket,". Yanıt bekleniyor..");
Yeniler(); // Veriyi güncelle
Ans=SiparişKapat(Bilet,Lot,Teklif,2); // Satın Al'ı Kapat
if (Ans==true) // Anladım :)
{
Alert("Sipariş kapandı",Bilet);
kırmak; // Kapatma döngüsünden çık
}


if (Fun_Error(GetLastError())==1) // Hata İşleme
devam etmek; // Yeniden dene
dönüş; // başlangıçtan çık()
}
}

// kısa boylu
if (Kapat[NULL]){
if (Tip==1) // Satış emri açıldı..
{ // ve bir kapatma kriteri var
Alert("Satılmaya çalışılıyor",Ticket,". Cevap bekleniyor..");
Yeniler(); // Veriyi güncelle
Ans=SiparişKapat(Bilet,Parti,Sor,2); // Satışı Kapat
if (Ans==true) // Anladım :)
{
Alert("Satış emri kapandı",Bilet);
kırmak; // Kapatma döngüsünden çık
}


if (Fun_Error(GetLastError())==1) // Hata İşleme
devam etmek; // Yeniden dene
dönüş; // başlangıçtan çık()
}
}
kırmak; // iken çık
}



Derleyicinin yapamadığı tek şey değişkenleri bildirmektir.
Neden: