for(int cnt=0;cnt<OrdersTotal();cnt++){ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES); iTicket=OrderTicket(); Comment("\nOrderTicket = ", iTicket); // проверяем переданные значения if ((iTicket==0) || ((iTmFrme!=1) && (iTmFrme!=5) && (iTmFrme!=15) && (iTmFrme!=30) && (iTmFrme!=60) && (iTmFrme!=240) && (iTmFrme!=1440) && (iTmFrme!=10080) && (iTmFrme!=43200)) || (iMAPeriod<2) || (MAMethod<0) || (MAMethod>3) || (iApplPrice<0) || (iApplPrice>6) || (iShift<0) || (iIndent<0)) {Comment("\nТрейлинг функцией TrailingByMA() невозможен из-за некорректности значений переданных ей аргументов."); return(0);} // определим значение МА с переданными функции параметрами double dMA = iMA(Symbol(),iTmFrme,iMAPeriod,iMAShift,MAMethod,iApplPrice,iShift);// значение скользящего среднего с переданными параметрами // если длинная позиция, и её стоплосс хуже значения среднего с отступом в iIndent пунктов, модифицируем его if (OrderType()==OP_BUY){ if ((OrderStopLoss()<dMA-iIndent*Point) && (dMA-iIndent*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)){ if (!OrderModify(iTicket,OrderOpenPrice(),dMA-iIndent*Point,OrderTakeProfit(),OrderExpiration())) Comment("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}} // если позиция - короткая, и её стоплосс хуже (выше верхней границы канала или не определён, ==0), модифицируем его if (OrderType()==OP_SELL){ if (((OrderStopLoss()==0) || (OrderStopLoss()>dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point)) && (dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)) {if (!OrderModify(iTicket,OrderOpenPrice(),dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point,OrderTakeProfit(),OrderExpiration())) Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}}}
伴随着突兀的风声而倒下 :)
要测量一个角度,你需要一个点+基准点和一个测量角度的点。
对于初学者来说。
int cnt, total;
total=OrdersTotal();
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
iTicket=OrderTicket();
}
对于初学者来说。
下面是一个有订单超限的代码片断。尾随止损的代码取自这里。追踪止损的函数和专家顾问库/Yuri Dzyuban》。
返回0,哭笑不得!!!。for(int cnt=0;cnt<OrdersTotal();cnt++){
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
iTicket=OrderTicket();
Comment("\nOrderTicket = ", iTicket);
// проверяем переданные значения
if ((iTicket==0) || ((iTmFrme!=1) && (iTmFrme!=5) && (iTmFrme!=15) && (iTmFrme!=30) && (iTmFrme!=60) && (iTmFrme!=240) && (iTmFrme!=1440) && (iTmFrme!=10080) && (iTmFrme!=43200)) || (iMAPeriod<2) || (MAMethod<0) || (MAMethod>3) || (iApplPrice<0) || (iApplPrice>6) || (iShift<0) || (iIndent<0))
{Comment("\nТрейлинг функцией TrailingByMA() невозможен из-за некорректности значений переданных ей аргументов."); return(0);}
// определим значение МА с переданными функции параметрами
double dMA = iMA(Symbol(),iTmFrme,iMAPeriod,iMAShift,MAMethod,iApplPrice,iShift);// значение скользящего среднего с переданными параметрами
// если длинная позиция, и её стоплосс хуже значения среднего с отступом в iIndent пунктов, модифицируем его
if (OrderType()==OP_BUY){
if ((OrderStopLoss()<dMA-iIndent*Point) && (dMA-iIndent*Point<Bid-MarketInfo(Symbol(),MODE_STOPLEVEL)*Point)){
if (!OrderModify(iTicket,OrderOpenPrice(),dMA-iIndent*Point,OrderTakeProfit(),OrderExpiration()))
Comment("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}}
// если позиция - короткая, и её стоплосс хуже (выше верхней границы канала или не определён, ==0), модифицируем его
if (OrderType()==OP_SELL){
if (((OrderStopLoss()==0) || (OrderStopLoss()>dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point)) && (dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point>Ask+MarketInfo(Symbol(),MODE_STOPLEVEL)*Point))
{if (!OrderModify(iTicket,OrderOpenPrice(),dMA+(MarketInfo(Symbol(),MODE_SPREAD)+iIndent)*Point,OrderTakeProfit(),OrderExpiration()))
Print("Не удалось модифицировать стоплосс ордера №",OrderTicket(),". Ошибка: ",GetLastError());}}}
Swetten ,如果你还需要什么,请写信。
如果你还需要什么,请写信。
非常感谢您!只是我的错--我用return(0)的周期比较高,所以它在隐藏,一点一点地伤害我。
我有一个问题:你是否有一个程序,在那里我输入手数,指定配对,它显示我需要多少钱(例如卢布)来购买这个手数,点值,等等?
只是每次你计算,例如,1.3手英镑兑美元,然后2.8手欧元JPI就有点累。
非常感谢您!只是我的错--我用return(0)的周期比较高,所以它在隐藏,一点一点地伤害我。
我有一个问题:你是否有一个程序,在那里我输入手数,指定配对,它显示我需要多少钱(例如卢布)来购买这个手数,点值,等等?
只是每次你数到例如1.3手英镑兑美元,然后是2.8手欧元JPI,就会有点厌烦。
在英镑兑美元,他笑了。在EBUJPI,我带着一个小兵下去了。我很抱歉,我没有任何不好的意思。
还有一个问题:有三个变量。任何类型的。是否可以实现以下条件:如果三个变量中的两个变量对应于某某条件,那么就做某某事?
我建议将该主题更名为 "来自Svetten的问题" -)
关于这个话题 =)
我 一直在认真使用其中的一个=)它已经持续了两天。
练习,200英镑。
对MTS来说,更严重 一点,700英镑。
长期的MTS 从7,000英镑起。
IMHO =)
这里还有一个好问题:有这样的数据。
P1[a, b, step]
P2[c, d, step]
P3[e, f, step]
P4[g, h, step]
P5[i, j, step].
我怎样才能一次性把它们写到一个文件里,然后再从那里读出来?
我是这样做的。
这一切都写得很精彩,只是里面都是废话。教科书是一个有点无奈的事情,真的!那么你如何像表一样写和读数据呢?还有像这样的数组?一般来说呢?金的图书馆里有一个看。非常感谢您!只是我的错--我用return(0)的周期比较高,所以它在隐藏,一点一点地伤害我。
我有一个问题:你是否有一个程序,在那里我输入手数,指定配对,它显示我需要多少钱(例如卢布)来购买这个手数,点值,等等?
只是每当你计算例如1.3手英镑兑美元,然后2.8手欧元JPI时,就会感到有点厌烦。