[存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. - 页 226

 
doon:

如何让EA在某个时间买入或卖出(睡觉 不使用)?

日期时间函数会有所帮助:https://book.mql4.com/ru/functions/datetime
 
Fam:
日期时间函数会有所帮助 https://book.mql4.com/ru/functions/datetime

谢谢,但你还是要在那里插入一个滑块。

 
人!我想做的是,这将交易很多,取决于风险....,什么不工作....。
 EURUSD,M15: OrderSend error 4051

告诉我错误在哪里....

void OpenBuy() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 
   ldLot = GetSizeLot(); 
   ldStop = GetStopLossBuy(); 
   ldTake = GetTakeProfitBuy(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_BUY,ldLot,Ask,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenBuy); 
   if (UseSound) PlaySound(NameFileSound); 
} 
void OpenSell() { 
   double ldLot, ldStop, ldTake; 
   string lsComm; 

   ldLot = GetSizeLot(); 
   ldStop = GetStopLossSell(); 
   ldTake = GetTakeProfitSell(); 
   lsComm = GetCommentForOrder(); 
   OrderSend(Symbol(),OP_SELL,ldLot,Bid,Slippage,ldStop,ldTake,lsComm,MAGIC,0,clOpenSell); 
   if (UseSound) PlaySound(NameFileSound); 
} 
string GetCommentForOrder() {   return(Name_Expert); } 
double GetSizeLot() { 
   double ldlot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break
   ldlot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>1) ldlot=NormalizeDouble(ldlot-ldlot*losses/DecreaseFactor,1);
     }
   if(ldlot<0.1) ldlot=0.1;
                         } 
double GetStopLossBuy() {       return (Bid-sStopLoss*Point);} 
double GetStopLossSell() {      return(Ask+sStopLoss*Point); } 
double GetTakeProfitSell() {    return(Bid-sTakeProfit*Point); } 
double GetTakeProfitBuy() {     return(Bid+sTakeProfit*Point); } 

return(0);
 

谢谢大家,我将尝试一下......
 
charter:

恐怕这只适用于时间序列。

在我的情况下,甚至没有地方可以捅破它。

你的想法是正确的,也就是说,必须以某种方式颠倒顺序,但我还不知道如何颠倒。


别担心,这很有效。
 
Vovo4ka:
人!我想做的是,这将交易很多,取决于风险....,什么不工作....。

告诉我错误在哪里....


忘了在地段上划线。
return (ldlot);
 
todem:

我忘了在地段上放一条线。

right...... forgot.... thank you very much.... I've already checked it 20 times, I couldn't figure out what the hell...)
 

帮助解决一个关于重新报价+滑点的问题。

情况如下:我通过专家顾问发送交易请求,滑点=3点,发生错误138 Requote。我尝试了RefreshRates(),并以新的Ask再次尝试,但服务器价格比我发送的Ask要好(RefreshRates()后的第二次),逻辑上我需要同意,但由于服务器价格偏差大于请求中的Slippage - 这个请求被拒绝。(((

你怎么能控制这种情况呢?例如,如果服务器的价格更好,那么就移动Slippage或什么,这样请求就会被服务器接受。还是不可能?

 
ZZZEROXXX:

帮助解决一个关于重新报价+滑点的问题。

情况如下:我通过专家顾问发送交易请求,滑点=3点,发生错误138 Requote。我尝试了RefreshRates(),并以新的Ask再次尝试,但服务器价格比我发送的Ask要好(RefreshRates()后的第二次),逻辑上我需要同意,但由于服务器价格偏差大于请求中的Slippage - 这个请求被拒绝。(((

你怎么能控制这种情况呢?例如,如果服务器的价格更好,那么就移动Slippage或什么,这样请求就会被服务器接受。还是不可能?


增加滑移量。这些交易必须是在一个快速的市场中开立的。有时在重要新闻之后会发生这样的情况,欧罗巴克在1-2个点内的速度如此之快,简直就是一场噩梦。而当服务器在处理顾问的订单时,价格会发生非常大的变化。
 
Zhunko:
MT4有一个内置的转换器。服务 -> 报价档案

谢谢你!但目标如下。偏移的日线(烛台),随着报价的到来而更新,图表的行为就像一个正常的图表:你可以在上面悬挂其他指标、EA,建立通道、水平等。它应该是类似于非标准时间框架的东西,但非标准的是相对于终端时间的移位条(烛台):H4 - 在-3、-2、-1、1、2或3小时;D1 - 在-23、-22,...1, 2, ...或23小时;W1--用于-6、-5、...。或6天,以此类推。偏移量必须在指标的输入参数 中设置。

有这样的事情吗?

我预先感谢你。