问吧! - 页 18

 

检索t_1的买入和卖出值

你好。

我是一个编程新手,我不知道如何检索前一个tick的值:前一个ask和bid值。

谢谢你的帮助。

 

询问和出价历史 - witchazel

witchazel:
你好,我正在做一个EA....,如果ask[-1] =iCustom,我想做,但我不能在这里找到它,因为Ask和Bid没有历史。

我也有同样的问题,想找回ask[-1]和bid[-1],但不知道该怎么做。

如果你有解决办法,请发表出来。

非常感谢。

 
 
 
 

Hi FireDave, 谢谢你的热情欢迎。很高兴在这里看到你。你是这里的版主吗?

日复一日的成功。

这应该能让你开始。

// 填充你的数组

MyArray[][3];

ArrayInitialize(MyArray,0);

for (int cnt=OrdersTotal()-1;cnt>=0;cnt--)

{ OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

如果(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)

{ MyArray[cnt][0]=OrderTicket()。

如果(OrderType()==OP_BUY)

{ MyArray[cnt][1]=1; //买入

MyArray[cnt][2]=OrderOpenPrice();

}

否则

{ MyArray[cnt][1]=2; // 卖出

MyArray[cnt][2]=OrderOpenPrice();

}

}

}

// 搜索你的数组中的OrderTicket

int MyArrayIndex=ArrayBsearch(MyArray,OrderTicket(),WHOLE_ARRAY,0,MODE_ASCEND) 。

如果(MyArray[MyArrayIndex][0]==OrderTicket())

{ // 你的代码在这里

}

 
Yannis:
Hi FireDave, 谢谢你的热情欢迎。很高兴在这里看到你。你是这里的版主吗?

不是的,只是另一个寻找圣物 的人。

 

谢谢你Yannis

Yannis:

DayTrSuccess,

这应该能让你开始。

.......................

}

谢谢你。 我会使用它。

 
 

witchazel,

我不明白你说的 "它会给我最后一次变化的收盘价吗 "是什么意思。开盘/最高价/最低价/收盘涉及价格条。所以,是的,Close[1]将给你提供你的图表当前时间框架上的前一个条形的收盘。你可以使用iClose(NULL,0,Shift) (iOpen/iHigh/iLow)来获得你所在时间段以外的这些数值。"0 "代表 "当前 "时间段,"Shift "代表后面的条数。用你需要的时间框架(1,5,15,30,60,240....)替换 "0",用后面的条数 替换 "shift",如果你的当前图表是EURUSD,但你需要解决GBP的前次收盘,你甚至可以将 "NULL "替换为 "GBPUSD"。

iClose(NULL,1,1)将给出你当前货币对的收盘价,在1分钟的图表上,往后1条。

我会考虑花一些时间阅读解决MT4编码的主题,我认为CodesGuru为新的编码者提供了一个很好的主题,还有Metaeditor帮助文件和免费的专家和指标到处张贴。

亚尼斯