[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 737

 
trader265:
伙计们,非常感谢你们。我马上去办。如果不成功,我可以打扰你吗?

即使今天没有人在这里,你的帖子明天也会被看到。这不像我们这里有一个办公室 :),每个人在一天结束时都会离开 :)。
 
drknn:


其逻辑如下。

8个指标缓冲区的限制是由语言本身造成的。限制其他数组的数量是没有意义的,因为无论如何都不能超过RAM+交换文件的大小。因此,不值得过分追求。 我的意思是为阵列分配了一定量的RAM。

我的问题是:'SymbolSellColor'-内部堆栈溢出-请简化程序。

增加堆栈并没有帮助。代码很简单,我不擅长写复杂的。内存、交换--不是问题,这就够了。

 
Abzasc:

我的问题是:'SymbolSellColor'-内部堆栈溢出-请简化程序。

堆栈溢出 - 没有帮助。代码很简单,我不擅长写复杂的东西。内存、交换--不是问题,足够了。


问问开发商--也许有一些我们不知道的问题。
 

我有一个问题,为什么挂单 不能打开,请帮助我。

extern int TakeProfit=100;
extern int StopLoss=100;
extern double Lot=0.01;
extern int StartTime=0;
int Today=0;
int h=100;
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
{if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
int total = OrdersTotal();
if(total == 0)

   {NewOrder(OP_BUY,Lot);
    NewOrder(OP_SELL,Lot);
    NewOrder(OP_BUYLIMIT,Lot);
    Today=TimeDay(TimeCurrent());}
return(0);}

  
//+------------------------------------------------------------------+
int NewOrder(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR=0; //Цена
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);
if(Cmd==OP_BUY)
   {PR=Ask;
    if(TakeProfit>0) TP=Ask+TakeProfit*Point;
    if(StopLoss>0) SL=Ask-StopLoss*Point;}
if(Cmd==OP_SELL)
   {PR=Bid;
    if(TakeProfit>0) TP=Bid-TakeProfit*Point;
    if(StopLoss>0) SL=Bid+StopLoss*Point;}
if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR+TakeProfit*Point;
    if(StopLoss>0) SL=PR-StopLoss*Point;}
int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);
int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);
if(tic<0) Print(GetLastError());
if(tic1<0) Print(GetLastError());
return(tic);}
 
FoxUA:

问题:为什么挂单不能打开的错误是什么,请帮助。

我在你的代码中认出了我的评论 :))))))))))

检查你到底把什么作为参数传给了函数,以及函数运行时到底得到了什么--把它打印出来。

 
drknn:
我在你的代码中认出了我的评论 :))))))))))

准确检查你作为参数传递给函数的内容,以及函数运行时得到的确切内容--打印出来。


我已经收集了大约3个小时的乐高构件,待定的订单却不想打开。
 
drknn:
我在你的代码中认出了我的评论 :))))))))))

准确检查你作为参数传递给函数的内容,以及函数运行时得到的确切内容--打印出来。


我看到如何使下一个函数

int tic=OrderSend(Symbol(),Cmd,Lot,PR,3,SL,TP,0,0,CLR_NONE);


在这个函数之后

int NewOrder1(int Cmd,double Lot)
{double TP=0; //тейкпрофит
double SL=0; //стоплосс
double PR1=0; //Цена1
while(!IsTradeAllowed()) Sleep(100);

if(Cmd==OP_BUYLIMIT)
   {PR1=Ask-Point*h;
    if(TakeProfit>0) TP=PR1+TakeProfit*Point;
    if(StopLoss>0) SL=PR1-StopLoss*Point;}

int tic1=OrderSend(Symbol(),Cmd,Lot,PR1,3,SL,TP,0,0,CLR_NONE);

if(tic1<0) Print(GetLastError());
return(tic1);}
 

我明白了,你只是需要设置操作者不只是一个参数,而是通过其他方式

 

问题,什么功能负责挂单的到期日? 我没有看到,它说147使用到期日 是经纪商不允许的。

 

expiration- 待定订单的到期日。当到期时间到来时,挂单将在交易服务器上自动关闭。在一些交易服务器上,挂单到期时间的应用可能被禁止。在这种情况下,当试图设置一个非零的参数值时,交易订单 将被拒绝。

应该设置什么值才能使订单不被拒绝?