// Учёт ордеров
Symb=Symbol(); // Название фин.инстр.
Total=0; // Количество ордеровfor(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий
{ // Анализ ордеров:if (OrderSymbol()!=Symb)continue; // Не наш фин. инструмif (OrderType()>1) // Попался отложенный
{
Alert("Обнаружен отложенный ордер. Эксперт не работает.");
return; // Выход из start()
}
Total++; // Счётчик рыночн. ордif (Total>5) // Было не более одного орд, стало не более пяти
{
Alert("Несколько рыночных ордеров. Эксперт не работает.");
return; // Выход из start()
}
Ticket=OrderTicket(); // Номер выбранн. орд.
Tip =OrderType(); // Тип выбранного орд.
Price =OrderOpenPrice(); // Цена выбранн. орд.
SL =OrderStopLoss(); // SL выбранного орд.
TP =OrderTakeProfit(); // TP выбранного орд.
Lot =OrderLots(); // Количество лотов
}
}
// Открытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Total < 5 && Opn_B==true) // Открытых орд. нет +. Было Total < 1, стало Total < 5
{ // критерий откр. BuyRefreshRates(); // Обновление данных
SL=Bid - New_Stop(StopLoss)*Point; // Вычисление SL откр.
TP=Bid + New_Stop(TakeProfit)*Point; // Вычисление TP откр.Alert("Попытка открыть Buy. Ожидание ответа..");
Ticket=OrderSend(Symb,OP_BUY,Lts,Ask,2,SL,TP);//Открытие Buyif (Ticket > 0) // Получилось :)
{
Alert ("Открыт ордер Buy ",Ticket);
return; // Выход из start()
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
// Закрытие ордеровwhile(true) // Цикл закрытия орд.
{
if (Tip==0 && Cls_B==true) // Открыт ордер Buy..
{ //и есть критерий закрAlert("Попытка закрыть Buy ",Ticket,". Ожидание ответа..");
RefreshRates(); // Обновление данных
Ans=OrderClose(Ticket,Lot,Bid,2); // Закрытие Buyif (Ans==true) // Получилось :)
{
Alert ("Закрыт ордер Buy ",Ticket);
break; // Выход из цикла закр
}
if (Fun_Error(GetLastError())==1) // Обработка ошибокcontinue; // Повторная попыткаreturn; // Выход из start()
}
亲爱的,我需要一些帮助。
我从教程(tradingexpert.mq4)中提取了会计、开仓和平仓订单的代码。 这段代码是为了在一个位置上工作。 我需要有五个位置。
我们以如下方式对代码进行了轻微的修改(修改后的行数为黑体),这样仓位就会适量打开,但当我们反转时,只有一个仓位被关闭,反转的仓位会立即打开。
我怎样才能使它在逆转时关闭所有的头寸,然后只打开相反的头寸?
亲爱的,我需要一些帮助。
我从教程(tradingexpert.mq4)中提取了会计、开仓和平仓订单的代码。 这段代码是为了在一个位置上工作。 我需要有五个位置。
我们以如下方式对代码进行了轻微的修改(修改后的行数为黑体),这样仓位就会适量打开,但当我们反转时,只有一个仓位被关闭,反转的仓位马上就会打开。
我怎样才能使其在逆转时关闭所有头寸,然后只打开相反的头寸?
不能以图书馆的使用水平来认定你是初学者。在看了你的代码后,我需要花两周时间才能搞清楚。如果不是更多的话。所以我认为你不会得到答案。
我不是一个程序员,我是一个代码建设者。 所以我建立了这个指标(我看到你可以做一个文本阐述,而不是一个文件t-这就是我将做的,以使它更容易理解。
它显示了本周内各点的总和和动态--在较小的时间框架内,如果之前的运动从Close[i+2]持续到Close[i+1],则当前的运动Close[i]被加上,如果反对,则被减去。我应该规定,程序应该看到星期五的收盘价,而不是收盘价。 我知道可以用DayOfWeek和5(星期五的数字) 来做,但我怎么才能实际做到呢? 帮助。
Vitya,这里没有什么需要整理的--这个人希望一个沙盒(EA及其库)中的全局变量在另一个沙盒(编译库)中可见。:)))
伊戈尔,有点错!在 "沙盒"(已编译的库)中,只有函数和所有的变量在inluder中被声明。在inluder(include文件)中声明的变量在owl中应该是可见的,因为我已经把inluder直接插入到owl中。你不同意吗?
我不是一个程序员,我是一个代码建设者。 所以我建立了这个指标(我看到你可以做一个文本阐述,而不是一个文件t-这就是我将做的,以使它更容易理解。
它显示了本周内各点的总和和动态--在较小的时间框架内,如果之前的运动从Close[i+2]持续到Close[i+1],则当前的运动Close[i]被加上,如果反对,则被减去。我应该规定,程序应该看到星期五的收盘价,而不是收盘价。 我知道可以用DayOfWeek和5(星期五的数字) 来做,但我怎么才能实际做到呢? 帮助。
它是否适合?
伊戈尔,有点错了!只有函数在沙盒(编译库)中,而所有的变量都在inluder中声明。在inluder(include文件)中声明的变量在owl中应该是可见的,因为我已经把inluder直接插入到owl中。你不同意吗?
这样可以吗?
不,它没有。我来解释一下--你的论坛就像希望最后一个有能力的据点的程序。和插入尺寸--这就是它看到的写作 PERIOD_W1,但无论是使用尺寸还是使用固定基准作为日期,都没有得到任何理想的效果。我发了一个关于星期五的具体问题--顺便说一下,你的代码不能编译,因为它说的是'版本'--未知属性,所以如果你不知道如何把 DayOfWeek和5(星期五的数字)放入代码中,其他选项也没有帮助 。
TimeDayOfWeek(Time[i])没有指定Time[i],而是指定一个格式为D'2014.01.27'的具体日期。
如果你需要确定今天是什么日子,只需调用 DayOfWeek()。
在TimeDayOfWeek(Time[i])中,你没有设置Time[i],而是设置一个格式为D'2014.01.27'的具体日期。
如果你想确定今天是什么日子,只需调用 DayOfWeek()。