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

 
Karabas >> :

你好,你能告诉我是否可以改变指标的颜色?假设在主窗口中有两条不同周期的移动平均线,颜色不同。>> 谢谢你


右键点击其中一个MA(移动平均线),会弹出一个窗口,点击 "移动平均线的属性",在那里你会看到可以改变颜色的地方。

 
xruss >> :

Cls_B和Cls_S允许平仓,它们不能与Opn_B Opn_S相矛盾。在这里,你需要在代码中写一个时间序列,标记出买入或卖出订单的开仓位置和应该平仓的位置,以便在此期间没有更多的头寸开仓()

我的意思不是要取代你已经有的开放条件,而是要为它们增加新的条件。根据我的理解,你想禁止EA在开仓信号上开仓,如果在同一信号上没有平仓信号的话。所以要加。

if (Opn_B==true && Cls_B==false) { не открывать Buy }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

如果你按你的方法做--你如何计算一个仓位应该在某个时候关闭的栏位?:)

 

你好

//+------------------------------------------------------------------+
int start()
  {
//----
 double Macd_0=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,0,0);
 double Macd_1=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,0,1);
 double signal_0=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,1,0);
 double signal_1=iMACD(NULL,0, MAFastPeriod, MASlowPeriod, MASignalPeriod,1,1,1);
    
    if(( Macd_0 < Macd_1 && Macd_1 > 0) && ( signal_0 < signal_1 && signal_1 > 0))
     if( CheckOrders(OP_SELL))
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if(( Macd_0 > Macd_1 && Macd_1 < 0) && ( signal_0 > signal_1 && signal_1 < 0))
     if( CheckOrders(OP_BUY))
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//----
   return(0);
  }
//+------------------------------------------------------------------+

这是第一个选项。

//+------------------------------------------------------------------+
int start()
  {
//----
 double Macd_0=iMACD(NULL,0, pFast, pSlow, pSignal,1,0,0);
 double Macd_1=iMACD(NULL,0, pFast, pSlow, pSignal,1,0,1);
 double signal_0=iMACD(NULL,0, pFast, pSlow, pSignal,1,1,0);
 double signal_1=iMACD(NULL,0, pFast, pSlow, pSignal,1,1,1);
    
    if(( Macd_0 < Macd_1 && Macd_1 > 0) && ( signal_0 < Macd_0 && signal_1 < Macd_1 && signal_1 > 0))
     if( CheckOrders(OP_SELL)) //продажа
      {
       if(!OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Buy. Ошибка №", GetLastError()); 
       }
       
    if(( Macd_0 > Macd_1 && Macd_1 < 0) && ( signal_0 > Macd_0&& signal_1 > Macd_1&& signal_1 < 0))
     if( CheckOrders(OP_BUY)) //покупка
      {
       if(!OrderSend(Symbol(), OP_SELL, Lots, Bid, 3, 0, 0, NULL, MagicNumber))
         Print("Не открыт ордер Sell. Ошибка №", GetLastError()); 
       }

//----
   return(0);
  }
//+------------------------------------------------------------------+

这是第二个变体。

基于macd的 专家顾问,交易很简单(一切以0和1栏为基础,价格是开放的)。

在第一种情况下,macd值增加(买入),卖出则减少。信号线也是基于这些条件。

在第二种情况下,我试图实现快速和慢速Macd线的交叉。但仍有一些疑虑.............,它是否正确.........。

 
Everlost >> :

我的意思不是要取代你已经有的开放条件,而是要为它们增加新的条件。根据我的理解,你想禁止EA在开仓信号上开仓,如果在同一信号上没有平仓信号的话。所以要加上他们。

if (Opn_B==true && Cls_B==false) { не открывать Buy }
if (Opn_C==true && Cls_C==false) { не открывать Sell }

如果你按你的方法去做--你如何计算出在某个时间点上应该平仓的栏位?:)

我如何开仓?)

因为当Opn_B=true Cls_B=false时,它就会打开,而Cls_B在那一刻不可能是真的。


假设我们有一个MA`穿过价格行情(形成Opn_S),向下开仓,SL-移动到Breakeven。然后价格滑落SL到Breakeven,...

在我的案例中,在MA`价格交叉(Cls_S)的新信号形成之前,一个位置被打开了((((。



 
xruss >> :

但我的职位将如何开放?)

因为当Opn_B=true Cls_B=false时,它就会打开,而Cls_B在那一刻不可能是真的。

好的,创建另一个变量,例如,int Last_Position=-1。一旦开仓,就在其中输入订单类型。并添加条件。

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

 
Everlost >> :

好的,创建另一个变量,例如int Last_Position=-1。一开仓就在那里输入订单类型。并添加条件。

if (Opn_B==true && Last_Position==OP_BUY) { сигнал Buy пропускаем }

这或多或少是我的做法,但我对结果感到有点失望(

有时趋势松懈,进入一个平坦的位置(它纠正了),然后又以新的力量继续前进,并给出正确的Opn_S信号,这样就会被阻止。 如何在Opn_S信号到Cls_S以及Opn_B到Cls_B的区域内用一个订单限制交易?

 
xruss >> :

我是这样做的,但我对结果不满意()。

有时,趋势减弱,进入平缓期(进行修正),然后以新的力量继续前进,并给出正确的信号Opn_S,从而将被阻止。 如何在从信号Opn_S到Cls_S以及从Opn_B到Cls_B的区域用一个订单限制交易?

这很简单--当收到Cls_S或Cls_B信号时,你应该忘记最后打开的位置(将变量Last_Position的值重置为-1)。

if ((Cls_S==true || Cls_B==true) && Last_Position>=0) Last_Position=-1;

 
你能告诉我如何给专家顾问添加一个条件,让它知道之前的交易是失败的吗?
 
Dimoncheg >> :
你能告诉我如何在你的EA中拼写条件,让它知道之前的交易是亏损的?

如果(OrderProfit() < 0) {

...

}

 
亲爱的专家,请不要忽视我的问题。

是否有一个统计波动率的指标,比如说每天。但不是那个,它给出了一个未定义的数字,如0.34。但它应该计算出每天的烛台数,并将其除以一个给定的周期(天数),这样指标就能知道平均值。例如:开盘100,收盘200;第二天--开盘200,收盘250。这2天的平均波动率=((200-100)+(250-200))/2天=(100+50)/2=75
如果有的话在哪里下载。
原因: