这个程序错在哪里?设了止损但没有执行.
var:cnt(0);
If Bars<200 or TakeProfit<10 then Exit;
If TotalTrades<1 then
If FreeMargin<1000 then Exit;
If iMA(5,MODE_SMA,0) > iMA(10,MODE_SMA,0) and iMA(5,MODE_SMA,1) < iMA(10,MODE_SMA,1) then
{
SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED);
Exit;
};
If iMA(5,MODE_SMA,0) < iMA(10,MODE_SMA,0) and iMA(5,MODE_SMA,1) > iMA(10,MODE_SMA,1) then
{
SetOrder(OP_SELL,Lots,Bid,3,0,Bid-TakeProfit*Point,RED);
Exit;
};
Exit;
for cnt=1 to TotalTrades
{
if OrderValue(cnt,VAL_TYPE)<=OP_SELL and
OrderValue(cnt,VAL_SYMBOL)=Symbol then
{
If OrderValue(cnt,VAL_TYPE)=OP_BUY then
{
If iMA(5,MODE_SMA,0) < iMA(10,MODE_SMA,0) and iMA(5,MODE_SMA,1) > iMA(10,MODE_SMA,1) then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Bid,3,Violet);
Exit;
};
If TrailingStop>0 then
{
If (Bid-OrderValue(cnt,VAL_OPENPRICE))>(Point*TrailingStop) then
{
If OrderValue(cnt,VAL_STOPLOSS)<(Bid-Point*TrailingStop) then
{
ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),
Bid-Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT),Red);
Exit;
};
};
};
}
else
{
If iMA(5,MODE_SMA,0) > iMA(10,MODE_SMA,0) and iMA(5,MODE_SMA,1) < iMA(10,MODE_SMA,1) then
{
CloseOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_LOTS),Ask,3,Violet);
Exit;
};
If TrailingStop>0 then
{
If (OrderValue(cnt,VAL_OPENPRICE)-Ask)>(Point*TrailingStop) then
{
If OrderValue(cnt,VAL_STOPLOSS)=0 or
OrderValue(cnt,VAL_STOPLOSS)>(Ask+Point*TrailingStop) then
{
ModifyOrder(OrderValue(cnt,VAL_TICKET),OrderValue(cnt,VAL_OPENPRICE),
Ask+Point*TrailingStop,OrderValue(cnt,VAL_TAKEPROFIT),Red);
Exit;
};
};
};
};
};
};
// the end.
发表于:2004-06-20 04:10只看该作者
2楼
把
SetOrder(OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point,RED);
改为
SetOrder(OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,RED);
3楼
谢谢刀客,另请教一个问题,一个交叉买入信号为何会有3个或多个交易?如图: 与此回复相关的附件(大小:2 K)
韬客外汇论坛TALKFOREX.COM
发表于:2004-06-20 09:11只看该作者
4楼
请问这是什么程序里的程序交易?谢谢
原文由 小草 发表: var:cnt(0); (5,MODE_SM......
韬客外汇论坛TALKFOREX.COM
5楼
看这里就知道了 http://www.talkforex.com/bbs.cgi?menu=show&id=200401041516&slttitle=20040224002156&see=20
原文由 阿蒙 发表: 请问这是什么程序里的程序交易?谢谢
韬客外汇论坛TALKFOREX.COM
发表于:2004-06-20 12:48只看该作者
6楼
因为那些时刻都符合程序所定的下单条件。 需要加上同时只能有一单存在的条件。
原文由 小草 发表: 谢谢刀客,另请教一个问题,一个交叉买入信号为何会有3个或多个交易?如图: 与此回复相关的附件(大小:2 K)