//+------------------------------------------------------------------+//| Check for open order conditions |//+------------------------------------------------------------------+void CheckForOpen()
{
double ma;
int res;
//---- go trading only for first tiks of new barif(Volume[0]>1) return;
//---- get Moving Average
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditionsif(Open[1]>ma && Close[1]<ma)
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
return;
}
//---- buy conditionsif(Open[1]<ma && Close[1]>ma)
{
res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);
return;
}
//----
}
int start()
{
int res;
//---- go trading only for first tiks of new barif(Volume[0]>1) return;
//---- if(OrdersTotal()==0)//если нет открытых ордеров
{
res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);// открыть SELL// res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); //открыть BUY
}
//----
return(0);}
请告诉我,如果触发了止损或止盈,如何开立一个新的订单。最好是一个代码!提前感谢!!!。
从https://www.mql5.com/ru/code,打开任何EA的代码
或打开MT4自带的专家顾问的代码,例如,Moving Average.mq4。
在那里,如果你仔细看,你会看到它是如何做到的。
之后,你就可以说话了。
在那里,如果你仔细看,你会看到它是如何做到的。
之后,你们就可以谈了。
这并不是我所期待的答案......。我想要一个具体的例子,而不是 程序的全部代码 .. .
我今天草拟了一个新的EA,我是为自己写的,但如果结果是好的,我以后会和你分享。
我想听听你的意见,还有什么需要补充的。它可以重新安排止损和止盈,在屏幕上移动线,显示未平仓的订单,以及更多关于账户的统计数据。 最重要的是为追踪止损添加一些选项,并直观地显示其运动。 还会有什么其他要求?
它看起来不错 :)。
至少,我想教我的专家顾问不要丢失存款。
一个好的EA并不能保证一个好的生活。
在那里,如果你仔细看,你会看到它是如何做到的。
之后,你们就可以谈了。
这并不是我所期待的答案......。我想要一个具体的例子,而不是 程序的全部代码 .. .
教一个EA至少不要损失存款。
美丽的EA并不能保证美丽的生活。
不要对我说教关于EA的事!我不知道。如果你不明白,这就不是一个交易EA。而屏幕上是一个模拟账户,有专门开出的订单,以测试这个EA的性能。
不要对我说教关于EA的事!我不知道。如果你不明白,这就不是一个交易专家顾问。而屏幕上是一个模拟账户,有专门开出的订单,以测试这个EA的工作。
如果我的帖子听起来很说教,请原谅我。
我只是在表达我对自动交易的观点。
来吧,世界!:) 我只是在等待听到一些想法、愿望,不仅是为我自己,因为我正在努力。
这个网站上有大量的想法,但我不知道有谁以自动交易为生。
这是随MT4提供的EA代码的一部分。
SPY...但这又不是问题 :) 问题是,我不使用指标...我只需要在STOP或PREF被触发的情况下开一个新的订单!如何能以另一种方式实施...
这里是代码的一部分....但它并不工作 ....
for(int i=1; i<=OrdersTotal(); i++) // ?????????????????
{
if(OrderSelect(i-1,SELECT_BY_POS)==true)
{
double SL=OrderStopLoss();
double TP=OrderTakeProfit(); // TP ?????????????.
double Price =OrderOpenPrice();
{
if(SL >= Price)
{
OrderSend(Symbol(), OP_BUY, lots,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green) ;
}
}
Alert(i);
}
}
スーパーション...但这又不是问题 :) 问题是,我不使用指标...我只需要开一个新的订单,如果它触发了STOP或PREF!如何能以另一种方式实施...
这里是代码的一部分....但它并不工作 ....
仍然是同一段代码,但没有指标。