رد: مضارب طموح - الايتشيموكو (لو سمحت تعال هنا)
بغض النظر عن اللي راح تشوفونه اثناء الباكتست
هل اشارات الشراء او البيع فعلا وقت شراء او بيع حسب الايتشيمكوكو!
استخدم رصيد 10,000 دولار
[PHP]
double ms1,ms2;
double y1, y2;
double x1, x2;
int buys;
int sells;
int buyl;
int selll;
double m3;
double MarginCallPips;
double netLots;
double Lots;
int smart;
int t;
double LotBuy,LotSell;
string pips;
int ticket;
color tt=Red;
int SL=22000;
datetime New_Time=0;
int TS=1500;
double maxPips,minPips;
int K=9;
int D=9;
int S=15;
int shift=1;
int Tenkan=9;
int Kijun=26;
int Senkou=52;
//----
bool buy,sell;
double m=0.1;
int TP=120;
int P=130;
double balance=10000;
double balance1=10000;
void start(){
if(New_Time!=Time[0]) {t++;
New_Time=Time[0];
int j=1;
while(j<=Bars-1)
{
double chinkou1=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _CHINKOUSPAN,j);
double chinkou2=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _CHINKOUSPAN,j+1);
if ((chinkou1>=Open[1] && chinkou2<=Open[1]) || (chinkou1<=Open[1] && chinkou2>=Open[1]))
break;
j++;
}
double senkouAi=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _SENKOUSPANA,j);
double senkouBi=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _SENKOUSPANA,j);
double senkouB1=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _SENKOUSPANB,shift);
double senkouB2=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _SENKOUSPANB,shift+1);
double senkouB3=iIchimoku(NULL,0,Tenkan,Kijun,Senkou,MODE _SENKOUSPANB,shift+2);
//----
if(Open[shift+2]<senkouB3 && Open[shift+1] > senkouB2 && Close[shift+1] > senkouB2 &&
Open[shift] > senkouB1 && Close[shift] > senkouB1 &&
Close[shift+1]>Open[shift+1] && Close[shift]>Open[shift] &&
!(chinkou1<=senkouBi && chinkou1>=senkouAi && senkouAi<senkouBi))
{
buy=true;
sell=false;
}
if(Open[shift+2]>senkouB3 && Open[shift+1] < senkouB2 && Close[shift+1] < senkouB2 &&
Open[shift] < senkouB1 && Close[shift] < senkouB1 &&
Close[shift+1]<Open[shift+1] && Close[shift]<Open[shift] &&
!(chinkou1<=senkouBi && chinkou1>=senkouAi && senkouAi<senkouBi))
{
buy=false;
sell=true;
}
if(MathFloor(AccountEquity()/balance)==0)
Lots=m*MathCeil(AccountEquity()/balance);
else
Lots=m*MathFloor(AccountEquity()/balance);
if(OrdersTotal()>=0)
if(OrdersTotal()<1)
{//3
if(buy)
ticket=OrderSend(Symbol(),OP_BUYLIMIT, Lots , Ask-P*Point , 3 , Ask-SL*Point , Ask+TP*Point, "y" , 1001 , 0 , Blue);
if(sell)
ticket=OrderSend(Symbol(),OP_SELLLIMIT, Lots , Bid+P*Point , 3 , Bid+SL*Point , Bid-TP*Point, "x" , 2002 , 0 , Red );
}//3
for(int i=0;i<OrdersTotal();i++)
{//z
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{//ss
if(OrdersTotal()==i+1)
{//3
if(buy && t>1)
{//v
ticket=OrderSend(Symbol(), OP_BUYLIMIT, Lots , Ask-P*Point , 3 , Ask-SL*Point , Ask+TP*Point, "x" , 1000+i , 0 , Blue);t=0;
}//v
if(sell && t>1)
{//d
ticket=OrderSend(Symbol(),OP_SELLLIMIT, Lots , Bid+P*Point , 3 , Bid+SL*Point , Bid-TP*Point, "y" , 2000+i , 0 , Red); t=0;
}//d
}//3
}//ss
}//z
for(i=0;i<OrdersTotal();i++){
if(OrderSelect(0,SELECT_BY_POS,MODE_TRADES)==true)
{//4
if (OrderType( )==OP_BUY)
{//5
if (MathPow(10,Digits)*(Bid-OrderStopLoss())>(TS+SL) )
OrderModify( OrderTicket(),0,OrderOpenPrice(),OrderTakeProfit() ,0,Blue);
if(false)
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ;
}//5
if(OrderType()==OP_SELL)
{//6
if ( MathPow(10,Digits)*(OrderStopLoss()-Ask)>(TS+SL) )
OrderModify(OrderTicket(),0,OrderOpenPrice(),Order TakeProfit(),0,Red);
if(false)
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ;
}
}//6
}//4
double xx=1000;
double price;
if(AccountEquity()>balance1+xx){balance1=balance1+ xx;
for(i=OrdersTotal();i>=0;i--){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{//4
if (OrderType( )==OP_BUY) price=Bid;
if (OrderType( )==OP_SELL) price=Ask;
if (OrderType( )==OP_BUY || OrderType( )==OP_SELL)
{//5
OrderClose(OrderTicket(),OrderLots(),price,3,Viole t);
}//5
if (OrderType( )==OP_BUYLIMIT || OrderType( )==OP_SELLLIMIT)
{//6
OrderDelete(OrderTicket(),CLR_NONE);
}//6
}//4
}
}
buys=0;
sells=0;
buyl=0;
selll=0;
LotBuy=0;
LotSell=0;
for(int k=0;k<OrdersTotal();k++)
{
if(OrderSelect(k,SELECT_BY_POS,MODE_TRADES)==true)
{
if(OrderType()==OP_BUY)
{LotBuy=LotBuy+OrderLots();buys=buys+1;}
if(OrderType()==OP_SELL)
{LotSell=LotSell+OrderLots();sells=sells+1;}
if(OrderType()==OP_BUYLIMIT)
{buyl=buyl+1;}
if(OrderType()==OP_SELLLIMIT)
{selll=selll+1;}
}
}
netLots=MathAbs(LotBuy-LotSell);
MarginCallPips=AccountFreeMargin()/netLots/10;
}//2
Comment("Balance = ",DoubleToStr(AccountBalance(),0)," Equity = ",DoubleToStr(AccountEquity(),0),
" Buy = ",buys," Sells = ",sells,
" BuyLimit = ",buyl," SellLimit = ",selll," orders # = ",OrdersTotal(), " OrdersHistoryTotal = ",OrdersHistoryTotal(),
" LotBuy = ",DoubleToStr(LotBuy,2)," LotSell = ",DoubleToStr(LotSell,2)," totLOTS = ",netLots,
" Magic = ",OrderMagicNumber(),
" PipsCall = ",DoubleToStr(MarginCallPips,1)," FreeMargin = ",DoubleToStr(AccountFreeMargin(),0)," Margin = ",DoubleToStr(AccountMargin(),0));
return(0);
}//1
[/PHP]