Fractal Break Out-Stuck - Seite 6

 

zunächst über diese Klammer

siehe dies

 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********************

Ich glaube nicht, dass Sie erklären können, worauf ich hier hingewiesen habe....

 

über die Fraktale...... was macht dieser Test???

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

Machen Sie das Gleiche und Sie werden sehen, welchen Balken Sie wählen müssen, um den richtigen Fraktalbalken zu erhalten

.

Haben wir die Fraktale immer am gleichen Balken?

 

Ich sehe über die:

Es wäre unmöglich, diese Schleife zu betreten, wenn kein Handel stattfindet. Ich muss ein differentnt Orders Accounting Abschnitt Code

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

 
deVries:

über die Fraktale...... was macht dieser Test???

Machen Sie das Gleiche und Sie werden sehen, welchen Balken Sie wählen müssen, um den richtigen Fraktalbalken zu erhalten

.

Befinden sich die Fraktale immer auf demselben Balken?


Ja, es ist immer derselbe Balken, egal ob Fraktal oben oder unten....

 
//---------------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);

Ihr CodeFractal_Buffer= 0 ALLWAYS 0

Der von mir durchgeführte Test hat gezeigt, dass bei Takt 0 nie ein Fraktal zu finden war

MACHEN SIE DEN TEST........ LERNEN

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

Es tut mir leid, dass ich meine Erkenntnisse so schlecht kommuniziere, deVries.


Ich habe den Test durchgeführt und ja, es gibt nie ein Fraktal bei Takt 0.

Ich sehe, was Sie tun, Sie wollen, dass ich for(loop) verwenden, um die y anstelle von Fractal_Buffer zu verwenden, weil es nicht immer =0 gesetzt werden sollte.

 
ZacharyRC:

Es tut mir leid, dass ich meinen Befund so schlecht kommuniziere, deVries.


Ich habe den Test durchgeführt und ja, es gibt nie ein Fraktal bei Takt 0.

Ich sehe, was Sie tun, Sie wollen, dass ich for(loop) verwenden, um die y anstelle von Fractal_Buffer zu verwenden, weil es nicht immer =0 gesetzt werden sollte.




   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);
 }

 

Was ich kämpfe, um über die Codierung zu verstehen, ist, dass der EA noch korrekte Geschäfte mit dem anderen Fraktal-Code, die falsch war.

Auch das einmalige Verschieben des Stopps geschah nicht, als ich den Zeitfilter ausschaltete, was ebenfalls nicht korrekt ist.


Ich arbeite derzeit an meiner Orderbuchhaltung...aber das Buch macht es schwierig für viele dieser Dinge Kreativität zu nehmen.


Vielen Dank für Ihre große Geduld!

 
AHHHH Ich kann die Haltestelle deswegen nicht bewegen hahaha Ich bin sehr langsam
int total = OrdersTotal();
if(total<1)
{