if( условие на покупку или продажу)
{
if(OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES)==true) // если есть уже ордер то проверяем
{
if (OrderOpenTime()!=Time[1]||OrderOpenTime()!=Time[2]||OrderOpenTime()!=Time[3]) // если открытый ордер имеет значение(OrderOpenTime) не равное времени бару назад и тд. до 3 баров.
{
TimeBar=Time[0];
OrderSend(Symbol(),OP_BUY, LOT,NormalizeDouble(Ask,Digits),2,0,0,"ntcn",Magic,0,Blue); // тогда открываем
}
}
}
但它并不奏效......或者说,如何才能做到与众不同????。如果您能分享您的知识,我将不胜感激。
如果有人正在阅读并面临同样的问题,这里是答案。
if( условие на покупку или продажу)
{
OrderSelect(OrdersTotal()-1,SELECT_BY_POS,MODE_TRADES); // проверяем последний ордерif(OrderOpenTime()<Time[3]) // если по времени прошло 3 бара тогда можно открывать новую сделку
{
TimeBar=Time[0];
OrderSend(Symbol(),OP_SELL, LOT,NormalizeDouble(Bid,Digits),2,0,0,"ntcn",Magic,0,Red);
}
}
你好,我以S.Kovalev的教程中的脚本为基础。我想做一个专家顾问,开一笔交易,设置止损,获利,然后等待交易结束(即止损或获利),然后才重新开仓。我试着用循环和循环中断。请告知如何做到这一点。我想,不同时设置止损和止盈可能更容易,价格接近某个水平时就会平仓。 但我不想这样做,因为我害怕滑点,每个点对我都很重要。如果我试图同时打开一个或几个交易,我就无法打开新的交易。
//+------------------------------------------------------------------+
int start() //---- function start
{
double //---- declare variables
x,
y;
//+------------------------------------------------------------------+
OrderSend(Symbol(,OP_BUY,0.1,Ask,3,Ask-15*Point,Ask+15*Point); //----市场订单买入,并在开盘价的基础上设止损和盈利15点
//+------------------------------------------------------------------+
while(x!=Ask-15*Point||y!=Ask+15*Point)//---- 的条件,我希望交易在前一个交易结束之前被关闭,即:е.有可能
{//-----,只保留一笔交易
继续。//---- 中断该条件并进入下一步
}
//+------------------------------------------------------------------+
return;//---- function return
}
//+------------------------------------------------------------------+
是的,只有公开价格,这就是为什么在分析EA时要考虑它的原因。例如,如果一根蜡烛的尾巴打破了你的通道,专家顾问可能看不到它,但你可以改变程序逻辑,解决这个问题。
问:这里有一段代码
int init()
{//----
ShiftSignal=0;
SlowPer=FastPer+AddSlow;
Spread=MarketInfo(Symbol(),MODE_SPREAD);
Comment("ExpertMagicNumber=",ExpertMagicNumber);
if ( (FastShift<0)&&(SlowShift>=0)
ShiftSignal=FastShift;
if ((FastShift>=0)&&(SlowShift<0))
ShiftSignal=- SlowShift;
if ((FastShift<0)&&(SlowShift<0))
{
if (MathAbs(FastShift)>MathAbs(SlowShift)
ShiftSignal=-FastShift;
else
ShiftSignal=-SlowShift;
}
//----
return(0)
我对这个片断感兴趣
如果((FastShift<0)&&(SlowShift>=0))
ShiftSignal=FastShift。
如果FastShift<0,这意味着FastShift最初等于一个负的整数,例如:-2
然后在下一行ShiftSignal=FastShift。
人们会认为值-2会被分配 给ShiftSignal变量而不是0。
但同时你可能会想,为什么在FastShift变量前面会有减号?
因为在数学中,减去的是正数,即数值将是 "+2",也就是说,只是2。
如果你需要,我可以把所有的代码发给你。
帮助我解决这样的问题。
有一个买入或卖出的信号,但下一个条形图也满足条件,因为下一个条形图的信号不被考虑。
我怎么做,但它不工作。
但它并不奏效......或者说,如何才能做到与众不同????。如果您能分享您的知识,我将不胜感激。
如果有人正在阅读并面临同样的问题,这里是答案。
既然没有人回答,我将尝试重新表述我的问题。
如果iCastom()函数只给出零,有没有办法从编译的指标中提取信息?
你好,请问如何在指标信号为正的情况下开始计算条数?
- 我得到了一个信号,打开海湾,只有在接下来的2个酒吧上升之后。
奥列格,条件不是很严格,例如,开始计算未平仓的订单,如果超过1个就不平仓(使用本网站的即用功能)
不幸的是,信号也可以重复(在买入更多的意义上,它们可以是一小时后,一天后,等等)我已经通过OrderComment,阻断,但也有重复的订单。我想对重复信号进行封锁。如果通过Sleepage,时间框架是不同的,4小时....
如果你不知道该怎么做,你会得到一个错误的答案。
不幸的是,信号也可能是重复的(在额外买入的意义上,它们可能是一小时后,一天后,等等)我已经通过OrderComment,阻止,但也有重复的订单。我想对重复信号进行封锁。如果通过Sleepage,时间框架是不同的,4小时....
但感谢你的回答。
在网站上搜索该分支机构
禁止在一个酒吧进行交易。