string час="15";
string мин="15";
datetime some_time=D'Year().Month().Day() час:мин';//попробуй так ____ но на тестере не будет работать, так как текущие год месяц и день
привяжитесь к барам так проще вместо iBarShift(0,0, some_time) номер бара
string час="15";
string мин="15";
datetime some_time=D'Year().Month().Day() час:мин';//попробуй так ____ но на тестере не будет работать, так как текущие год месяц и день
привяжитесь к барам так проще вместо iBarShift(0,0, some_time) номер бара
我正试图写一个指标。这个想法很简单:我们要取平均值(牛市的力量-熊市的力量)。自然,在一定时期内。
int start()
{
int i=Bars-IndicatorCounted()-1;
while(i>=0)
{
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_EMA,i)。
MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i)。
Buf_0[i]=MA_Bulls[i];
i--;
}
返回。
}
我只显示平滑的公牛Buf_0[i]=MA_Bears[i];这样做是为了在指数绘制的某个阶段进行控制。甚至不完全是这样。如果我用1的周期来平滑它们,它们事实上必须重复嵌入公牛。因此,我断定MA_Bulls[i]=iMAOnArray(Bulls_array,100,MA_Period,0,MODE_SMA,i); 我不明白到底是什么...帮助我!!!!已经翻阅了3天的手册和文件。谢谢你!
首先,形成牛市和熊市的数据阵列,然后用下一个周期熨平,但你还没有形成,已经应用了平滑,没有数据该怎么平滑?
先形成牛市和熊市的数据阵列,然后用下一个周期来熨平它们,因为你还没有形成,已经在使用平滑,没有数据可以平滑?
翻译自
costy_ писал(а) >>
非常感谢你,我越来越接近了。有一点是不太清楚的。
'14:56'--日期字面字符串不完整这是我从电脑上得到的警告。
根据我的理解,它仍然想要日期,但我不需要具体的日期。 我需要的是每天将当前价格与同一天某个时间的价格进行比较。请澄清这一点。
为什么你需要通过iCast打电话给他们呢?是为了统一吗?为他们每个人写一个单独的指标包装,并通过iCustom.com调用他们。
问题是,我已经改变了这两个指标(AO和AC),现在我想让条形图根据修改后的指标来着色。或者有什么其他方法吗?我最近刚刚开始MQL...
问题是我已经重新做了两个指标(AO和AC),现在我想让条形图根据修改后的指标来着色。或者有什么其他方法吗?我最近才开始学习MQL...
那么,你重新做了什么并称之为,有什么问题?例如,如果修改后的指标被称为AO、AC,则调用将是
或者你可以添加你自己的参数
非常感谢你,我越来越接近了。有一点是不太清楚的。
'14:56'--日期字面字符串不完整这是我从电脑上得到的警告。
根据我的理解,它仍然想要日期,但我不需要具体的日期。 我需要的是每天将当前价格与同一天某个时间的价格进行比较。请澄清这一点。
costy_ писал(а) >>
非常感谢你,我越来越接近了
。有一点是不太清楚的。
'14:56' - 日期字面字符串不完整 - 这是电脑给我的警告。
我明白它仍然想要日期,但我不需要特定的日期,我需要每天将当前价格与同一天某个时间的价格进行比较
。请澄清这一点。
然而,我想知道是否有可能将约束力维持到某个时间。在MQL4中,如何说每个交易日14.00的买入价?
skifodessa 05.12.2009 14:07
大家下午好。
请告诉我如何计算某一水平的价格的交叉点的数量。我想让我的订单在3(4,5......)之后打开,但不是在第一次交叉之后。
谢谢你。
------------------------------------------------------------
你可以试试这个算法
如果(当前柱状体的价格>前柱状体的水平价格<水平),那么{计数器增加1}。
如果(counter>3),那么{打开订单;将计数器重置为零}。
现在让我们用通常的语言写出同样的内容(我只写了块,你可以在必要的地方插入它们)
Extern int Chet=10; // 在多少个交叉点之后,应该打开一个订单。
Extern double Uroven=1.6566; // 在价格越过哪个水平后,开始计数。
在启动功能中,条件将大致如下
int k;
如果(Open[0]>Uroven && Open[1]<Uroven)k=k+1;//这里我们考虑一个UP交叉点
如果(k>Chet){OrderSend(.......);k=0};
一般来说,这个问题不是很困难。 关于MCL的书解释了ALGORITHMICS的基础知识
FOR Vinin 写道>>。
谢谢你的提示,但这并没有帮助。因为你刚刚用一个FOR循环代替了While循环。
为Urain写(a)>>
接下来的两行只是在形成正确的阵列。
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Urain 你一定认为iMAOnArray函数应该传递一个已经形成的数组。 用FOR循环形成它并没有帮助。这是因为传给这个函数(iMAOnArray)的不是数组,而是其NAME。阵列是以个人名义处理的。
通过改变字符串MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMA,i)中的i。
我已经解决了这个问题。这比它看起来要深得多。如果你只在专家顾问中应用这种处理方法,就不会有问题,但如果你用它建立一个图表,无论如何都会有障碍。关键是,数组的索引是反的。函数iMAOnArray有直接(从左到右)的索引,而图表是从右到左的索引。感谢加菲奇的解释。
FOR Vinin 写道>>。
谢谢你的提示,但这并没有帮助。因为你刚刚用一个FOR循环代替了While循环。
为Urain写(a)>>
接下来的两行只是在形成正确的阵列。
Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Bulls_array[i]=iBullsPower(NULL,0,PeriodPower,PRICE_CLOSE,i)。
Urain 你一定认为iMAOnArray函数应该传递一个已经形成的数组。 用FOR循环形成它并没有帮助。因为你传递给这个函数(iMAOnArray)的不是数组,而是其NAME。阵列是以个人名义处理的。
通过改变字符串MA_Bears[i]=iMAOnArray(Bears_array,0,MA_Period,0,MODE_SMA,i)中的i。
我已经解决了这个问题。这比它看起来要深得多。如果你只在专家顾问中应用这种处理方法,就没有问题,但如果你用它来建立图表,无论如何你都会面临问题。关键是,数组的索引是反的。函数iMAOnArray有直接(从左到右)的索引,而图表是从右到左的索引。感谢加菲奇的解释。
我不知道问题出在哪里,但Vinin写得很正确(for或while并不重要),主要的是首先循环形成数据数组,然后下一个循环从它形成iMA。
和字符串Bears_array[i]=iBearsPower(NULL,0,PeriodPower,PRICE_CLOSE,i); 只填充阵列的第i个值
没有循环,数组将不会被生成。