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

 
remobal писал(а)>>

这有什么好笑的,请解释一下?

你所要做的就是阅读一些流行的文学作品,这个问题就会消失。你的问题意味着你想把一切都放在银盘子里。

 
Vinin >>:

Достаточно почитать популярную литературу и вопрос сам собой закроется. Ваш вопрос означает что Вам нужно все подать на блюдечке с голубой каемочкой.

对不起,请原谅,我读过通俗文学,但不幸的是,我在那里也没有找到这个问题的答案。

你是否介意至少给出书名和作者的名字。

非常感谢你事先的努力!

 
下午好,你能告诉我,如果我在一个勺子里需要真棒振荡器,它的参数是恒定的,而且不需要被规定为MA?
 
它应该被声明,应该写在哪里? 它在EA中应该如何被提及? 是AO还是 威猛振荡器
 
Farina >>:
Нужно ли его объявлять и в каком месте прописывать? и как на него ссылаться в советнике? как AO или Awesome Oscillator ?
doubleiAO( 字符串, int timeframe, int shift)
计算真棒振荡器。
参数。
标志 - 符号名称,将根据其数据计算指标。NULL表示当前符号。
时限 - 期间。可以是图表 中的一个时期。0表示当前图表的周期。
移位 - 从指标缓冲区获得的数值的索引(相对于当前条形图,向后移动指定的周期数)。
例子。
 double val=iAO(NULL, 0, 2);
 
谢谢)
 

朋友们下午好。

在代码中感到困惑,请告知需要改正的地方。


我在这个论坛上发现了LeManTrend指标。

我想对它进行一些修改--在指标的两条线上添加平滑移动平均线

我为此准备了数组ma[] 和ma2[] 。


但是,当我把这个指标添加到图表中时,"什么也没画出来"...

问题是什么?


//----

string Indicator_Name = "ind1";

int Objs = 0;

//----

#property indicator_separate_window

#property indicator_buffers 4

//----

int Bars.Count = 0;


extern int Min = 13;

extern int Midle = 21;

extern int Max = 34;

extern int PeriodEMA = 3;

//---- Буферы

double ExtMapBuffer1[];

double ExtMapBuffer2[];

double TempBuffer1[];

double TempBuffer2[];

double ma[];

double ma2[];

int method_ma = 0;


//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

IndicatorShortName(Indicator_Name);

int cur = 0;

int st = 23;

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

int width = 2;


SetIndexStyle(0, DRAW_LINE, DRAW_LINE, width, Yellow);

SetIndexBuffer(0, ExtMapBuffer1);

SetIndexStyle(1, DRAW_LINE, DRAW_LINE, 2, Blue);

SetIndexBuffer(1, ExtMapBuffer2);

SetIndexBuffer(2, ma);

SetIndexStyle(2, DRAW_LINE, DRAW_LINE, 1, Red);

SetIndexBuffer(3, ma2);

SetIndexStyle(3, DRAW_LINE, DRAW_LINE, 1, Teal);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----


//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{


int limit;

if (IndicatorCounted()<0) return(-1);

limit=Bars-IndicatorCounted();

if (Bars.Count>0 && limit>Bars.Count)

limit=Bars.Count;

int i = limit;

//----

while(i >= 0)

{

double High1 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Min,i+1));

double High2 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Midle,i+1));

double High3 = iHigh(NULL, 0, iHighest(NULL, 0, MODE_HIGH, Max,i+1));

TempBuffer1[i] = ((High[i]-High1)+(High[i]-High2)+(High[i]-High3));

double Low1 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Min, i+1));

double Low2 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Midle, i+1));

double Low3 = iLow(NULL, 0, iLowest(NULL, 0, MODE_LOW, Max, i+1));

TempBuffer2[i] = ((Low1-Low[i])+(Low2-Low[i])+(Low3-Low[i]));

i--;

}

//---- основной цикл

for( i = 0; i < limit; i++)

{

if (PeriodEMA > 0 )

{

ExtMapBuffer1[i] = -iMAOnArray(TempBuffer1,Bars,PeriodEMA,0,MODE_EMA,i);

ExtMapBuffer2[i] = -iMAOnArray(TempBuffer2,Bars,PeriodEMA,0,MODE_EMA,i);

}

else

{

ExtMapBuffer1[i] = TempBuffer1[i];

ExtMapBuffer2[i] = TempBuffer2[i];

}

}


//====================================================================


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


//элементы скользящих средних

for(i = 0; i < limit; i++)

{

ma[i]=iMAOnArray(ExtMapBuffer1,0,8,0,method_ma,i);

ma2[i]=iMAOnArray(ExtMapBuffer2,0,8,0,method_ma,i);

}


//====================================================================

//----

return(0);

}




附上原始的LeManTrend指标


附加的文件:
 

伙计们,为什么会出现接近错误,而且是在两个不同的终端...

: OrderClose错误4107

: OrderClose函数 的价格1.48566000无效

这三种变体都会出现同样的错误:哪一种更正确?

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3, Violet);
OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_BID),3,Violet);

 
T-G писал(а)>>

伙计们,为什么会出现接近错误,而且是在两个不同的终端...

: OrderClose错误4107

: OrderClose函数的价格1.48566000无效

顺便问一下,这三个选项中哪个是正确的?

我想我必须事先选择好顺序。

 
T-G >>:

Ребята, ну почему дает ошибку закрытия, при чем на двух разных терминалах..

: OrderClose error 4107

: invalid price 1.48566000 for OrderClose function

причем дают одинаковую ошибку все три варианта: и кстати какой из них наиболее правильный?

订单是预先选择的吗? 因为所有这些函数 "OrderTicket(),OrderLots(),OrderClosePrice() "只有在订单被OrderSelect()选中时才起作用。

原因: