// Для буфера развёртки по вертикали.SetIndexBuffer(0, gl_adBufIndicator1); // Индикаторный буфер для стабилизации и размера изображения графика в дополнительном подокне.SetIndexEmptyValue (0, EMPTY_VALUE); // Устанавливаем значение пустой величины для линии индикатора.SetIndexLabel(0, "VERTICAL SWEEP"); // Установка имени линии индикатора для отображения информации в окне DataWindow и всплывающей подсказке.SetIndexStyle(0, DRAW_NONE, EMPTY, EMPTY, CLR_NONE); // Линию не показываем.
//==== Устанавливаем развёртку.if (st_nWBeginChart <= 0) st_nWBeginChart = 0;
for (i = st_nWFirstVisiblBar; i >= st_nWBeginChart; i--)
{// Очищаем буфер от лишних значков для вызова окна свойств индикатора.if (i > 0) gl_adBufIndicator2[i] = EMPTY_VALUE;
// Закрепление вертикальной развёртки графика с помощью индикаторного буфера.if (i % 2 == 0) gl_adBufIndicator1[i] = gl_dMaxPositionMark; // Для фиксации верхней координаты дополнительного окна.else gl_adBufIndicator1[i] = gl_dMinPositionMark; // Для фиксации нижней координаты дополнительного окна.
}
//==== Расчёт и создание горизонтальных линий разметки.if ((gl_dMaxPositionMark - gl_dMinPositionMark) != tmp_dDifferPosMark) // Создаём один раз и отслеживаем через заданный уровень при увеличениях максимальных уровней.
{// Расчёт и создание горизонтальных линий разметки.
MakingHorizontalSectoring(AutoStep, Color_LNH, Color_LN0, gl_dMaxPositionMark, gl_dMinPositionMark, Step_LNH, 15, Style_LNH, Width_LNH, st_nWindow, gl_sFullNameObject);
}
int CloseOrder(int ticket, double lots)
{
int err,i1;
double price;
OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES);
if (lots<MarketInfo(Symbol(),MODE_MINLOT))lots=MarketInfo(Symbol(),MODE_MINLOT);
while(i1<10)
{
RefreshRates();
if (OrderType()==0)price=Bid;
if (OrderType()==1)price=Ask;
if (OrderType()>1){OrderDelete(ticket);return(0);}
OrderClose(ticket,lots,NormalizeDouble(price,Digits),Slippage,Goldenrod);
err = GetLastError();
if (err == 0) break;
Print(WindowExpertName(),Symbol(),Error(err)," при закрытии ордера");
Sleep(100);
i1++;
}
return(0);
}
你能更详细地解释一下吗?如果你不介意的话,可以用它来写一段代码 :)
这些是设置指标子窗口的垂直扫描的代码片断。
这是设置水平线 的功能。该功能只在指标代码中起作用。它在图书馆里是不起作用的。
你要靠自己的力量用图形对象进行绘画。一切都是个别的。
不要吓唬我。
我写了对你的逐字问题 "如何使这个EA不分批关闭订单 "的答案。
- 如果您希望该EA不分批关闭订单,您应该在第一次关闭后从订单关闭循环中返回。
这是否有效?
你可以看到返回已经在订单关闭循环中了。在哪里寻找第一笔订单的结算?
你可以看到返回已经在订单关闭循环中了。在哪里可以准确地找到一阶封闭?
这不是一个订单循环。
这是一个顽固的重试,为一个订单。
继续寻找
它不是一个订单周期。
这是一个顽固的过度尝试,只为一个订单。
继续寻找
我把回报放在这里。 对吗?
所以我把回报放在这里。 对吗?
你怎么看?
很奇怪,在这个主题中看到你,一个在代码库中发表过文章的人。
伙计们,我如何制作一个代码来修改一个订单的收支平衡。
我们需要让止损点向正方向移动1个点,并且不要再碰它。
我的方式
看起来,每次条件为真时,应该修改顺序。
ps.
你怎么看?
我觉得在这个话题中看到你很奇怪,一个在codebase上发表过文章的人。
测试的结果是--开了2个订单,没有获利平仓,也没有再开。
所以这个变体并不适合。
我已经在代码库中公布了我的想法,我的专家顾问是由经验丰富的程序员按照我的命令编写的。
我放弃了--我不知道该把退货放在哪里,我到处都试过了。
这些是设置指标子窗口的垂直扫描的代码片断。
这是设置水平线的功能。该功能只从指标代码中工作。它在图书馆里是不起作用的。
你要靠自己的力量用图形对象进行绘画。一切都是个别的。
测试的结果是--开了2个订单,没有获利平仓,也没有再开。
所以这个选项不适合。
所以这又回到了我的第一个帖子--"......不完整的TK"。