BuySell

BuySell最新版

官方版无广告179

更新日期:2022-03-01分类标签: 语言:中文平台:没限制

12 人已下载 手机查看

#property copyright “Copyright 2020”
#property link “systems”
#property version “1.00”
#property strict

//— Inputs
extern double Lots = 0.1; // лот
extern double CloseLot = 0.05; // кроем лот
extern double BULevel = 50; // сколько до тейка
extern double BUPoint = 100; // пункты от тейка
extern int StopLoss = 0; // лось
extern int TakeProfit = 300; // язь
extern int Slip = 30; // реквот
extern int Magic = 123; // магик

//+——————————————————————+
//| Expert initialization function |
//+——————————————————————+
int OnInit()
{
//—
PutButton(“B”,100,160,”BUY”);
PutButton(“S”,100,120,”SELL”);
PutButton(“CB”,100,80,”CLOSE BUY”);
PutButton(“CS”,100,40,”CLOSE SELL”);
//—
return(INIT_SUCCEEDED);
}
//+——————————————————————+
//| Expert deinitialization function |
//+——————————————————————+
void OnDeinit(const int reason)
{
ObjectDelete(0,”B”);
ObjectDelete(0,”S”);
ObjectDelete(0,”CS”);
ObjectDelete(0,”CB”);
}
//+——————————————————————+
//| |
//+——————————————————————+
void PutButton(string name,int x,int y,string text)
{
ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//— установим координаты кнопки
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//— установим размер кнопки
ObjectSetInteger(0,name,OBJPROP_XSIZE,80);
ObjectSetInteger(0,name,OBJPROP_YSIZE,30);
//— установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(0,name,OBJPROP_CORNER,3);
//— установим текст
ObjectSetString(0,name,OBJPROP_TEXT,text);
//— установим шрифт текста
ObjectSetString(0,name,OBJPROP_FONT,”Arial”);
//— установим размер шрифта
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,8);
//— установим цвет текста
ObjectSetInteger(0,name,OBJPROP_COLOR,Red);
//— установим цвет фона
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,White);
//— установим цвет границы
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,Blue);
//— скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);
//— установим приоритет на получение события нажатия мыши на графике
ObjectSetInteger(0,name,OBJPROP_ZORDER,0);
}
//+——————————————————————+
//| |
//+——————————————————————+
void CloseAll(int ot=-1)
{
bool cl;
for(int i=OrdersTotal()-1; i>=0; i–)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
{
if(OrderType()==0 && (ot==0 || ot==-1))
{
RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Bid,_Digits),Slip,White);
}
if(OrderType()==1 && (ot==1 || ot==-1))
{
RefreshRates();
cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(Ask,_Digits),Slip,White);
}
}
}
}
}
//+——————————————————————+
//| |
//+——————————————————————+
void PutOrder(int type,double price)
{
int r=0;
color clr=Green;
double sl=0,tp=0;

if(type==1 || type==3 || type==5)
{
clr=Red;
if(StopLoss>0)
sl=NormalizeDouble(price+StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price-TakeProfit*_Point,_Digits);
}

if(type==0 || type==2 || type==4)
{
clr=Blue;
if(StopLoss>0)
sl=NormalizeDouble(price-StopLoss*_Point,_Digits);
if(TakeProfit>0)
tp=NormalizeDouble(price+TakeProfit*_Point,_Digits);
}

r=OrderSend(NULL,type,Lots,NormalizeDouble(price,_Digits),Slip,sl,tp,””,Magic,0,clr);
return;
}
//+——————————————————————+
//| |
//+——————————————————————+
void BU()
{
int dg=0;
bool m=1,c=1;
double sl=0,pp=0,ask=0,bid=0;

for(int i=OrdersTotal()-1; i>=0; i–)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
ask=SymbolInfoDouble(OrderSymbol(),SYMBOL_ASK);
bid=SymbolInfoDouble(OrderSymbol(),SYMBOL_BID);
pp=SymbolInfoDouble(OrderSymbol(),SYMBOL_POINT);
dg=(int)SymbolInfoInteger(OrderSymbol(),SYMBOL_DIGITS);

if(OrderType()==OP_BUY)
{
if(bid>=OrderTakeProfit()-BULevel*pp)
{
sl=NormalizeDouble(OrderTakeProfit()-BUPoint*pp,dg);

if(OrderStopLoss()!=sl)
m=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
return;
}
}

if(OrderType()==OP_SELL)
{
if(ask<=OrderTakeProfit()+BULevel*pp)
{
sl=NormalizeDouble(OrderTakeProfit()+BUPoint*pp,dg);
if(OrderStopLoss()!=sl)
m=OrderModify(OrderTicket(),OrderOpenPrice(),sl,OrderTakeProfit(),0,Yellow);
return;
}
}
}
}
}
//+——————————————————————+
//| Expert tick function |
//+——————————————————————+
void OnTick()
{
if(BULevel>0)
BU();

if(ObjectGetInteger(0,”B”,OBJPROP_STATE)==1)
{
PutOrder(0,Ask);
ObjectSetInteger(0,”B”,OBJPROP_STATE,false);
}
if(ObjectGetInteger(0,”S”,OBJPROP_STATE)==1)
{
PutOrder(1,Bid);
ObjectSetInteger(0,”S”,OBJPROP_STATE,false);
}
if(OrdersTotal()>0 && ObjectGetInteger(0,”CB”,OBJPROP_STATE)==1)
{
CloseAll(0);
ObjectSetInteger(0,”CB”,OBJPROP_STATE,false);
}
if(OrdersTotal()>0 && ObjectGetInteger(0,”CS”,OBJPROP_STATE)==1)
{
CloseAll(1);
ObjectSetInteger(0,”CS”,OBJPROP_STATE,false);
}
}
//+——————————————————————+

//+——————————————————————+

如果你对文件有了解,请帮助投票!

If you are familiar with the file, please help vote!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位投票人。

相关资源

暂无评论

暂无评论...
Ads Blocker Image Powered by Code Help Pro

检测到广告拦截程序!!!Ads Blocker Detected!!!

我们检测到您正在使用扩展来屏蔽广告。请通过禁用这些广告屏蔽程序或者把网站加入白名单来支持我们。

We have detected that you are using an extension to block advertisements. Please support us by disabling these advertising blocking programs or adding the website to the whitelist.