我有一个具体的问题,当我在我的EA中设置随机指数时,当这些线被交叉时,它当然会工作,但问题是,我不知道如何让它只在超卖(20)时买入,在超买(80)时卖出。弗拉基米尔请帮助我 - 我需要在哪里以及如何为这个函数设置数据...我将对你表示感谢!!。
financion.comission:
我的问题是--看,当我在EA中设置随机指数并设定其参数时,它当然会在线条交叉时触发,但问题是,我不知道如何让它只在超卖区(20)买入,在超买区(80)卖出。弗拉基米尔请帮助我 - 我需要在哪里以及如何为这个函数设置数据...我将对你表示感谢!!。
我的问题是--看,当我在EA中设置随机指数并设定其参数时,它当然会在线条交叉时触发,但问题是,我不知道如何让它只在超卖区(20)买入,在超买区(80)卖出。弗拉基米尔请帮助我 - 我需要在哪里以及如何为这个函数设置数据...我将对你表示感谢!!。
示例代码。RSI内部交易简单。

RSI intrazone trading Simple
- www.mql5.com
Торговля только внутри зон индикатора iRSI (Relative Strength Index, RSI)
如果当前/前一栏的rsi值大于80,则卖出。同样地购买
financion.comission:
告诉我这些参数是否可以在EA中设置""生成""或者我应该把它们写成EA""模式""中的代码。
提前感谢你......!
这是一个现成的专家顾问。不存在 "生成 "或 "模板"。
负责生成交易信号的模块是SearchTradingSignals 函数。
在这里,我们从最后三个条形图中获得指标数据,并比较指标处于什么区域。
//+------------------------------------------------------------------+ //| Search trading signals | //+------------------------------------------------------------------+ bool SearchTradingSignals(void) { if(m_prev_bars==m_last_deal_in) // on one bar - only one deal return(true); double rsi[]; ArraySetAsSeries(rsi,true); int start_pos=0,count=3; if(!iGetArray(handle_iRSI,0,start_pos,count,rsi)) return(false); int size_need_position=ArraySize(SPosition); //--- BUY Signal if(rsi[m_bar_current]>Inp_RSI_Level_Up) { if(!InpReverse) { ArrayResize(SPosition,size_need_position+1); SPosition[size_need_position].pos_type=POSITION_TYPE_BUY; if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", OK: ","Signal BUY"); return(true); } else { ArrayResize(SPosition,size_need_position+1); SPosition[size_need_position].pos_type=POSITION_TYPE_SELL; if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", OK: ","Signal SELL"); return(true); } } //--- SELL Signal if(rsi[m_bar_current]<Inp_RSI_Level_Down) { if(!InpReverse) { ArrayResize(SPosition,size_need_position+1); SPosition[size_need_position].pos_type=POSITION_TYPE_SELL; if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", OK: ","Signal SELL"); return(true); } else { ArrayResize(SPosition,size_need_position+1); SPosition[size_need_position].pos_type=POSITION_TYPE_BUY; if(InpPrintLog) Print(__FILE__," ",__FUNCTION__,", OK: ","Signal BUY"); return(true); } } //--- return(true); }
financion.comission:
我有一个具体的问题--看,当我在我的EA中设置随机指数并设定其参数时,它当然会在线条交叉时触发,但问题是,我不知道如何让它只在超卖区(20)买入,在超买区(80)卖出......弗拉基米尔请帮助我 - 我需要在哪里以及如何为这个函数设置数据...我将对你表示感谢!!。
我有一个具体的问题--看,当我在我的EA中设置随机指数并设定其参数时,它当然会在线条交叉时触发,但问题是,我不知道如何让它只在超卖区(20)买入,在超买区(80)卖出......弗拉基米尔请帮助我 - 我需要在哪里以及如何为这个函数设置数据...我将对你表示感谢!!。
这里有一个来自终端的专家顾问--你可以用它来实验。
你可以在这里改变指标
//+------------------------------------------------------------------+ //| Initialization of the indicators | //+------------------------------------------------------------------+ bool CSampleExpert::InitIndicators(void) { //--- create MACD indicator if(m_handle_macd==INVALID_HANDLE) if((m_handle_macd=iStochastic(NULL,0,5,3,3,MODE_SMA,STO_LOWHIGH))==INVALID_HANDLE) { printf("Error creating MACD indicator"); return(false); } //--- succeed return(true); } //+------------------------------------------------------------------+
在这里,你可以用随机的
//--- check for long position (BUY) possibility if(m_macd_current<20) if(m_macd_current>m_signal_current && m_macd_previous<m_signal_previous) if(MathAbs(m_macd_current)>(m_macd_open_level)) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ //--- check for short position (SELL) possibility if(m_macd_current>80) if(m_macd_current<m_signal_current && m_macd_previous>m_signal_previous) if(m_macd_current>(m_macd_open_level))
在这里,你可以在测试器中试用它
附加的文件:
0001.mq5
23 kb
先生们,谢谢你们的回答,我真的很感激......。但不幸的是,没有任何工作...我也会把我的代码发给你--你告诉我需要纠正什么以获得正确的范围......。
***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
- 2021.04.21
- www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
SanAlex:
这里有一个来自终端的专家顾问--你可以用它来实验。
你可以在这里改变指标
在这里,你可以用随机的
在这里,你可以在测试器中试用它
先生们,谢谢你们的回答,我真的很感激......。但不幸的是,没有任何工作...我也会把我的代码发给你--告诉我你需要调整什么以获得正确的范围。
***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
- 2021.04.21
- www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
谢谢你的反馈......我按你说的做了,从你的代码中得到了54个错误和8个警告......真糟糕我们该怎么做??
我将把我的代码发给你...也许你可以调整范围...
***

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
- 2021.04.21
- www.mql5.com
MQL5: язык торговых стратегий для MetaTrader 5, позволяет писать собственные торговые роботы, технические индикаторы, скрипты и библиотеки функций
我们只需要调整范围!!!"。