Помогите пожфлуйста с индикаторами: 1-й чтобы не убирал разметку на графике. 2-й чтобы лини старших ТФ были внешними на младших и чтобы можно было задать отоброжение(после того как задаешь отоброжение сразу все нормально пока не перещелкнешь ТФ,после этого все линии младших ТФ на старших)нии младших ТФ на старших)
Noterday>>: Народ, у меня проблема, причем никак не могу допетрить в чем дело, особо не пинайте. Есть стандартный MACD, хочу в индикаторе отметить все пики столбцов (значками), вот код: Таким образом я нарисовал все экстремумы в индикаторе. Всё ОК, НО! Когда функцией Print я вывожу значения всех найденых пиков то вот что выходит: Я так понимаю что 2147483647 это нули или пустые значения?
编写一个bool函数()来检查价格和设定的止损点之间的差异是否大于StopLoss(来自marketinfo)。
则为真,否则为假。
那么在开单之前,你应该检查if(function())并开单。
如果我设置的止损比这家经纪公司的止损多30%,为什么我还需要它?
2和3点是错误的。右图:买入时的止损和止盈与卖出时的止损和止盈与买入时的止盈相抵。
检查很简单。计算一下,如果止盈被触发,你将通过你的变体获得什么收益。它将不等于点数的TakeProfit。在拟议的变体中,它将是完全平等的。
因此,我像以前一样修改了它,得到了同样的结果。 我只留下了价格的正常化。
但测试器中的错误仍然存在,最有趣的是,它不是对所有的订单,而是对其中一些订单重复出现。
在10个订单中,有1个出现了4107错误,其他9个没有错误地返回。
Помогите пожфлуйста с индикаторами: 1-й чтобы не убирал разметку на графике. 2-й чтобы лини старших ТФ были внешними на младших и чтобы можно было задать отоброжение(после того как задаешь отоброжение сразу все нормально пока не перещелкнешь ТФ,после этого все линии младших ТФ на старших)нии младших ТФ на старших)
如果我在经纪公司设置的止损比止损水平高30%,为什么我需要它?
所以我按原样重新做了一遍,结果还是一样,我只留下了价格正常化。
但在测试器中,错误仍然存在。 最有趣的是,我在几个订单中出现了错误,但不是所有的订单都出现了错误。
10个中的1个出现了错误4107,其他9个没有错误地被处理。
给我看一下代码,让我们看一下。Народ, у меня проблема, причем никак не могу допетрить в чем дело, особо не пинайте.
Есть стандартный MACD, хочу в индикаторе отметить все пики столбцов (значками), вот код:
Таким образом я нарисовал все экстремумы в индикаторе. Всё ОК, НО!
Когда функцией Print я вывожу значения всех найденых пиков
то вот что выходит:
Я так понимаю что 2147483647 это нули или пустые значения?
那么,难道没有人可以帮忙吗?:)
那么,难道没有人可以帮忙吗?:)
问题似乎出在MAX和MIN数组上。
你是否用SetIndexBuffer()将它们链接到指标缓冲区?
是的,当然了 :)
你是否使用 IndicatorBuffers()函数?
#property indicator_buffers 4
#property indicator_color1 MediumPurple
#property indicator_color2 MediumPurple
#property indicator_color3 Green
#property indicator_color4 Red
#property indicator_width3 1
#property indicator_width4 1
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
double MMACD1[];
double SMACD1[];
double MAX[];
double MIN[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
SetIndexStyle(0,DRAW_HISTOGRAM);
SetIndexStyle(1,DRAW_LINE);
SetIndexStyle(2,DRAW_ARROW);
SetIndexStyle(3,DRAW_ARROW);
SetIndexArrow(2,119);
SetIndexArrow(3,119);
SetIndexDrawBegin(1,SMACD1);
IndicatorDigits(Digits+2);
SetIndexBuffer(0,MMACD1);
SetIndexBuffer(1,SMACD1);
SetIndexBuffer(2,MAX);
SetIndexBuffer(3,MIN);
IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
SetIndexLabel(0,"MACD");
SetIndexLabel(1,"Signal");
return(0);
}
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for(int i=0; i<limit; i++)
MMACD1[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
for(i=0; i<limit; i++)
SMACD1[i]=iMAOnArray(MMACD1,Bars,SignalSMA,0,MODE_SMA,i);
for(i=0; i<limit; i++)
{
if(MMACD1[i+1] > MMACD1[i+2] && MMACD1[i+1] > MMACD1[i])
MAX[i+1] = MMACD1[i+1];
if(MMACD1[i+1] < MMACD1[i+2] && MMACD1[i+1] < MMACD1[i])
MIN[i+1] = MMACD1[i+1];
}
for(i=0; i<limit; i++)
{
if (MAX[i+1] != EMPTY_VALUE)
Print(MAX[i+1]);
}
return(0);
}
//+------------------------------------------------------------------+