Fraktal Kopma-Sıkışmış - sayfa 6

 

bu parantez hakkında ilk

bunu gör

 int total = OrdersTotal ();
if (total< 1 )
{

//--------------------------------------//
//------------Money Management----------//
 if (Money.Management)
   {
       if (Risk< 1 || Risk> 1000 )
      {
         Comment ( "Invalid Risk Value." );
         return ( 0 );
      }
       else
      {
         Lots= MathFloor ((AccountFreeMargin()*AccountLeverage()*Risk*pips2dbl* 100 )/(Ask*MarketInfo( Symbol (),MODE_LOTSIZE)*MarketInfo( Symbol (),MODE_MINLOT)))*MarketInfo( Symbol (),MODE_MINLOT);
      }
   }
//------------------------------------------//
//-------------EMA SETTINGS-----------------//
double EMA= iMA ( NULL , 0 ,MA_Period,MA_Shift,MA_Type,MA_Price, 0 );
double BarClose;
BarClose=Bid;

//---------------------------------------------------------//
//-----------------FRACTALS--------------------------------//
double fractalU= iFractals ( NULL ,Fractal_TF, 1 ,Fractal_Buffer);
double fractalD= iFractals ( NULL ,Fractal_TF, 2 ,Fractal_Buffer);
Print ( "This Up Fractal is" ,fractalU, "Down Fractal is" ,fractalD);

//----------------PRCOESSING BUY---------------------------//
if (BarClose>EMA && BarClose== fractalU)
{
double SLB=Bid-StopLoss*pips2dbl;
double TPB=Bid+TakeProfit*pips2dbl;
int buy= OrderSend ( Symbol (), 0 ,Lots,Ask,Slippage*pips2points, 0 , 0 );
}

if (buy> 0 ) 
{
OrderSelect (buy,SELECT_BY_TICKET,MODE_TRADES);
OrderModify(buy,OrderOpenPrice(),SLB,TPB, 0 ,Green);
}

//---------PROCESSING SELL---------//
if (BarClose<EMA&&BarClose==fractalD)
{
double SLS=Ask+StopLoss*pips2dbl;
double TPS=Ask-TakeProfit*pips2dbl;

int sell= OrderSend ( Symbol (), 1 ,Lots,Bid,Slippage*pips2points, 0 , 0 );
}

if (sell> 0 )
{
OrderSelect (sell,SELECT_BY_TICKET,MODE_TRADES);
OrderModify(sell,OrderOpenPrice(),SLS,TPB, 0 ,Green);
}




//----------------------------------------------//
//-----------------EXITING ORDERS---------------//

for ( int i= OrdersTotal ()- 1 ; i>= 0 ;i--)          <===HOW Can be here one trade in the loop if OrdersTotal() < 1 
{
if ( OrderSelect (i,SELECT_BY_POS,MODE_TRADES)== false )   break ;

if (OrderMagicNumber()!=MagicNumber || OrderSymbol() != Symbol ()) continue ;

double SL=OrderStopLoss();
bool result;
int   error;
//-----The Differnt Order types---//

if (OrderType()==OP_BUY)
{

   if (BreakEven> 0 )
  {
   
     if (Bid-OrderOpenPrice() >=BreakEven*pips2dbl)
     {
      
         if (OrderStopLoss() <OrderOpenPrice())
        {
         
          SL=OrderOpenPrice()+ Point ;
        }
     }
  }
}
                  
          

if (OrderType()==OP_SELL){

 if (BreakEven> 0 )
 {
  
     if (OrderOpenPrice()-Ask >= BreakEven*pips2dbl)
    {
     
       if (OrderStopLoss()>OrderOpenPrice())
       {
        
          SL=OrderOpenPrice() - Point ;
    
       }
    }
  }
}


if (SL != OrderStopLoss()) result=OrderModify(OrderTicket(),OrderOpenPrice(),SL,OrderTakeProfit(), 0 , CLR_NONE );
         if (result!=TRUE) { error= GetLastError (); Print ( "ModifyError = " ,OrderTicket(), "   " ,error);}     
}
return ( 0 );
} //THIS IS THE BRACKET FOR ORDERS OPEN CLOSE********************

Burada belirttiğim şeyi açıklayabileceğinizi sanmıyorum....

 

fraktallar hakkında ...... bu test ne yapıyor ???

   double fractalU;
   for ( int y= 0 ;fractalU < Point ;y++)
     {
      fractalU= iFractals ( NULL , 0 , 1 ,y);
       Alert ( "fractalUp  y =  " +y+ " " +fractalU);
     } 

Aynısını yapın ve doğru fraktal çubuğu elde etmek için hangi çubuğu seçmeniz gerektiğini göreceksiniz.

.

Fraktallar her zaman aynı barda mı var ???

 

Şunları görüyorum:

Ticaret olmazsa bu döngüye girmek imkansız olurdu. Farklı bir Sipariş Muhasebesi bölümünü kodlamam gerekiyor

 for ( int i= OrdersTotal ()- 1 ; i>= 0 ;i--)          <===HOW Can be here one trade in the loop if OrdersTotal() < 1 
{

 
deVries :

fraktallar hakkında...... bu test ne yapıyor ???

Aynısını yapın ve doğru fraktal çubuğu elde etmek için hangi çubuğu seçmeniz gerektiğini göreceksiniz.

.

Fraktallar her zaman aynı barda mı var ???


Evet, fraktal yukarı veya fraktal aşağı fark etmez, her zaman aynı çubuktadır....

 
//---------------FRACTAL INPUTS--------------------//
extern string Label6= "===FRACTAL INPUTS===" ;
extern int     Fractal_Buffer= 0 ;
extern int     Fractal_TF= 0 ;


//--------Start Funcitons-------//
int start()
{

//-----------------FRACTALS--------------------------------//
double fractalU= iFractals ( NULL ,Fractal_TF, 1 ,Fractal_Buffer);
double fractalD= iFractals ( NULL ,Fractal_TF, 2 ,Fractal_Buffer);
Print ( "This Up Fractal is" ,fractalU, "Down Fractal is" ,fractalD);

Kodunuz Fractal_Buffer = 0 HER ZAMAN 0

Verdiğim test, Bar 0'da asla bulunacak bir fraktal olmadığını gösterdi.

TEST YAPIN........ ÖĞRENİN

   double fractalU;
   for ( int y= 0 ;fractalU < Point ;y++)
     {
      fractalU= iFractals ( NULL , 0 , 1 ,y);
       Alert ( "fractalUp  y =  " +y+ " " +fractalU);
     } 
 

DeVries bulma konusunda çok kötü bir iş çıkardığım için üzgünüm.


Testi yaptım ve evet, 0 çubuğunda asla bir fraktal yok.

Ne yaptığınızı anlıyorum, Fractal_Buffer yerine kullanılacak y'yi bulmak için for(loop) kullanmamı istiyorsunuz, çünkü her zaman = 0 olarak ayarlanmamalıdır.

 
ZacharyRC :

DeVries bulma konusunda çok kötü bir iş çıkardığım için üzgünüm.


Testi yaptım ve evet, 0 çubuğunda asla bir fraktal yok.

Ne yaptığınızı anlıyorum, Fractal_Buffer yerine kullanılacak y'yi bulmak için for(loop) kullanmamı istiyorsunuz, çünkü her zaman = 0 olarak ayarlanmamalıdır.




   double fractalU;
   for ( int y= 0 ;fractalU < Point ;y++)
     {
      fractalU= iFractals ( NULL , 0 , 1 ,y);
     } 
     
double fractalD;
for ( int x= 0 ;fractalD< Point ;x++)
 {
 fractalD= iFractals ( NULL , 0 , 2 ,x);
 }

 

Kodlama hakkında anlamakta zorlandığım şey, EA'nın diğer fraktal kodla hala doğru işlemleri yapmasıydı ki bu yanlıştı.

Ayrıca stop'u bir kez hareket ettirmek, yanlış olan zaman filtresini kaldırdığımda da olmadı.


Şu anda sipariş muhasebesi üzerinde çalışıyorum... ama kitap, yaratıcılık gerektiren bu şeylerin çoğunu zorlaştırıyor.


Güçlü sabrınız için teşekkür ederiz!

 
AHHHH Durağı hareket ettiremiyorum bu yüzden hahaha çok yavaşım
 int total = OrdersTotal ();
if (total< 1 )
{


Neden: