悬赏求助:【时间段平仓EA】 时间段内循环平仓,附大神函数源码,实在没能力编成EA
悬赏任务
20金币
本帖最后由 scavengers 于 2019-11-3 10:32 编辑
需求:指定【时间段】内循环平仓EA,有现成的【时间点平仓EA】,有大神提供的【时间段平仓函数源码】,实在没能力编成EA
背景:经常忍不住在 四颗星或者五颗星等级的 财经事件和经济数据前后下单,这种单子通常都是巨亏,所以想实现一个功能,就是在设定的时间段内,如果有单子,自动平仓,反复平仓,来实现该时间段内不能开仓,开仓也会被平。
社区里有很多时间点,到时间,平仓EA,但是没有时间段的平仓EA,拜托大神举手之劳以下
为其他大神提供的【时间点平仓】函数,【时间段平仓】函数,【时间点平仓】EA
-------------------------------------------------- ----------------------------------
【时间点平仓】函数
- extern double Lots = 0.1;
- extern int ChasStart = 10;
- extern int ChasStop = 22;
- extern int Step = 15;
- extern int TP = 200;
- 如果(TimeHour(TimeCurrent())== ChasStop && TimeMinute(TimeCurrent())== 0)
- {
- i = 0;
- 总计= OrdersTotal();
- for(i = 0; i <=总数; i ++)
- {
- OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
- if(OrderMagicNumber()== 12321)
- {
- 如果(OrderType()== OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,3,Green);
- 如果(OrderType()== OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,3,Green);
- 如果(OrderType()> 1)OrderDelete(OrderTicket());
- }
- }
- }
-----------------------------------------------------------------------------
时间段平仓函数
- if((TimeHour(CurTime())<StartHour)||(TimeHour(CurTime())> = EndHour)||
- (DayOfWeek()== KillDay && TimeHour(CurTime())== KillHour))
- {
- / *评论(“非交易时间,正在退出...”,
- “ \ n”,“版本0.0.4”,
- “ \ n”,Symbol(),
- “ \ n”,“ sig:”,MACD_Signal,“ main:”,MACD_Main); * /
- 总计= OrdersTotal();
- // ----
- for(cnt = 0; cnt <总计; cnt ++)
- {// 3
- OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
- // ----
- if(OrderSymbol()== Symbol())
- {// 4
- if(OrderType()== OP_BUY)
- {// 5
- OrderClose(OrderTicket(),Lots,Bid,Slippage,Green);
- 返回(0);
- } // 5
- // ----
- if(OrderType()== OP_SELL)
- {// 5
- OrderClose(OrderTicket(),手数,卖价,滑点,绿色);
- 返回(0);
- } // 5
- } // 4
- } // 3
- 返回(0);
- }
-------------------------------------------------- --------------------
时间点平仓EA(这个是现成的EA,可以用)
// + -------------------------------- ---------------------------------- +
// | 在Time.mq4上关闭|
// | ..... h |
// | hayseedville.com |
// + ----------------------------------------------- ------------------- + http://www.forexfactory.com/showthread.php?p=3096542#post3096542
#property copyright“ ..... h”
#property链接“ hayseedville.com”
extern字符串警告=“这将尝试关闭所有订单”;
extern string ThatMeans =“无论符号或类型如何,所有顺序”;
extern bool CloseAll = false;
exint int天= 5;
extern int hour = 19;
extern int分钟= 55;
int start()
{
if(CloseAll && DayOfWeek()==天&& Hour()==小时&& Minute()> =分钟)
{
closeall();
关闭所有();
关闭所有();
}
return(0);
}
void closeall()
{
int total = OrdersTotal();
for(int i = total-1; i> = 0; i-- )
{
OrderSelect(i,SELECT_BY_POS);
int类型= OrderType();
布尔结果=假;
switch(type)
{
//关闭打开的多头头寸
情况OP_BUY:结果= OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),5,红色);
打破;
//平仓未平仓空头
案例OP_SELL:result = OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),5,Red);
打破;
//关闭待处理订单
case OP_BUYLIMIT:
案例OP_BUYSTOP:
案例OP_SELLLIMIT:
案例OP_SELLSTOP:结果= OrderDelete(OrderTicket());
}
if(result == false)
{
Alert(“ Order”,OrderTicket(),“无法关闭。错误:”,GetLastError());
睡眠(3000);
}
}
-------------------------------------------------------------------------------------
|
|
|
|
|
Reply 5#
bobing163 小学一年级 主题 4个 2020-11-17 16:30:02
你这个解决了吗?能不能分享一下看看 |
|
|
|
|