[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 617

 
你能告诉我如何知道最后平仓 的手数吗?例如:上一个仓位以外卖收盘,我们想增加下一个仓位的手数。
 
Vadimkin:
你能告诉我如何在EA中声明一个指标叠加在另一个指标上(如RSI上的MA)?
只有明确地计算,例如使用iMAOnArray() 或通过我自己的算法来计算。
 
david2:
你能告诉我如何知道最后平仓的手数吗?例如:上一个仓位以外卖收盘,我们想增加下一个仓位的手数。
int oht = OrdersHistoryTotal();
double last_lot;
OrderSelect(oht-1,SELECT_BY_POS,MODE_HISTORY);
if(NormalizeDouble(OrderClosePrice()-OrderTakeProfit(),Digits)==0) //ордер закрыт по тейкпрофиту
{
   last_lot = OrderLots();
   // ура
}
 
alsu:

非常感谢你,但不清楚为什么括号里是oht-1而不是oht。
 
david2:
非常感谢你,但不清楚为什么括号里是oht-1而不是oht。

数组的 第一个元素 是数字0,最后一个元素的大小是1
 
alsu:

数组的第一个元素是0,最后一个元素是1。
我明白了。
 
alsu:
只有明确地计算它们,例如使用iMAOnArray() 或我自己的算法。

谢谢你,我会试一试的。

我已经尝试了一种不同的方法。我从RSI创建了一个简单的自定义MA指标。现在我需要为专家顾问制定条件,由它来开仓。

比如说。

如果(RedLine1>BlueLine1&&RedLine2<BluLine2)OP_BUY

如果(RedLine1<BlueLine1&&RedLine2>BluLine2)OP_SELL

但我不知道如何宣布它们。就是说。

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

请你看一下。或者有人请看一下。

附加的文件:
marsi.mq4  2 kb
 
Vinin:


iHigh(NULL, PERIOD_D1,1) - 昨天的高点

iLow(NULL, PERIOD_D1,1) - 昨天的最低值

iOpen(NULL, PERIOD_D1,1) - 昨天的开盘价

iClose(NULL, PERIOD_D1,1) - 昨天的收盘价

是否可以为某一特定日期设置iHai、iLo、iOpen和iClose,该日期可以在指标设置 中改变?

外来的int data = 08/03/2011

iOpen(NULL, 08/03/2011,1) - 什么是开口?

 
Vadimkin:

谢谢你,我会试一试的。

我尝试了一种不同的方法。我从RSI创建了一个简单的自定义MA指标。现在我需要为专家顾问制定条件,用它来开仓。

比如说。

如果(RedLine1>BlueLine1&&RedLine2<BluLine2)OP_BUY

如果(RedLine1<BlueLine1&&RedLine2>BluLine2)OP_SELL

但我不知道如何宣布它们。就是说。

double RedLine1 = iCustom(Symbol(), 0, "MARSI", ?, ?, ......, 1);

我想知道你是否可以看一看。或者有人请看一下。


在你的案例中,没有外部参数,所以你不需要写任何东西来代替问题。

double RedLine1 = iCustom(0, 0, "MARSI", line index, bar number);

更具体地说。

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 红色在1个柱子上

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 红色在2条杠上

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 在1个柱子上显示蓝色

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - 蓝色在第2条上
 
alsu:

在你的案例中,没有外部参数,所以你不需要写任何东西来代替问题。

double RedLine1 = iCustom(0, 0, "MARSI", line index, bar number);

说得更具体些。

double RedLine1 = iCustom(0, 0, "MARSI", 0, 1); - 红色在1个柱子上

double RedLine2 = iCustom(0, 0, "MARSI", 0, 2); - 红色在2条杠上

double BlueLine1 = iCustom(0, 0, "MARSI", 1, 1); - 在1个柱子上显示蓝色

double BlueLine2 = iCustom(0, 0, "MARSI", 1, 2); - 蓝色在第2条上


非常感谢你。
原因: