如何编码? - 页 154

 

菊花西。

你可能想自己测试一下最佳坐标。 FerruFX和CJA已经使用了最好的解决方案,即用用户输入的对象放置默认的角落位置。 你也可以看看OBJPROP_CORNER。

另外,请尽量不要发布和你一样的请求。 用户看到你的帖子,如果有人能帮助你,他们会的。

谢谢你

编辑:使用角属性 0是左上角,1是右上角,2左下角,3右下角。 它是0的计数。

 

帮助调试我的EA

嗨,如果这是个错误的论坛,请原谅,如果是,请修正。

我编制了自己的EA,在订单填充 和止损订单方面有一些问题。 谁能帮帮我?我可以分享这个EA。

谢谢

 

codobro。

非常感谢您的善意回答。

从现在起,我不会再发同样的问题了。

我很感谢你的建议。

在这方面,我理解左上角的位置是(0,0),那么当时右下角的指示是什么?

例如,当左上角位置是(0,0)时,我可以用(250,350)来表示右下角吗?

感谢你对上述问题的理解。

 

指标图未显示所有数据

你好

我对C语言编程相当熟练,但开始使用MQL4。

我刚刚做了我的第一个指标,它在单独的窗口中部分地显示了一个数组。

我所说的部分显示是指如果你向左滚动,那么在一些时间段内什么都不显示,如果我再向左滚动,那么就会显示一些时间段的数据,等等。

如果你向右滚动,那么同样的时间段就不会显示。

否则我看不到任何模式。

此外,如果我从1分钟内看到一些数据,转到5分钟内,则根本没有显示。

为什么没有显示所有的数据?我可能错过了什么?

 

好的EA - 需要帮助

海。

在这个伟大的论坛上,有没有人可以修改这个EA而不设任何止损。

谢谢

//---- 输入参数 ---------------------------------------------+

Extern int INCREMENT=35;

extern double LOTS=0.1;

Extern int LEVELS=3;

extern double MAX_LOTS=99;

Extern int MAGIC=1803;

extern bool CONTINUE=true;

extern bool MONEY_MANAGEMENT=false;

extern int RISK_RATIO=2;

//+------------------------------------------------------------------+

bool UseProfitTarget=false;

bool UsePartialProfitTarget=false;

int Target_Increment = 50;

int First_Target = 20;

bool UseEntryTime=false;

int EntryTime=0;

//+------------------------------------------------------------------+

bool Enter=true。

int nextTP;

int init()

{

//+------------------------------------------------------------------+

nextTP = First_Target;

//+------------------------------------------------------------------+

return(0);

}

//+------------------------------------------------------------------+

//| 专家去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

return(0)。

}

//+------------------------------------------------------------------+

//|专家启动功能|

//+------------------------------------------------------------------+

int start()

{

int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;

double ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

如果(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("没有足够的自由保证金开始")。

return(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES)。

如果(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

总计++。

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment())。

如果(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

double val=getPipValue(OrderOpenPrice(),OrderType())。

takeProfit(val,OrderTicket())。

}

}

}

如果(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime))

{

如果(AccountFreeMargin()<(100*LOTS))

{

Print("没有足够的自由保证金来开始")。

return(0);

}

// - 打开检查 - 开始循环

InitialPrice=Ask;

SellGoal=InitialPric-(LEVELS+1)*INCREMENT*Point;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;

for(cpt=1;cpt<=LEVELS;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)) ,MAGIC,0)。

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),ModE_DIGITS)),MAGIC,0)。

}

}// 初始设置完成 - 所有通道都已设置好

否则 // 我们有开放订单

{

BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;

SellGoal=InitialPric-INCREMENT*(LEVELS+1)*Point;

total=OrdersHistoryTotal()。

for(cpt=0;cpt<total;cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY)。

如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession(); return(0);}

}

如果(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0); }

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice)。

SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice)。

如果(BuyGoalProfit<ProfitTarget)

// - 损友买入

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

如果(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0) 。

}

如果(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point。

}

}

如果(SellGoalProfit<ProfitTarget)

// - 递增卖出手数

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt-)

{

if(Bid>=(InitialPric-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPric-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)) ,MAGIC,0)。

}

如果(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point。

}

}

}

//+------------------------------------------------------------------+

Comment("mGRID EXPERT ADVISOR ver 2.0\n",

"FX Acc Server:",AccountServer(),"\n",

"Date: ",Month(),"-",Day(),"-",Year()," Server Time: ",Hour(),":",Minute(),":",Seconds(), "n",

"Minimum Lot Sizing: ",MarketInfo(Symbol(),MODE_MINLOT),"/n",

"账户余额:$",AccountBalance(),"/n",

"符号。", Symbol(),"/n",

"价格。 ",NormalizeDouble(Bid,4), "n",

"点差。 ",MarketInfo("EURUSD",MODE_SPREAD),"/n"。

"Increment=" + INCREMENT,"/n",

"手数。 ",LOTS,"/n",

"级别。" + LEVELS,"/n")。

返回(0)。

}

//+------------------------------------------------------------------+

int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)

{

int profit=0, cpt;

如果(Current)//返回当前利润

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

return(profit);

}

否则

{

如果(目标==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

如果(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

如果(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

否则

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

}

}

bool EndSession()

{

int cpt, total=OrdersTotal();

for(cpt=0;cpt<total;cpt++)

{

Sleep(3000);

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES)。

如果(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket())。

否则,如果(OrderSymbol()==Symbol() && OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(), Bid,3)。

否则如果(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3)。

}

if(!CONTINUE) Enter=false;

return(true);

}

double getPipValue(double ord,int dir)

{

double val;

RefreshRates()。

如果(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits))。

否则val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits))。

val = val/Point;

返回(val)。

}

//========== FUNCTION takeProfit

void takeProfit(int current_pips, int ticket)

{

如果(OrderSelect(ticket, SELECT_BY_TICKET))

{

如果(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

如果(OrderType()==1)

{

如果(OrderClose(ticket, MAX_LOTS, Ask, 3))

nextTP+=Target_Increment;

否则

Print("错误关闭订单:",GetLastError())。

}

否则

{

如果(OrderClose(ticket, MAX_LOTS, Bid, 3))

nextTP+=Target_Increment。

否则

Print("错误关闭订单:",GetLastError())。

}

}

}

}

 
hkstar98:
海。

在这个伟大的论坛上,有没有人可以修改这个EA而不设任何止损。

谢谢

//---- 输入参数 ---------------------------------------------+

Extern int INCREMENT=35;

extern double LOTS=0.1;

Extern int LEVELS=3;

extern double MAX_LOTS=99;

Extern int MAGIC=1803;

extern bool CONTINUE=true;

extern bool MONEY_MANAGEMENT=false;

extern int RISK_RATIO=2;

//+------------------------------------------------------------------+

bool UseProfitTarget=false;

bool UsePartialProfitTarget=false;

int Target_Increment = 50;

int First_Target = 20;

bool UseEntryTime=false;

int EntryTime=0;

//+------------------------------------------------------------------+

bool Enter=true。

int nextTP;

int init()

{

//+------------------------------------------------------------------+

nextTP = First_Target;

//+------------------------------------------------------------------+

return(0);

}

//+------------------------------------------------------------------+

//| 专家去初始化功能|

//+------------------------------------------------------------------+

int deinit()

{

return(0)。

}

//+------------------------------------------------------------------+

//|专家启动功能|

//+------------------------------------------------------------------+

int start()

{

int ticket, cpt, profit, total=0, BuyGoalProfit, SellGoalProfit, PipsLot;

double ProfitTarget=INCREMENT*2, BuyGoal=0, SellGoal=0, spread=(Ask-Bid)/Point, InitialPrice=0;

//----

if(INCREMENT<MarketInfo(Symbol(),MODE_STOPLEVEL)+spread) INCREMENT=1+MarketInfo(Symbol(),MODE_STOPLEVEL)+spread;

if(MONEY_MANAGEMENT) LOTS=NormalizeDouble(AccountBalance()*AccountLeverage()/1000000*RISK_RATIO,0)*MarketInfo(Symbol(),MODE_MINLOT);

如果(LOTS<MarketInfo(Symbol(),MODE_MINLOT))

{

Comment("没有足够的自由保证金开始")。

return(0);

}

for(cpt=1;cpt<LEVELS;cpt++) PipsLot+=cpt*INCREMENT;

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES)。

如果(OrderMagicNumber()==MAGIC && OrderSymbol()==Symbol())

{

总计++。

if(!InitialPrice) InitialPrice=StrToDouble(OrderComment())。

如果(UsePartialProfitTarget && UseProfitTarget && OrderType()<2)

{

double val=getPipValue(OrderOpenPrice(),OrderType())。

takeProfit(val,OrderTicket())。

}

}

}

如果(total<1 && Enter && (!UseEntryTime || (UseEntryTime && Hour()==EntryTime))

{

如果(AccountFreeMargin()<(100*LOTS))

{

Print("没有足够的自由保证金来开始")。

return(0);

}

// - 打开检查 - 开始循环

InitialPrice=Ask;

SellGoal=InitialPric-(LEVELS+1)*INCREMENT*Point;

BuyGoal=InitialPrice+(LEVELS+1)*INCREMENT*Point;

for(cpt=1;cpt<=LEVELS;cpt++)

{

OrderSend(Symbol(),OP_BUYSTOP,LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)) ,MAGIC,0)。

OrderSend(Symbol(),OP_SELLSTOP,LOTS,InitialPrice-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),ModE_DIGITS)),MAGIC,0)。

}

}// 初始设置完成 - 所有通道都已设置好

否则 // 我们有开放订单

{

BuyGoal=InitialPrice+INCREMENT*(LEVELS+1)*Point;

SellGoal=InitialPric-INCREMENT*(LEVELS+1)*Point;

total=OrdersHistoryTotal()。

for(cpt=0;cpt<total;cpt++)

{

OrderSelect(cpt,SELECT_BY_POS,MODE_HISTORY)。

如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC && StrToDouble(OrderComment())==InitialPrice){EndSession(); return(0);}

}

如果(UseProfitTarget && CheckProfits(LOTS,OP_SELL,true,InitialPrice)>ProfitTarget) {EndSession();return(0); }

BuyGoalProfit=CheckProfits(LOTS,OP_BUY,false,InitialPrice)。

SellGoalProfit=CheckProfits(LOTS,OP_SELL,false,InitialPrice)。

如果(BuyGoalProfit<ProfitTarget)

// - 损友买入

{

for(cpt=LEVELS;cpt>=1 && BuyGoalProfit<ProfitTarget;cpt--)

{

如果(Ask<=(InitialPrice+(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_BUYSTOP,cpt*LOTS,InitialPrice+cpt*INCREMENT*Point,2,SellGoal,BuyGoal,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)),MAGIC,0) 。

}

如果(ticket>0) BuyGoalProfit+=LOTS*(BuyGoal-InitialPrice-cpt*INCREMENT*Point)/Point。

}

}

如果(SellGoalProfit<ProfitTarget)

// - 递增卖出手数

{

for(cpt=LEVELS;cpt>=1 && SellGoalProfit<ProfitTarget;cpt-)

{

if(Bid>=(InitialPric-(cpt*INCREMENT-MarketInfo(Symbol(),MODE_STOPLEVEL))*Point))

{

ticket=OrderSend(Symbol(),OP_SELLSTOP,cpt*LOTS,InitialPric-cpt*INCREMENT*Point,2,BuyGoal+spread*Point,SellGoal+spread*Point,DoubleToStr(InitialPrice,MarketInfo(Symbol(),MODE_DIGITS)) ,MAGIC,0)。

}

如果(ticket>0) SellGoalProfit+=LOTS*(InitialPrice-cpt*INCREMENT*Point-SellGoal-spread*Point)/Point。

}

}

}

//+------------------------------------------------------------------+

Comment("mGRID EXPERT ADVISOR ver 2.0\n",

"FX Acc Server:",AccountServer(),"\n",

"Date: ",Month(),"-",Day(),"-",Year()," Server Time: ",Hour(),":",Minute(),":",Seconds(), "n",

"Minimum Lot Sizing: ",MarketInfo(Symbol(),MODE_MINLOT),"/n",

"账户余额:$",AccountBalance(),"/n",

"符号。", Symbol(),"/n",

"价格。 ",NormalizeDouble(Bid,4), "n",

"点差。 ",MarketInfo("EURUSD",MODE_SPREAD),"/n"。

"Increment=" + INCREMENT,"/n",

"手数。 ",LOTS,"/n",

"级别。" + LEVELS,"/n")。

返回(0)。

}

//+------------------------------------------------------------------+

int CheckProfits(double LOTS, int Goal, bool Current, double InitialPrice)

{

int profit=0, cpt;

if(Current)//返回当前利润

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit+=(Bid-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-Ask)/Point*OrderLots()/LOTS;

}

}

return(profit);

}

否则

{

如果(目标==OP_BUY)

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

如果(OrderType()==OP_BUY) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit-=(OrderStopLoss()-OrderOpenPrice())/Point*OrderLots()/LOTS;

如果(OrderType()==OP_BUYSTOP) profit+=(OrderTakeProfit()-OrderOpenPrice())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

否则

{

for(cpt=0;cpt<OrdersTotal();cpt++)

{

OrderSelect(cpt, SELECT_BY_POS, MODE_TRADES)。

如果(OrderSymbol()==Symbol() && StrToDouble(OrderComment())==InitialPrice)

{

if(OrderType()==OP_BUY) profit-=(OrderOpenPrice()-OrderStopLoss())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELL) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

if(OrderType()==OP_SELLSTOP) profit+=(OrderOpenPrice()-OrderTakeProfit())/Point*OrderLots()/LOTS;

}

}

return(profit);

}

}

}

bool EndSession()

{

int cpt, total=OrdersTotal();

for(cpt=0;cpt<total;cpt++)

{

Sleep(3000);

OrderSelect(cpt,SELECT_BY_POS,MODE_TRADES)。

如果(OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket())。

否则,如果(OrderSymbol()==Symbol() && OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(), Bid,3)。

否则如果(OrderSymbol()==Symbol() && OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3)。

}

if(!CONTINUE) Enter=false;

return(true);

}

double getPipValue(double ord,int dir)

{

double val;

RefreshRates()。

如果(dir == 1) val=(NormalizeDouble(ord,Digits) - NormalizeDouble(Ask,Digits))。

否则val=(NormalizeDouble(Bid,Digits) - NormalizeDouble(ord,Digits))。

val = val/Point;

返回(val)。

}

//========== FUNCTION takeProfit

void takeProfit(int current_pips, int ticket)

{

如果(OrderSelect(ticket, SELECT_BY_TICKET))

{

如果(current_pips >= nextTP && current_pips < (nextTP + Target_Increment))

{

如果(OrderType()==1)

{

如果(OrderClose(ticket, MAX_LOTS, Ask, 3))

nextTP+=Target_Increment;

否则

Print("错误关闭订单:",GetLastError())。

}

否则

{

如果(OrderClose(ticket, MAX_LOTS, Bid, 3))

nextTP+=Target_Increment。

否则

Print("错误关闭订单:",GetLastError())。

}

}

}

}

给你

附加的文件:
new.mq4  8 kb
 

codersguru:
jdun,

SL和TP的代码已经写在这个EA中。

请看这几行。

if (Symbol()=="GBPUSD") {

PipsForEntry= 13;

TrailingStop = 40;

TakeProfit = 45;

InitialStopLoss=33;

} else if (Symbol()=="EURUSD") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=23;

} else if (Symbol()=="USDCHF") {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=15;

} else {

PipsForEntry= 13;

TrailingStop = 30;

TakeProfit = 45;

InitialStopLoss=30;

} [/PHP]

If you want to make SL & TP external variables which you can set, you have to comment the above lines of code and uncomment these lines:

[PHP]/*

extern int PipsForEntry= 5;

extern double TrailingStop = 40;

extern double TakeProfit = 120;

extern double InitialStopLoss=50;

*/
 

每个信号的最大交易量

有谁知道我可以用什么来限制每个信号的交易数量(我希望每个信号有一个交易,但我得到的是8个,最后一个总是失败的)。

 

帮助

海。

仍然有止损

pghiaci:
你好,在这里你可以
 

有多个自定义时间的EA?

我意识到可以用多种时间框架来制作EA,但能否用自定义时间来编写EA? 我有一个带MTF的EA,但我需要的是自定义时间,而不是默认时间,所以它们并不经常 "排队"。

问候