发表于:2014-04-16 08:23只看该作者
2楼
程序呢?
3楼
已奉上
韬客社区www.talkfx.co
4楼
//+------------------------------------------------------------------+
//| Sidus v.2 Entry Indicator.mq4 |
//| |
//| Ideas by Sidus |
//+------------------------------------------------------------------+
#property copyright "颯諦笢弊"
#property link ""
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 DodgerBlue
#property indicator_color2 Yellow
#property indicator_color3 Magenta
#property indicator_color4 Lime
#include
//---- input parameters
extern int FastEMA=70;
extern int SlowEMA=105;
extern int RSIPeriod=14;
extern bool Alerts=false;
//---- buffers
double ExtMapBuffer1;
double ExtMapBuffer2;
double ExtMapBuffer3;
double ExtMapBuffer4;
//double rsi_sig;
//---- variables
int sigCurrent=0;
int sigPrevious=0;
double pipdiffCurrent=0;
double pipdiffPrevious=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexStyle(1,DRAW_LINE,1,3);
SetIndexBuffer(1,ExtMapBuffer2);
SetIndexStyle(2,DRAW_ARROW,1,3);
SetIndexArrow(2,233);
SetIndexBuffer(2,ExtMapBuffer3);
SetIndexEmptyValue(2,0.0);
SetIndexStyle(3,DRAW_ARROW,1,3);
SetIndexArrow(3,234);
SetIndexBuffer(3,ExtMapBuffer4);
SetIndexEmptyValue(3,0.0);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int limit;
int counted_bars=IndicatorCounted();
double rsi_sig=0;
bool entry=true;
double entry_point=0;
//---- check for possible errors
if(counted_bars<0) return(-1);
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- main loop
for(int i=0; i0 && rsi_sig>40)
{
sigCurrent = 1; //Up
}
else if (pipdiffCurrent<0 && rsi_sig<60)
{
sigCurrent = 2; //Down
}
/*
if (pipdiffCurrent>0)
{
sigCurrent = 1; //Up
}
else if (pipdiffCurrent<0)
{
sigCurrent = 2; //Down
}
*/
if (sigCurrent==1 && sigPrevious==2)
{
ExtMapBuffer4[i-1] = High[i-1]-5*Point;
//ExtMapBuffer3 = Ask;
entry=true;
entry_point=Ask;
}
else if (sigCurrent==2 && sigPrevious==1)
{
ExtMapBuffer3[i-1] = Low[i-1]-5*Point;
//ExtMapBuffer4 = Bid;
entry=true;
entry_point=Bid;
}
sigPrevious=sigCurrent;
pipdiffPrevious=pipdiffCurrent;
}
//----
if(Alerts && entry)
{
PlaySound("alert.wav");
if (sigPrevious==1)
{
MessageBox("Entry point: buy at "+entry_point+"!!", "Entry Point", MB_OK);
}
else if (sigPrevious==2)
{
MessageBox("Entry point: sell at "+entry_point+"!!", "Entry Point", MB_OK);
}
entry=false;
}
RefreshRates();
//----
return(0);
}
//+------------------------------------------------------------------+
发表于:2014-04-16 09:36只看该作者
5楼
韬客社区www.talkfx.co
发表于:2014-04-16 10:00只看该作者
6楼
首先 ExtMapBuffer1 和 ExtMapBuffer2 錯了,array 應該有[ ],
沒有注意new bar 所以,如果最後的一根也曾經成立,那麼就再出現一個訊號。
只要修改一下就可以了。
加油
韬客社区www.talkfx.co
7楼
香檳金 发表于 2014-4-16 16:36
已奉上
发表于:2014-04-16 12:23只看该作者
8楼
韬客社区www.talkfx.co
发表于:2014-04-16 13:56只看该作者
9楼
11楼
韬客社区www.talkfx.co
发表于:2014-04-16 14:22只看该作者
12楼
有可能涨,有可能跌
13楼
韬客社区www.talkfx.co
发表于:2014-04-16 14:52只看该作者
15楼
选上帖子右边选项的 禁用链接识别 表情 编辑器代码 如果不禁用的话
或者用 把代码扩起来
用代码的话 就会是这样样的
//---- BAR line counted in the 3,4 buffer
for(i=0; iind_buffer2) {ind_buffer3=3*(ind_buffer1-ind_buffer2); ind_buffer4=0;}
else {ind_buffer4=3*(ind_buffer1-ind_buffer2);ind_buffer3=0;}
遇到矛盾 先站在对方的立场上想想问题,先试着去理解别人
● 如何使用WinMTR查询平台连接流畅度
16楼
韬客社区www.talkfx.co
发表于:2014-04-18 00:16只看该作者
17楼
18楼
韬客社区www.talkfx.co
19楼
香檳金 发表于 2014-4-24 16:37
就75穿越105SMA 且RSI >40 顯示往上箭頭
发表于:2014-04-24 15:15只看该作者
20楼
赤裸裸的源代码被我毫不客气的看个够
韬客社区www.talkfx.co