extern string S=" Open Orders By Adding Horizontal Lines ";
extern string Ss=" Lines Must Named As b+i or s+i / i=Number Of Line";
extern int NumberOfLines=10;
extern int OpenCandle=0;
extern string DeleteLinesTime="25:00";
extern string Ss1=" Close Lines Must named As cbl+i/cbu+i or csl+i/csu+i ";
extern int CloseCandle=0;
extern int Gap=2;
extern string t="-------------------------------";
extern string S1="Set Order_Type=0 for buy |or| Order_Type=1 for sell ";
extern bool OpenOrders=false;
extern int Order_Type=0;
extern int MaxTrades = 1;
extern string S2="Open Buy and Sell Orders At Same Time";
extern bool OpenHedgingOrders=false;
extern int MagicNumber=5000;
extern string MM_Parameters = " Money Management";
extern double Lots = 1;
extern bool MM = false,
AccountIsMicro = false;
extern int Risk = 10;
extern string S4=" Classic Order Management";
extern bool ModifyAllOrders=false;
extern bool HideSL=false;
extern int StopLoss=0;
extern bool HideTP=false;
extern int TakeProfit=0;
extern string S5=" ATR Order Management ";
extern bool UseATRTS=false;
extern double ATR_TSPercent = 0 ;
extern bool UseATRTP=false;
extern double ATR_TPPercent = 0 ;
extern bool UseATRSL=false;
extern double ATR_SLPercent = 0 ;
extern string S10=" Classic Trailing Stop";
extern int TrailingProfit=0;
extern int TrailingStop=0;
extern int TrailingStep=0;
extern string S6=" Orders BreakEven ";
extern int BreakEven=0;
extern int movestopto=1;
extern int BreakEven2=0;
extern int movestopto2=0;
extern string S9="---------- Order Time Management";
extern bool UseOrderTimeManagement=false;
extern string S7="Close Order when X Hour Passed After Order Open Time )";
extern int XHours=0;
extern string S8="Close Order At Choosen Houre)";
extern int HourToCloseOrder=100;
extern string S11="--------- Close Orders Settings";
extern bool CloseAfterProfitPercent=false;
extern int ProfitPercent=5;
extern bool CloseAfterLossPercent=false;
extern int LossPercent=5;
extern bool CloseAfterProfitUSD=false;
extern int ProfitUSD=200;
double point;
int digits,i,D;
int init()
{
// код доступен только после оплаты
}
void deinit() {
Comment("");
}
int orderscnt(){
int cnt=0;
for(int i =0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){
cnt++;
}
}
}
return(cnt);
}
int start()
{
// код доступен только после оплаты
}
double SL,TP;
datetime Start= StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + DeleteLinesTime);
if(TimeCurrent()==Start){
for(i=0;i<=NumberOfLines;i++){
ObjectDelete("b"+i); ObjectDelete("s"+i);
}
}
int j,mag,tick,typ;
for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("b"+i)!=-1){
double b=ObjectGet("b"+i,OBJPROP_PRICE1);
if((Close[0]<=b+Gap*point&&Close[0]>=b-Gap*point&&OpenCandle<1)||((Close[OpenCandle]>b||Open[OpenCandle]<b)&&OpenCandle>0)){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Blue);
ObjectDelete("b"+i);
}
}
if(ObjectFind("cbu"+i)!=-1){
double l2=ObjectGet("cbu"+i,OBJPROP_PRICE1);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]>l2)&&mag==MagicNumber+i&&typ==OP_BUY){
OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbu"+i);
}
}
if(ObjectFind("cbl"+i)!=-1){
l2=ObjectGet("cbl"+i,OBJPROP_PRICE1);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]<l2)&&mag==MagicNumber+i&&typ==OP_BUY){
OrderClose(tick,OrderLots(),NormalizeDouble(Bid,digits),3*D);ObjectDelete("cbl"+i);
}
}
}
for(i=0;i<=NumberOfLines;i++){
if(ObjectFind("s"+i)!=-1){
double s=ObjectGet("s"+i,OBJPROP_PRICE1);
if((Close[0]<=s+Gap*point&&Close[0]>=s-Gap*point&&OpenCandle<1)||((Close[OpenCandle]<s||Open[OpenCandle]>s)&&OpenCandle>0)){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Bid-TakeProfit*point;}
OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,digits),3*D,SL,TP,"MR.dollar EA",MagicNumber+i,0,Red);
ObjectDelete("s"+i);
}
}
if(ObjectFind("csl"+i)!=-1){
double l1=NormalizeDouble(ObjectGet("csl"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]<l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csl"+i);
}
}
if(ObjectFind("csu"+i)!=-1){
l1=NormalizeDouble(ObjectGet("csu"+i,OBJPROP_PRICE1),digits);
for( j=0;j<=OrdersTotal();j++){
OrderSelect(j,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber+i){
mag=OrderMagicNumber(); tick=OrderTicket(); typ=OrderType();
break;
}
}
if((Close[CloseCandle]>l1)&&mag==MagicNumber+i&&typ==OP_SELL){
OrderClose(tick,OrderLots(),NormalizeDouble(Ask,digits),3*D);ObjectDelete("csu"+i);
}
}
}
Comment("Programmed by MR.dollar"+"\n"+"????? ???????? ??????"+"\n"+"www.arabictrader.com/vb");
double orderopen_time,TimeT;
if(((AccountProfit()/AccountBalance())*100>=ProfitPercent&&CloseAfterProfitPercent==true)||
((AccountProfit()/AccountBalance())*100<=LossPercent&&CloseAfterLossPercent==true)||(AccountProfit()>=ProfitUSD&&CloseAfterProfitUSD==true)){
while(OrdersTotal()>0){CloseAllOrders();}
}
if(TrailingStop>0)MoveTrailingStop();
if(BreakEven>0)MoveBreakEven();
if(BreakEven2>0)MoveBreakEven2();
if(UseATRTS)MoveATRTS();
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true){
if(OrderSymbol()==Symbol()){
orderopen_time=OrderOpenTime();
}}}
TimeT=((TimeCurrent()-orderopen_time)/(60*60));
if(HideSL&&StopLoss>0)
{
CloseBuyOrdersHiddenSL();CloseSellOrdersHiddenSL();
}
if(HideTP&&TakeProfit>0)
{
CloseBuyOrdersHiddenTP();CloseSellOrdersHiddenTP();
}
if(MM) Lots = subLotSize();
if ( UseOrderTimeManagement==true&&(HourToCloseOrder==Hour()||(XHours>=TimeT&&XHours!=0)))
{CloseAllOrders();}
for(int cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
double type=OrderType();double stop=OrderStopLoss();double open=OrderOpenPrice();
tick=OrderTicket();double profit=OrderTakeProfit();
if(OrderSymbol()==Symbol()||ModifyAllOrders==true){
if(StopLoss!=0||TakeProfit!=0){
if(type==OP_BUY&&(HideSL==false||HideTP==false)){
if(StopLoss!=0&&HideSL==false){SL=open-StopLoss*point;}
if(TakeProfit!=0&&HideTP==false){TP=open+TakeProfit*point;}
if(stop!=SL||profit!=TP){
OrderModify(tick,open,SL,TP,0,Blue);
}
}
if(type==OP_SELL&&(HideSL==false||HideTP==false)){
if(StopLoss!=0&&HideSL==false){SL=open+StopLoss*point;}
if(TakeProfit!=0&&HideTP==false){TP=open-TakeProfit*point;}
if(stop!=SL||profit!=TP){
OrderModify(tick,open,SL,TP,0,Red);
}
}
}
}
}
if(OpenHedgingOrders==true&&OrdersTotalMagicBuy()<1){
{
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Ask-StopLoss*point;}
if(TakeProfit==0||HideTP==true){TP=0;}else{TP=Ask+TakeProfit*point;}
OrderSend(Symbol(),OP_BUY,Lots,Ask,3*D,SL,TP,"MR.dollar EA",MagicNumber,0,Blue);
}
{
if(OrdersTotalMagicSell()<1){
if(UseATRSL)StopLoss=(100*ATR_SLPercent*iATR(NULL,1440,14,0))/point;
if((UseATRSL)&&StopLoss<10)StopLoss=10;
if(UseATRTP)TakeProfit=(100*ATR_TPPercent*iATR(NULL,1440,14,0))/point;
if((UseATRTP)&&TakeProfit<10)TakeProfit=10;
if(StopLoss==0||HideSL==true){SL=0;}else{SL=Bid+StopLoss*point;}
Показано первые 50% кода (символов: 14594)
Введите ваш email и нажмите кнопку, чтобы перейти к оплате.