任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 447 1...440441442443444445446447448449450451452453454...1178 新评论 Vitalie Postolache 2014.01.27 15:49 #4461 TarasBY: 你从哪里读到关于TimeDayOfWeek()的信息(在例子中)?:))) 在右边;) 我错了,我也可以用Time[]的形式设置,但在例子中,它是不同的,更方便))))。 Alekseu Fedotov 2014.01.27 16:05 #4462 Vitek2010: 不,它没有。我会解释--你的论坛就像一个希望,最后一个有能力的据点的程序。和插入尺寸--这就是写作 PERIOD_W1的看法,但无论是使用尺寸还是使用日期形式的固定基准,都没有得到任何理想的效果。我发了一个关于星期五的具体问题--顺便说一下,你的代码不能编译,因为它说的是'版本'--未知属性,所以如果你不知道如何把 DayOfWeek和5(星期五的数字)放入代码中,其他选项是没有用的 。 if(TimeDayOfWeek(TimeCurrent())==5) //Пятница Vitek2010v 2014.01.27 16:34 #4463 r772ra: 请将你的变体粘贴到我的指标代码中,并进行编译。并将修正后的指标以清晰的文本而不是文件形式发布。维宁同志给了我无法解释的密码,没有回答。 #属性 indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Lime //-------------------------------------------------------------------- double Buffer[]。 //-------------------------------------------------------------------- int init() { SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, 2); SetIndexBuffer(0,Buffer;) return(0); } // ------------------------------------------------------------------- int deinit() { return(0); } //-------------------------------------------------------------------- int start() { int StartBar = Bars - IndicatorCounted() - 1; for(int i = StartBar; i >= 0; i--) { 如果(TimeDayOfWeek(TimeCurrent())==5) //星期五 如果(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1]) Buffer[i] = 0。 否则 Buffer[i] = Buffer[i+1]; if(Close[i]>Close[i+1]&&Close[i+1]>=Close[i+2]){/如果当前和之前的运动都在增加 Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0); } if(Close[i]<Close[i+1]&&Close[i+1]<Close[i+2]){//如果当前和之前的动作都在下降 Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0); } if(Close[i]>Close[i+1]&&Close[i+1]<Close[i+2]){//如果当前动作在增长,而前一个动作在下降 Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0); } if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){//如果当前的运动是向下的,而前一个运动是向上的 Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0); } } return(0); } //--------------------------------------------------------------------- Any rookie question, so [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Array problem Alekseu Fedotov 2014.01.27 17:03 #4464 Vitek2010: 请将你的变体粘贴到我的指标代码中,并进行编译。并将更正后的指标以纯文本形式发布,而不是以文件形式发布。维宁同志给了我一个无法解释的密码,没有说一句话。 建设 509 //+------------------------------------------------------------------+ //| Vitek2010.mq4 | //| Copyright 2013, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2013, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 Lime //-------------------------------------------------------------------- double Buffer[]; //-------------------------------------------------------------------- int init() { SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, 2); SetIndexBuffer(0,Buffer); return(0); } // ------------------------------------------------------------------- int deinit() { return(0); } //-------------------------------------------------------------------- int start() { int StartBar = Bars - IndicatorCounted() - 1; for(int i = StartBar; i >= 0; i--) { if(TimeDayOfWeek(TimeCurrent())==5) //Пятница Buffer[i] = 0; else Buffer[i] = Buffer[i+1]; if(Close[i]>Close[i+1]&&Close[i+1]>=Close[i+2]){//если текущее и преддыдущее движение растут Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);} if(Close[i]<Close[i+1]&&Close[i+1]<Close[i+2]){//если текущее и преддыдущее движение падают Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);} if(Close[i]>Close[i+1]&&Close[i+1]<Close[i+2]){//если текущее лвижение растет а предыдущее падает Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0);} if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){//если текущее движение падает а предыдущее растет Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0);} } return(0); } //--------------------------------------------------------------------- Alekseu Fedotov 2014.01.27 17:14 #4465 这不是在历史上如何定义星期五,我不知道。 Viktar Dzemikhau 2014.01.27 18:00 #4466 TarasBY: 那么提及一个符合要求的库与它有什么关系? 因为。 TarasBY: Vitya,这里没有什么需要整理的--这个人希望一个沙盒(EA及其库)中的全局变量在另一个沙盒(编译库)中可见。:))) Денис Клоноз 2014.01.27 18:02 #4467 先生们,你们能不能帮我一个忙,看一下这段代码,看看我是否正确地输入了3个指标的进入条件。 因为我刚刚学习了很多我不懂的东西。 E_ma=iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1)。 Cloce =iClose(Symbol(),PERIOD_H1,1)。 e_ma=iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1); cloce =iClose(Symbol(),PERIOD_M15,1); bbUP=iCustom(Symbol(),PERIOD_M5,"Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,1,0) 。 bbDOWN=iCustom(Symbol(),PERIOD_M5, "Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,2,0)。 如果(OrdersTotal()==0 && CountBuy()==0 && CountSell()) { 如果(Cloce >E_ma && cloce >e_ma) { 如果(Ask<=bbDOWN) ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0," ,Magic,0,Green); 如果(ticket>0) { TP = NormalizeDouble(Ask + TakeProfit * Point, Digits)。 SL = NormalizeDouble(Ask-StopLoss * Point, Digits); OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。 } } 否则 如果(Cloce <E_ma && cloce <e_ma) { 如果(Bid>=bbUP) ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,",Magic,0,Red); 如果(ticket>0) { TP = NormalizeDouble(Bid - TakeProfit * Point, Digits)。 SL = NormalizeDouble(Bid+StopLoss* Point, Digits)。 OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。 } } } return(0); 如果有什么不对,请纠正我,编译时没有错误,但在测试器中订单打不开。 因为条件中的一个错误。 如何正确写,我还不明白。 Any rookie question, so 错误、漏洞、问题 初学者的问题 MQL4 MT4 MetaTrader Vitek2010v 2014.01.27 19:03 #4468 r772ra: 这都是错的,如何在故事上定义星期五,我不知道。 你去掉了每周周期的归零,如果(TimeDayOfWeek(Time[i])<TimeDayOfWeek(Time[i+1])),然后用if(TimeDayOfWeek(TimeCurrent())==5) /Friday代替,也许如果这些函数以某种方式一起工作的话,可能会奏效。我可能已经尝试了一百种不同的方法。我认为在较低的时间框架上用每周的时间框架显示多空读数是很容易的。我仍然找不到解决办法。 Alekseu Fedotov 2014.01.27 19:25 #4469 Vitek2010: 是的,你去掉了每周周期的归零,如果(TimeDayOfWeek(Time[i])<TimeDayOfWeek(Time[i+1])),然后用if(TimeDayOfWeek(TimeCurrent())==5) 代替//也许如果这些函数以某种方式在一起,它们就能工作。我可能已经尝试了数百种变体。我认为在较低的时间框架上用周时间框架显示多期读数很容易。我仍然找不到解决办法。 这里有一个想法,打开一个新的周报栏--将缓冲区重置为零,然后积累你的积分。 forexman77 2014.01.27 20:08 #4470 alsu: 使Ticket成为一个数组Ticket[5],将所有5张票存储在其中。关闭时,对所有票据进行相应的循环。 大约如何实施呢?如果在其他函数中,我似乎已经理解了,但对于订单和数组,我还不太理解。 1...440441442443444445446447448449450451452453454...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你从哪里读到关于TimeDayOfWeek()的信息(在例子中)?:)))
在右边;)
我错了,我也可以用Time[]的形式设置,但在例子中,它是不同的,更方便))))。
不,它没有。我会解释--你的论坛就像一个希望,最后一个有能力的据点的程序。和插入尺寸--这就是写作 PERIOD_W1的看法,但无论是使用尺寸还是使用日期形式的固定基准,都没有得到任何理想的效果。我发了一个关于星期五的具体问题--顺便说一下,你的代码不能编译,因为它说的是'版本'--未知属性,所以如果你不知道如何把 DayOfWeek和5(星期五的数字)放入代码中,其他选项是没有用的 。
请将你的变体粘贴到我的指标代码中,并进行编译。并将修正后的指标以清晰的文本而不是文件形式发布。维宁同志给了我无法解释的密码,没有回答。
#属性 indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Lime
//--------------------------------------------------------------------
double Buffer[]。
//--------------------------------------------------------------------
int init()
{
SetIndexStyle(0,DRAW_HISTOGRAM, EMPTY, 2);
SetIndexBuffer(0,Buffer;)
return(0);
}
// -------------------------------------------------------------------
int deinit()
{
return(0);
}
//--------------------------------------------------------------------
int start()
{
int StartBar = Bars - IndicatorCounted() - 1;
for(int i = StartBar; i >= 0; i--)
{
如果(TimeDayOfWeek(TimeCurrent())==5) //星期五
如果(TimeDayOfWeek(Time[i]) < TimeDayOfWeek(Time[i+1])
Buffer[i] = 0。
否则
Buffer[i] = Buffer[i+1];
if(Close[i]>Close[i+1]&&Close[i+1]>=Close[i+2]){/如果当前和之前的运动都在增加
Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0); }
if(Close[i]<Close[i+1]&&Close[i+1]<Close[i+2]){//如果当前和之前的动作都在下降
Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0); }
if(Close[i]>Close[i+1]&&Close[i+1]<Close[i+2]){//如果当前动作在增长,而前一个动作在下降
Buffer[i] += NormalizeDouble((Close[i+1] - Close[i])/Point,0); }
if(Close[i]<Close[i+1]&&Close[i+1]>=Close[i+2]){//如果当前的运动是向下的,而前一个运动是向上的
Buffer[i] += NormalizeDouble((Close[i] - Close[i+1])/Point,0); }
}
return(0);
}
//---------------------------------------------------------------------
请将你的变体粘贴到我的指标代码中,并进行编译。并将更正后的指标以纯文本形式发布,而不是以文件形式发布。维宁同志给了我一个无法解释的密码,没有说一句话。
建设 509
那么提及一个符合要求的库与它有什么关系?
因为。
Vitya,这里没有什么需要整理的--这个人希望一个沙盒(EA及其库)中的全局变量在另一个沙盒(编译库)中可见。:)))
先生们,你们能不能帮我一个忙,看一下这段代码,看看我是否正确地输入了3个指标的进入条件。
因为我刚刚学习了很多我不懂的东西。
E_ma=iMA(Symbol(),TimeFrame,period_ema,0,MODE_EMA,PRICE_CLOSE,1)。
Cloce =iClose(Symbol(),PERIOD_H1,1)。
e_ma=iMA(Symbol(),timeframe,period_ema,0,MODE_EMA,PRICE_CLOSE,1);
cloce =iClose(Symbol(),PERIOD_M15,1);
bbUP=iCustom(Symbol(),PERIOD_M5,"Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,1,0) 。
bbDOWN=iCustom(Symbol(),PERIOD_M5, "Bollinger Bands",BandsPeriod,BandsShift,BandsDeviations,2,0)。
如果(OrdersTotal()==0 && CountBuy()==0 && CountSell())
{
如果(Cloce >E_ma && cloce >e_ma)
{
如果(Ask<=bbDOWN)
ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0," ,Magic,0,Green);
如果(ticket>0)
{
TP = NormalizeDouble(Ask + TakeProfit * Point, Digits)。
SL = NormalizeDouble(Ask-StopLoss * Point, Digits);
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。
}
}
否则
如果(Cloce <E_ma && cloce <e_ma)
{
如果(Bid>=bbUP)
ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,",Magic,0,Red);
如果(ticket>0)
{
TP = NormalizeDouble(Bid - TakeProfit * Point, Digits)。
SL = NormalizeDouble(Bid+StopLoss* Point, Digits)。
OrderModify(ticket, OrderOpenPrice(), SL, TP, 0)。
}
}
}
return(0);
如果有什么不对,请纠正我,编译时没有错误,但在测试器中订单打不开。 因为条件中的一个错误。 如何正确写,我还不明白。
这都是错的,如何在故事上定义星期五,我不知道。
你去掉了每周周期的归零,如果(TimeDayOfWeek(Time[i])<TimeDayOfWeek(Time[i+1])),然后用if(TimeDayOfWeek(TimeCurrent())==5) /Friday代替,也许如果这些函数以某种方式一起工作的话,可能会奏效。我可能已经尝试了一百种不同的方法。我认为在较低的时间框架上用每周的时间框架显示多空读数是很容易的。我仍然找不到解决办法。
是的,你去掉了每周周期的归零,如果(TimeDayOfWeek(Time[i])<TimeDayOfWeek(Time[i+1])),然后用if(TimeDayOfWeek(TimeCurrent())==5) 代替//也许如果这些函数以某种方式在一起,它们就能工作。我可能已经尝试了数百种变体。我认为在较低的时间框架上用周时间框架显示多期读数很容易。我仍然找不到解决办法。
这里有一个想法,打开一个新的周报栏--将缓冲区重置为零,然后积累你的积分。
使Ticket成为一个数组Ticket[5],将所有5张票存储在其中。关闭时,对所有票据进行相应的循环。