下载MetaTrader 5

MQL5 怎么实现一根柱上只开仓一次

要添加评论,请登录注册
yjzhyxd2007
10
yjzhyxd2007  

写了一些测试ea都在同一根柱上反复开仓……导致一直亏损

用了这样的代码,但好像不管用,求高手赐教

datetime Time[1],orderTime;

   int copied=CopyTime(_Symbol,_Period,0,1,Time);

   if(copied>0)

     {

      int T=OrdersTotal();

      OrderSelect(T-1);

      orderTime=OrderGetInteger(ORDER_TIME_SETUP);

      if(orderTime-Time[0]>0)

        {

         return;

        }

     }

   else

     {

      return;

     } 

Lejie Wang
194
Lejie Wang  
yjzhyxd2007:

写了一些测试ea都在同一根柱上反复开仓……导致一直亏损

用了这样的代码,但好像不管用,求高手赐教

datetime Time[1],orderTime;

   int copied=CopyTime(_Symbol,_Period,0,1,Time);

   if(copied>0)

     {

      int T=OrdersTotal();

      OrderSelect(T-1);

      orderTime=OrderGetInteger(ORDER_TIME_SETUP);

      if(orderTime-Time[0]>0)

        {

         return;

        }

     }

   else

     {

      return;

     } 

加入开仓时间与当前柱时间判断
Zhao Xia
42
Zhao Xia  

datetime oldtime;

.

.

 int OnInit()

{

oldtime=Time[0]; 

void buy()

{

.

.

 if (oldtime==Time[0])return;

 

if (OrderSend(.....)>0) oldtime=Time[0];

 

yuliang0898
280
yuliang0898  
Zhao Xia:

datetime oldtime;

.

.

 int OnInit()

{

oldtime=Time[0]; 

void buy()

{

.

.

 if (oldtime==Time[0])return;

 

if (OrderSend(.....)>0) oldtime=Time[0];

 


我有一个类似的代码,原来测试也有问题,按此改了一下表达方式,通过了,还不错

346850520
27
346850520  

我一直是开仓就记录最后开仓时间。只要iTime(0,0,0)=LastOpenTime,就不开仓。

要添加评论,请登录注册