double DataIndUP, DataIndDN;
int i, GlobalFlag, nBars = 250 ; // nBars = количество проверяемых баров вглубь историиfor (i=0; i<nBars; i++)
{
DataIndUP = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вверх, i)
DataIndDN = iCustom(Symbol(),Period(),"Имя индюшонка", через запятую все параметры индюка , номер буфера стрелки вниз, i)
if (DataIndUP !=EMPTY_VALUE) // или if (DataIndUP !=0) // найдена стрелка вверх
// всё зависит от того, что выдаёт буфер при отсутствии стрелки // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
GlobalFlag=+1 // присвоение значения +1(стрелка вверх) переменной
Break; //выход из цикла, так как нашлась последняя стрелка
if (DataIndDN !=EMPTY_VALUE) // или if (DataIndDN !=0) // найдена стрелка вниз
// всё зависит от того, что выдаёт буфер при отсутствии стрелки // нажмите Ctrl+D и посмотрите что вам в окне данных будет показано
GlobalFlag=-1 // присвоение значения -1(стрелка вниз) переменной
Break; //выход из цикла, так как нашлась последняя стрелка
}
让我给你讲讲这个想法的要点。
你需要从当前栏中找到或确定历史上的第一个箭头。
不管它是向上还是向下,都不重要。
(A) 然后把这个发现保存在一个变量或一个标志中。例如,GlobalFlag =-1(如果箭头是向下的),如果是向上的,则+1。
然后价格进一步向前,一些箭头又被画了出来。
在EA中,搜索周期每次都是以新的刻度线开始的,对吗?
循环再次启动,它找到了刚刚画好的箭头,并将其保存在一个变量或一个标志中,即
即A项被执行。
这就是我们的想法。
为什么要为国旗之类的东西费心?
然后这个标志,即箭头将看的地方,将与另一个指标一起使用,以确认信号。
例如,GlobalFlag=+1(箭头向上),另一个指标发出向上的信号,这意味着我们应该进入市场。
也就是说,这两个条件在指标中应该是重合的。
你喜欢这个代码吗?
也就是说,我不需要计算哪根蜡烛上的箭头,那里的价格是多少等等。
最主要的是固定箭头的可用性和它的方向。
我是否可以指定true和falce ????,而不是+1和-1?
这是个开始。
因此,进场点A--卖出和买入都是4个点。1种行为的变体--价格下跌--我们将利润固定在,比如说,从进场点开始的5点。- 如果价格上涨,固定利润前的点数也会改变(目前是最小值)。 也就是说,程序将不得不一次下4个订单,))是否可以编程?
帖子因淫秽亵渎而被删除
帖子因淫秽亵渎而被删除
对不起,慷慨的,无法控制自己。厌倦了维也纳森林的故事,...
请写一个有4个订单的程序,我需要看一下演示,看一下反转。
请写一个有4个订单的程序。我需要看一下演示,看看我是否能弄清枢轴选项。
请看 "雪崩 "主题--那里的 "一切 "都已经彻底想好了,包括反转选项。
没有必要重新发明车轮。一切都是人们很久以前发明的。阅读、分析、使用并利用它。
你不会很快找到 "它 "自行车(阅读:解决方案)......。
你能告诉我为什么不存在周期性吗?在测试器中,专家顾问只开了两笔交易。
外来的int F = 8; //快速МА的周期。
外部int S = 20; //慢速MA的时间段
外置双倍数 Lots = 0.1; // 订单手数
int Slippage = 5; // 以点为单位的滑点。
int Magic = 123; //专家顾问的魔法号码。
int ticketsell;
int ticketbuy;
int start()
{
double MAfast = iMA(NULL,0,F,0,MODE_SMA,PRICE_CLOSE,1);
double MAslow = iMA(NULL,0,S,0,MODE_SMA,PRICE_CLOSE,1);
//终端中没有ticketell的订单,或者它被关闭,并且快速MA低于慢速MA,卖出!
如果 ( (OrderSelect(t ticketsell,SELECT_BY_TICKET,MODE_TRADES) == false ) && MAfast < MAslow )
{
// 如果我们已经有了一个相反的订单,买入,让我们关闭它。
如果 ( OrderSelect(ticketbuy,SELECT_BY_TICKET,MODE_TRADES) == true )
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage,CLR_NONE)。
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,Magic,0,Red)
}
如果 ( (OrderSelect(ticketbuy,SELECT_BY_TICKET,MODE_TRADES) == false ) && MAfast > MAslow )
{
如果 ( OrderSelect(t ticketsell,SELECT_BY_TICKET,MODE_TRADES) == true )
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, CLR_NONE)。
ticketbuy = OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,Magic,0,Blue) 。
}
return(0);
}
米尔加 试试这个
我的问题仍未得到解答。
尽管如此,我怎样才能过滤从指标传入的信号数量?例如,专家顾问接受第三号信号开始工作,也就是说,前两个信号被跳过,第三号信号被接受采取行动。正如我在上面写的,我试图用全局变量 来实现它,但它不起作用....。