[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 256

 
Ivan1:

大家好。请帮助:我需要将当前 "MACD条形图 "的值分配给一个变量,并将前一个变量的值分配给另一个变量。

伊万,看一下基本的MACD样本EA。
MacdCurrent=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);// последняя цифра задает показатель
MacdPrevious=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
 
Ivan1:
我不需要信号线....这只是MACD直方图的相关性--当前的MACD值与前一个的相关性,这就是我需要将它们分配给变量的原因

你看了那个链接吗?

我将用选题进行重复。

doubleiMACD( string symbol, int timeframe, int fast_ema_period, int slow_ema_period, int signal_period, int applied_price, int mode, int shift)

标志 - 符号名称,该指标将根据其数据进行计算。NULL表示当前符号。
时限 - 期间。可以是图表 中的一个时期。0表示当前图表的周期。
快速的马氏周期 - 计算快速移动平均线的平均周期。
缓和期 - 计算慢速移动平均线的平均周期。
信号周期 - 信号线计算的平均周期。
应用价格 - 使用的价格。可以是任何一个价格常数
模式 - 指示线指数。可以是任何一个指标行的标识符
移位 - Shift - 数值的索引,从指标缓冲区获得(相对于当前条形图的移位,向后指定的期数)。

mode - 指标线的索引 - 在这里你需要指定你需要哪条线 - 线条或直方图

shift - 接收值的索引,你需要两个值。

shift = 1 - 前一个值

shift = 0 - 当前值

 
大家好。我很迷惑。如何知道子窗口中的垂直线 的长度?
 

我注意到很长时间以来,在 "账户历史 "中,在TakeProfit关闭的订单在评论中都有[tp],有些有tp/a...

有什么区别?

尊敬的布莱德曼先生

 
143alex:
大家好。我很迷惑。如何找出子窗口中的垂直线的斜面?

试过这个。

 double prise=ObjectGet( "L", OBJPROP_PRICE1) ;
   int    shift=ObjectGetShiftByValue( "L", prise); 
   Comment("1",shift);
 
143alex:

试过这个


ObjectGetShiftByValue "适用于趋势线和类似对象"

使用iBarShift 函数

 
yosuf:
在这个论坛上,我最近读到一个想法,如果你在同一时间以相同的SL开立2个不同方向的订单,那么在其中一个关闭后,你可以尝试盈利。有没有人检查过这个想法,或者没有?也许有一个类似的EA?

Expert Grid v.2.

"Copyright©2008 EAfactory.com and Expert-4x.com - "Revision: 264".

在两个方向上开仓,如果差额为正数,则关闭两个方向的仓位

 

告诉我哪里做错了,请告诉我...或者,如果是MT4本身的问题,但我的买单只在高位开仓,而卖单只在收盘开仓 =)虽然我甚至没有在专家顾问的代码中规定这些条件=)

 extern int TP = 200; 
     extern int TS = 50; 
     extern int TF = 1; 
     extern double lots = 0.1; 
     extern int Pips = 15; 
     extern int MaxPips = 100; 


     int slip = 3; 
     int Magic = 2; 
     int cnt,ticket,total; 

 //+------------------------------------------------------------------+ 
  //| expert initialization function | 
  //+------------------------------------------------------------------+ 
  int init() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert deinitialization function | 
  //+------------------------------------------------------------------+ 
  int deinit() 
    { 
  //---- 

 //---- 
     return(0); 
    } 
  //+------------------------------------------------------------------+ 
  //| expert start function | 
  //+------------------------------------------------------------------+ 

 int start() 
    { 
  //---- 

 static double PriceOld = 0.0; 
 double PriceNow; 
 PriceNow = NormalizeDouble(Bid,6); 

 total = OrdersTotal(); 
 if(total < 1) 
 { 
    if((PriceNow-PriceOld)>=Pips*Point && (PriceNow-PriceOld)<MaxPips*Point) 
    { 
           ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,0,0,Magic,0,Green); 
    } 

 if((PriceNow-PriceOld)<=(-Pips)*Point && (PriceNow-PriceOld)>(-MaxPips)*Point) 
     { 
           ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,0,0,Magic,0,Red); 
     } 
 } 


PriceOld = PriceNow;

//---- 


return(0);
}


 
CLAIN:

告诉我哪里做错了,请告诉我...或者,如果是MT4本身的问题,但我的买单只在高位开仓,而卖单只在收盘开仓 =)虽然我甚至没有在专家顾问的代码中规定这些条件=)


让我猜猜,也许你是在测试器中以"开价 " 模式使用该EA,因为它不应该在正常模式下工作。
 
mmm....没办法....使用 "所有刻度线"...因此,有趣的是,在高位买入开盘,在收盘时卖出......。我不明白这是怎么一回事?