Here my Marti Function Script
//+--------------------------+
//| Fungsi Martinggale.......|
//+--------------------------+
void MARTI()
{
//-------
if(totals()>0 && totals()<level )
{
int typeS; double opS, lastlotS;
for(int i=0; i<OrdersTotal(); i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberS ) continue;
typeS =OrderType();
opS =OrderOpenPrice();
lastlotS =OrderLots();
}
if((typeS==1 && Bid>=opS+range*pt)) // JIKA FLOATING DALAM POSISI SELL
{
STATUS = "MARTINGGALE FOR SELL ON PROGRESS ...";
ticket=OrderSend(Symbol(),1,NormalizeDouble(lastlotS*multiplier,prec),Bid,Slippage,Bid+StopLoss*pt,Bid- TakeProfit*pt*multiplier,EAName,MagicNumberS,0,Red);
}
}
if(totalb()>0 && totalb()<level )
{
int typeB; double opB, lastlotB;
for(int j=0; j<OrdersTotal(); j++)
{
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberB ) continue;
typeB =OrderType();
opB =OrderOpenPrice();
lastlotB =OrderLots();
}
if((typeB==0 && Ask<=opB-range*pt)) // JIKA FLOATING DALAM POSISI BUY DAN MASUK DALAM RANGE MARTI
{
STATUS = "MARTINGGALE FOR BUY ON PROGRESS ...";
ticket=OrderSend(Symbol(),0,NormalizeDouble(lastlotB*multiplier,prec),Ask,Slippage,Ask-StopLoss*pt,Ask+TakeProfit*pt*multiplier,EAName,MagicNumberB,0,Blue);
}
}
if(totals()>1) //JIKA SL & TP AKTIVE DAN OPEN ORDER LEBIH DARI 1 (FLOATING)
{
double s_lS, t_pS;
for(int f=0; f<OrdersTotal(); f++)
{
OrderSelect(f,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberS || OrderType()>1) continue;
typeS =OrderType();
s_lS =OrderStopLoss();
t_pS =OrderTakeProfit();
}
for(int r=OrdersTotal()-1; r>=0; r--)
{
OrderSelect(r,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberS || OrderType()>1) continue;
if(OrderType()==typeS)
{
if(OrderStopLoss()!=s_lS || OrderTakeProfit()!=t_pS)
{
OrderModify(OrderTicket(),OrderOpenPrice(),s_lS,t_pS,0,CLR_NONE);
}
}
}
}
if(totalb()>1) //JIKA SL & TP AKTIVE DAN OPEN ORDER LEBIH DARI 1 (FLOATING)
{
double s_lB, t_pB;
for(int g=0; g<OrdersTotal(); g++)
{
OrderSelect(g,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberB || OrderType()>1) continue;
typeB =OrderType();
s_lB =OrderStopLoss();
t_pB =OrderTakeProfit();
}
for(int t=OrdersTotal()-1; t>=0; t--)
{
OrderSelect(t,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()!=Symbol() || OrderMagicNumber()!=MagicNumberB || OrderType()>1) continue;
if(OrderType()==typeB)
{
if(OrderStopLoss()!=s_lB || OrderTakeProfit()!=t_pB)
{
OrderModify(OrderTicket(),OrderOpenPrice(),s_lB,t_pB,0,CLR_NONE);
}
}
}
}
//-------
}
//+--------- void MARTI() End|
(here is script has task as martinggale function and modifier after martinggale did, where is the script make error, OrdersTotal() was set 20, but EA did 4 level and did make another level on both side(hedging))
Di atas script untuk funsi Martingale dan modifiednya, namun ea hanya bisa buka op sd level 4 saja, padahal OrdersTotal() sudah di set di 20 untuk kedua sisi (hedging dengan magic number yg beda), apakah ada yang bisa mengenali kira2 dimana letak bug/errornya.
Please help me.... Thank u
Terimakasih
Hasil FT dengan AE Princess Raena versi awal belum genap sebulan sudah 75% Profit... Full 24 jam via vps