if(Buy_Condition_1 || Buy_Condition_2)
{
if(Buy_Condition_3 && Buy_Condition_10)
{
// есть ли в данный момент открытая позиция на покупку?if(Buy_opened)
{
Alert("Позиция на покупку имеется");
return; // не добавлять к открытой позиции на покупку
}
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.symbol = _Symbol; // символ
mrequest.magic = EA_Magic; // Magic Number
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type = ORDER_TYPE_BUY; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("Buy успешно помещен, тикет ордера #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера Buy не выполнен - код ошибки:",GetLastError());
return;
}
}
}
if(Buy_Condition_4 || Buy_Condition_5)
{
if(Buy_Condition_6)
{
// есть ли в данный момент открытая позиция на покупку?if(Buy_opened)
{
Alert("Позиция на покупку во Флэте есть");
return; // не добавлять к открытой позиции на покупку
}
if(PositionSelect(_Symbol)==true) // есть открытая позиция
{
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL)
{
Alert("Закрываю ордер Sell флэт!!!");
mrequest.action = TRADE_ACTION_DEAL;// немедленное исполнение
mrequest.symbol = _Symbol; // символ
mrequest.magic = EA_Magic; // Magic Number
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type = ORDER_TYPE_BUY; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("тикет закрытия Sell флэт #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера закрытия Sell флэт не выполнен - код ошибки:",GetLastError());
return;
}
}
}
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.symbol = _Symbol; // символ
mrequest.magic = EA_Magic; // Magic Number
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type = ORDER_TYPE_BUY; // ордер на покупку
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("Buy на тренд успешно помещен, тикет ордера #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера Buy тренд не выполнен - код ошибки:",GetLastError());
return;
}
}
}
....
...
if(Buy_Close_1 || Buy_Close_2)
{
if(Buy_Close_3)
{
if(PositionSelect(_Symbol)==true) // есть открытая позиция
{
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
{
Alert("Закрываю ордер BUY!!!");
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.symbol = _Symbol; // символ
mrequest.magic = EA_Magic; // Magic Number
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type = ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("тикет закрытия Buy #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера закрытия Buy не выполнен - код ошибки:",GetLastError());
return;
}
}
}
}
}
if(Buy_Close_4 || Buy_Close_5)
{
if(PositionSelect(_Symbol)==true) // есть открытая позиция
{
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY)
{
Alert("Закрываю ордер BUY!!!");
mrequest.action = TRADE_ACTION_DEAL; // немедленное исполнение
mrequest.symbol = _Symbol; // символ
mrequest.magic = EA_Magic; // Magic Number
mrequest.volume = Lot; // количество лотов для торговли
mrequest.type = ORDER_TYPE_SELL; // ордер на продажу
mrequest.type_filling = ORDER_FILLING_FOK; // тип исполнения ордера - все или ничего//--- отсылаем ордерOrderSend(mrequest,mresult);
// анализируем код возврата торгового сервераif(mresult.retcode==10009 || mresult.retcode==10008) //запрос выполнен или ордер успешно помещен
{
Alert("тикет закрытия Buy #:",mresult.order,"!!");
}
else
{
Alert("Запрос на установку ордера закрытия Buy не выполнен - код ошибки:",GetLastError());
return;
}
}
}
}
Boris.45:
我不使用数组中的这个元素,因为我立即进行搜索最后5个柱状物的算法。 而Time_H1[1][0]是零柱的开盘时间,这个柱子的参数还没有形成。也许我错了,但根据我自己的经验,我看到使用零条的参数来形成时间序列会导致其失真
好吧,让我澄清一下这个问题。
如果 "Time_H1[numer_instr][i]=Time_buf[i]; "和 "Time_H1[1][1]=2011.01.03 11:00:00",Time_buf[0]返回什么?
请给我发送一个链接,以关闭某个(具体)职位。
也就是说,在某一点上,当满足平仓 的条件时,比如说BUY,专家顾问(此刻)就会关闭任何未平的BUY头寸。现在我面临一个问题,当我需要关闭某个(特定)BUY头寸时。例如,当一个 "买 "的头寸被打开时,你可以给它一个特定的指定,但当它被关闭时,你必须指定 "买 "作为条件。
例如,当打开一个BUY头寸时,你可以给它一个特定的指定,但当关闭它时,你需要指定它的 "存在"。
所以你要在同一个符号上关闭不同的 "位置"?
并非如此。
如果买入平仓,我不能关闭买入趋势。反之亦然。
也就是说,在同一个符号上关闭某些头寸--要么是平仓(如果平仓),要么是趋势(如果趋势开仓)。
也就是说,在一个单一的符号上关闭某些头寸--要么是平仓(以开盘平仓为准),要么是趋势(以开盘趋势为准)。
好吧,我澄清一下这个问题。
如果 "Time_H1[numer_instr][i]=Time_buf[i]; "和 "Time_H1[1][1]=2011.01.03 11:00:00",Time_buf[0]返回什么?
我将尝试解释我在EA中试图实现的想法。
有标准函数CopyTime(), CopyOpen(), CopyHigh()等,使用相应的数组Time_buf[], Open_buf[], High_buf[]等。
使用这些函数,我们可以获得不同时间段和不同货币的历史数据。在这种情况下,Time_buf[0]是零条开盘的时间。
High_buf[0]是指在最后到达的tick时刻,零条上指定货币的最高价格值。
然后我为每个时间框架的每个参数Time、Open等创建二维数组。然后我有以下时间框架H1的数组
Time_H1[i][j], Open_H1[i][j], High_H1[i][j], 等等。在这些数组中,每一行都是专门为某种货币的历史数据准备的。因此。
使用货币编号循环 for( i=1; i<=nomer_instr; i++ ) 我用数组的相应行覆盖历史数据 Time_buf[j], High_buf[j] 等
Time_H1[i][j], High_H1[i][j] 等。
如果你使用ticks进行交易,你可以使用零条的当前参数。自然地,当前参数的零杆在
我有一个专家顾问,使用条形图而不是刻度图。我已经看到,当EA在条形图上操作时
High_buf[0]和Low_buf[0]的值不是零点收盘时的历史值,而是一些随机值。因此,如果我们把
在一个历史序列中的零条参数,整个历史序列的参数将被扭曲。这就是为什么我不使用零条的参数。
抱歉这么长。
Boris.45:
我将尝试解释 我试图在我的专家顾问中实现的想法。
我不是在问这个想法 :)
这就是我想问的,你提到的数组元素用什么值返回?
请指教!
如何改变市场概览中货币对的背景颜色
或者完全去掉颜色!
提前感谢!