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

 
Roman.:


对不起,没有注意到...:-)))

我检查了几次--没有错误,都严格按照公式进行。

显然,有必要将产品分成若干部分,然后对它们进行比较...阅读更多--这里。

去过那里。有趣的是。我有一个想法。我将在主题中写下这个问题。

 
MaxZ:

你是复制了整个代码还是只复制了start()函数中的内容?这很重要!

你搞错了!:))例如,"之 "字形并没有填满缓冲区的所有元素。另外,没有必要在图标处填充缓冲区的所有元素。


复制似乎已经完成...

奇怪!如果我写了这样的代码。

buffer[1]=open[1]。

buffer[3]=open[3]。

图表上什么也没有发生

 
wolf05632:


我完全复制了它...

奇怪!如果我写了这样的代码。

buffer[1]=open[1]。

buffer[3]=open[3]。

图表上什么也没有发生


在这种情况下,你必须要看所有的代码。
 
wolf05632:


复制似乎已经完成...

奇怪!如果我写了这样的代码。

buffer[1]=open[1]。

buffer[3]=open[3]。

图表上什么也没有发生

在这种情况下,你应该改变

SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,2);// Стиль линии

SetIndexStyle (0, DRAW_SECTION);

否则就会画出半轨线,或者线会从图表上的零或上跳到零或上再飞回零或上(取决于你给缓冲区中的跳过的元素取什么值)。:D

那么,我的代码毕竟对你有用了?

 

谢谢你!我再试试...是的!它正在工作,谢谢你!只是对这句话的意思有点不清楚。

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);
 
wolf05632:

谢谢你!我再试试...是的!它正在工作,谢谢你!只是有点不理解这句话的意思。

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

让我解释一下。

我们将该指标 应用于图表。首先它执行函数init(),它被执行。

然后执行函数start()。由于还没有计算过任何一个条形图,该函数将向变量Counted_bars返回0。

IndicatorCounted(); // Количество просчитанных баров

将返回0。

这意味着,该条件

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

将不被满足,并且该指标将计算它所应用的符号的所有条形。

计算结束后,函数start()的执行将结束,指标将等待一个新的tick的到来。

当一个新的刻度线到来时,函数start()将被再次执行。在Counted_bars变量中,函数

IndicatorCounted(); // Количество просчитанных баров

将返回被计数的条数。

这意味着,条件

if (MathMod(Bars, 2) != 0 && Counted_bars == 0)
      return(0);

已经可以满足,即这个条件将在我们不需要酒吧,想在start()函数的计数中跳过它时得到满足。

 

晚上好。我有两个问题。

1.我想问一下,在这个论坛上是否有人正在开发基于石木指标的策略,并使用小于一小时的时间框架,例如5或15分钟?

2.Terekhov A.Ishimoku Indicator.djvu书中有一章 "Ishimoku Indicator and Japanese Candlesticks",其中写道,指标应该确认蜡烛图的配置。那么,这些烛台配置必须在指标发出信号时出现,或者在这两个事件之间可能有一些柱状物?也就是说,跨越天干线和金俊线,在同一时刻应该有一个 "锤子",或者说它不是强制性的?

 

大家好,我是一个初学者,我有一个问题--如果我按照这个方案开一个订单

外部bool Buy = true。

外来的双倍PriceBuy = 0;

int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
PriceBuy = ??????????????????; }

return;
}
我应该在问号下指定什么,以便将priceBuy变量分配给订单购买价格值?其目的是将这个值分配一次,它不会随着程序的进展而改变。

还有一个问题--如何以编程方式改变已开订单的止损?



 
OTPOK:

大家好,我是一个初学者,我有一个问题--如果我按照这个方案开一个订单

外部bool Buy = true。

外来的双倍PriceBuy = 0;

int start()
{
如果(购买)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point, Ask+50*Point);
PriceBuy = ??????????????????;}

返回。
}
我应该在问号下指定什么,以便将订单买入价格值分配给PriceBuy变量?其目的是将这个值分配一次,它不会随着程序的进展而改变。

还有一个问题--如何以编程方式改变未平仓订单的止损?




extern bool Buy = true;
extern double PriceBuy = 0; 
int start() 
{
   if(Buy) 
   {
     int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
        PriceBuy=OrderOpenPrice();
   }
   return(0); 
}
 
OTPOK:


我们应该在问号下面指定什么,以便将priceBuy变量分配给订单买入价格值?其目的是将这个值分配一次,它不会随着程序的进展而改变。

还有一件事--我如何以编程方式改变已开订单的止损?




下午好。我知道你从未给变量赋过值。这是很容易做到的。

PriceBuy=Ask

而你必须使用OrderModifity()函数来改变止损。

使用MetaEditor的帮助。

再见。