向鉴赏家提问 - 页 11

 
Urain >> :

Acronis True Imidge软件可以创建和恢复备份。备份你的C盘。

备份和系统在创建时的情况。

备份时间为4分钟。

也谢谢你。

 
rid >> :

>> 也谢谢你。

亲爱的骑士, 你能帮我解决一个问题吗) https://forum.mql4.com/ru/15972/page145

 
MQLBankir >> :
日安!
我只写了第一个月的EA。
我已经解决了简单的问题:我有一个信号--开立一个头寸。如果我需要几个信号怎么办?
比如说。
一个指标的第一个信号
第2个信号后来才出现,但第1个条件已经是FALSE。我知道程序是在每个tick执行的,但我需要记住第一个条件(信号)是真的,还没有取消。
我在想也许可以把它写到一个文件里。但我还没有真正理解它。
也许有其他的出路,通过函数或其他东西?
你能给我一个提示吗?

我其实并不擅长这个。

但我想,如果在发出第一个信号后,你 "挂 "了旗子,就让它挂吧。

即使第1个信号已经用完了!

然后第2个信号会发出信号,顺利打开。

如果我对这个问题的理解是正确的...

 
Infinity >> :

亲爱的骑士, 你能在这里帮我解决一个问题吗) https://forum.mql4.com/ru/15972/page145

你就是在这里问到关闭的问题吗?看这里。

'关闭的位置。在来自指示器的信号下,'。

//------------------------

我,在我的时间里,在那里进入了这个主题。

但在你发布的代码中--那里很难理解,我根本没有看到任何关于关闭的部分。

这里有一个闭合块的样本供你参考。

//********* Закрытие позиций ****************************************
if ( AutoClose) { //если выключатель закрытия включен 
//----переменные для закрытия позиций ----
double Stochast_0 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0);
double Stochast_1 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,1);
//----------------------------------------------------------------------
  for (int v=0; v<OrdersTotal(); v++)                             {       
      if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES))               {           
        if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNum)   { 
//-----------------------------------------------------                  
if (OrderType() == OP_BUY) { 
      if( Stochast_1>75 && Stochast_0<75)     {
           OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию
                 //return(0); // выходим
                }       
     }  
 //--------------------------------------------------------
if (OrderType() == OP_SELL) { 
      if( Stochast_1<25 && Stochast_0>25)    {
                 OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию
                // return(0); // выходим
                }       
     }  
 //-------------------------------------------------------                       
    }  // Symbol()  
  } // select
 } //total
} //Close_
 
rid >> :

我并不是这方面的专家。

但假设是,如果在第一个信号之后,你'挂'了旗子,那就让它挂着。

即使第1个信号已经用完了!

然后第2个信号会发出信号,顺利打开。

如果我对这个问题的理解是正确的...



如果第二个信号出现在第一个信号之后,.....,而且只是这样,但是......。也许通过检查第2个信号的开放,第1个信号已经由假变真,那么就有必要完成第2个信号的计算,并继续通过第1个信号 !

 
rid >> :

你就是在这里问到关闭的问题吗?看这里。

'关闭的位置。在来自指示器的信号下,'。

//------------------------

我,在我的时间里,在那里进入了这个话题。

但在你发布的那段代码中--那里很难理解,我根本没有看到关于关闭的部分。

嗯,它不在那里,....我无法得到一个未结订单的号码来关闭订单,它一直给我一个错误......即使通过其他功能找到这个号码。

 

看上面。我在那里添加了一个例子。

只不过你要插入你的Mn,而不是MagicNum

在外部参数中加入

外部 bool AutoClose = true。

 
rid >> :

只不过你要插入你的Mn,而不是MagicNum

在外部参数中加入

外部 bool AutoClose = true。

>> 是的是的,谢谢,我知道了)。

 
Infinity >> :

嗯,它不在那里,....我无法得到一个未结订单的号码来关闭它,它一直显示错误......即使通过其他功能找到这个号码。

尝试按位置选择订单:该函数给出了订单在交易订单列表中的票面位置。

int Select_POS(int t)
{//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
if(OrderSelect( t, SELECT_BY_POS, MODE_TRADES)) TIC[ t]=OrderTicket();
else TIC[ t]=-1;
return( TIC[ t]);
}//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
t = OrdersTotal(),每处理一个订单就会减少。
 
Urain >> :

试着按位置选择订单:该函数给出了订单在交易订单列表中的t票位置。

t = OrdersTotal(),并随着每个处理的订单而减少。


谢谢你的帮助!这可能也会起作用!!!。我一定会去看看的!

结尾的代码是....现在一切正常了,问题其实出在公开订单的定义上。再次感谢大家!