//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 30.04.2009 |//| Описание : Возвращает флаг разрешения торговли по времени. |//+----------------------------------------------------------------------------+//| Параметры: |//| hb - часы времени начала торговли |//| mb - минуты времени начала торговли |//| he - часы времени окончания торговли |//| me - минуты времени окончания торговли |//+----------------------------------------------------------------------------+bool isTradeTimeInt(int hb=0,int mb=0,int he=0,int me=0){datetime db, de;// Время начала и окончания работыint hc;// Часы текущего времени торгового сервера
db=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ hb+":"+ mb);
de=StrToTime(TimeToStr(TimeCurrent(), TIME_DATE)+" "+ he+":"+ me);
hc=TimeHour(TimeCurrent());if( db>= de){if( hc>= he) de+=24*60*60;else db-=24*60*60;}if(TimeCurrent()>= db &&TimeCurrent()<= de)return( True);elsereturn( False);}
在第76页...
谢谢你
isTradeTimeInt()函数。
该函数返回一个允许定时交易的标志。返回值为真或假。函数isTradeTimeInt()与函数isTradeTimeString() 的原理相似,都是通过时间间隔识别,即交易开始时间既可以大一些(一天内的时间间隔),也可以小一些(不同天的时间间隔)。函数isTradeTimeInt()接受以下可选参数。
如何使用isTradeTimeInt()的例子。
附上一个测试isTradeTimeInt()函数的脚本。
最新的功能列表,包括简要描述和链接...
isCloseLastPosByStop()函数。
该函数返回一个标志,即通过停止关闭最后一个位置。Flag is up - True - StopLoss已经触发。Flag lowered - False - 职位已因其他原因被关闭。更准确地选择要考虑的位置是由外部参数设定的。
你好
试图为我自己的目的使用你的功能。小型工作专家顾问。只卖出和关闭,一个位置。有时它会连续抓到几个止损点。我想在第一次止损后改变卖出条件,专家顾问开仓,但不平仓。请告诉我,我做错了什么?
..........................................................
如果( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) ==0){
如果 ( (StochK_0<StochD_1) && (StochD_1 > 80) ) // 第一次缓慢卖出
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+SL*Point,0, "My EXP", MagicNamber,0,Green); // sell
OrderSelect(0, SELECT_BY_POS)。
如果(OrderSelect(0, SELECT_BY_POS)==true )
Print("SELECT_BY_POS")。
否则
Print("选择失败的错误:",GetLastError())。
RefreshRates()。
如果((StochK_0<30)&&(StochD_1<30))
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet)。
}
否则
如果( isCloseLastPosByStop(NULL,OP_SELL, MagicNamber) ==1)
{
如果 ((StochK_0<StochD_1) && (StochK_0 < 60) && (StochD_1 < 60) )
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0, "My EXP", MagicNamber,0,Green); //
...........................
专家开仓,但不平仓。
打印StochK_0 和StochD_1 变量。也许他们采取的价值不属于你的关闭条件。
给KimIV
你好,请你帮助把这个群集指标 转换成一个函数,并通过输入参数--对子名称,把+对子变化率值返回(右上角)。 我预先感谢你。
P.S..... 我已经挣扎了一个星期了
那么我们如何在代码中表达,在任何一个小时的开始,在第一秒我们打开两个不同方向的头寸,在该小时的最后一秒我们关闭失败的订单?
如果没有,第一和最后一秒呢?