帮助寻找不平衡的左括号 - 页 2

 

好吧,好吧,我将告诉你如何把这个东西放在一起...

#1,让我们把你的代码的 "基础 "组装起来...然后,我们将边走边加东西......

int init()
{

return(0);
}//end of init function

int deinit()
{

return(0);
}//end of deinit function


int start()
{
double MAFast1 = iMA(NULL, MA1Cross_Timeframe, FastMA1_p, 0, modeMA2, PRICE_CLOSE, 0);
double MAFast2 = iMA(NULL, MA1Cross_Timeframe, FastMA1_p, 0, modeMA2, PRICE_CLOSE, 1);
double MASlow1 = iMA(NULL, MA1Cross_Timeframe, SlowMA1_p, 0, modeMA1, PRICE_CLOSE, 0);
double MASlow2 = iMA(NULL, MA1Cross_Timeframe, SlowMA1_p, 0, modeMA1, PRICE_CLOSE, 1);
    
double MAFast3 = iMA(NULL, MA1Cross_Timeframe, FastMA2_p, 0, modeMA2, PRICE_CLOSE, 0);
double MAFast4 = iMA(NULL, MA1Cross_Timeframe, FastMA2_p, 0, modeMA2, PRICE_CLOSE, 1);
double MASlow3 = iMA(NULL, MA1Cross_Timeframe, SlowMA2_p, 0, modeMA1, PRICE_CLOSE, 0);
double MASlow4 = iMA(NULL, MA1Cross_Timeframe, SlowMA2_p, 0, modeMA1, PRICE_CLOSE, 1);
    
     
double cci1 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 0);
double cci2 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 1);
double cci3 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 2);
   
double bands_upper1 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_UPPER, 1);
double bands_upper2 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_UPPER, 2);
double bands_lower1 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_LOWER, 1);
double bands_lower2 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_LOWER, 2);



return(0);
}//END OF START FUNCTION

现在,我们已经有了你的移动平均线 和波段了...

现在,向我解释一下(用简单的英语)你想在什么时候和为什么进行交易,我将为你编码。

例如,告诉我这样的事情。

我想做多,如果MA什么的大于这样那样,等等...。

零/。

 

//好的,谢谢...试着用简单的英语写一下...

我想做多,如果(MAFast1大于MASlow1,MAFast3大于MASlow3,CCI3小于100,CCI2等于或大于100,CCI1大于100)。

或者如果( MAFast1大于MASlow1,MaFast4小于MASlow4,且MAFast3大于MASlow3,CCI大于100 )

或者,如果(MAFast2低于MASlow2,而现在MAFast1大于MASlow1,且MAFast3大于MASlow3,CCI大于100)。

我想退出我的多头头寸,如果(收盘价[2]大于band_upper2,并且收盘价[0]小于band_upper1。)

//这些对你来说有意义吗 ...谢谢 ......这是我第一次这样写,事实上,这对安排你的大脑很有好处...... 埃里克曼。

 
int init()
{

return(0);
}//end of init function

int deinit()
{

return(0);
}//end of deinit function


int start()
{
double MAFast1 = iMA(NULL, MA1Cross_Timeframe, FastMA1_p, 0, modeMA2, PRICE_CLOSE, 0);
double MAFast2 = iMA(NULL, MA1Cross_Timeframe, FastMA1_p, 0, modeMA2, PRICE_CLOSE, 1);
double MASlow1 = iMA(NULL, MA1Cross_Timeframe, SlowMA1_p, 0, modeMA1, PRICE_CLOSE, 0);
double MASlow2 = iMA(NULL, MA1Cross_Timeframe, SlowMA1_p, 0, modeMA1, PRICE_CLOSE, 1);
    
double MAFast3 = iMA(NULL, MA1Cross_Timeframe, FastMA2_p, 0, modeMA2, PRICE_CLOSE, 0);
double MAFast4 = iMA(NULL, MA1Cross_Timeframe, FastMA2_p, 0, modeMA2, PRICE_CLOSE, 1);
double MASlow3 = iMA(NULL, MA1Cross_Timeframe, SlowMA2_p, 0, modeMA1, PRICE_CLOSE, 0);
double MASlow4 = iMA(NULL, MA1Cross_Timeframe, SlowMA2_p, 0, modeMA1, PRICE_CLOSE, 1);
    
     
double cci1 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 0);
double cci2 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 1);
double cci3 = iCCI(NULL, CCI_Timeframe, CCI_p, PRICE_CLOSE, 2);
   
double bands_upper1 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_UPPER, 1);
double bands_upper2 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_UPPER, 2);
double bands_lower1 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_LOWER, 1);
double bands_lower2 = iBands(NULL, Band_Timeframe, Band_p,1, 0, PRICE_CLOSE, MODE_LOWER, 2);

int flag=0;

if(MAFast1>MASlow1 && MAFast3>MASlow3 && CCI3<100 && CCI2>=100 && CCI1>100) flag=1;

if(MAFast1>MASlow1 && MAFast4<MASlow4 && MAFast3>MASlow3 && CCI>100) flag=1;

if(MAFast2<MASlow2 && MAFast1>MASlow1 && MAFast3>MASlow3 && CCI>100) flag=1;

if(flag==1) go_long();

return(0);
}//END OF START FUNCTION

 

我仍然需要检查 是否有错别字和语法错误,但请看一看,看看是否像你所说的那样......

不要害怕承认你的困惑,如果你不承认,我就无法帮助你。

不要害怕承认你迷失了,否则你将继续迷失。

让我知道这看起来如何。

零/。

我已经看到了一个问题...

我看到你(当你写出上面的纯英文内容时)在哪里使用CCI变量,但我们没有定义任何CCI变量。

if(MAFast2<MASlow2 && MAFast1>MASlow1 && MAFast3>MASlow3 && CCI>100) flag=1;

请让我知道。

另外,我们将在以后处理平仓交易的问题。

另外,如果我失去了这个话题的线索,你想对我大喊大叫,无论如何,请发邮件到:mql4@hush.com。

让我知道。

 
smoknfx:

我仍然需要检查是否有错别字和语法错误,但请看一看,看看是否像你所说的那样......

不要害怕承认你的困惑,如果你不承认,我就无法帮助你。

不要害怕承认你迷失了,否则你将继续迷失。

让我知道这看起来如何。

零/。

我已经看到了一个问题...

我看到你(当你写出上面的纯英文内容时)在哪里使用CCI变量,但我们没有定义任何CCI变量。

请让我知道。

另外,我们将在以后处理平仓交易的问题。

另外,如果我失去了这个话题的线索,你想对我大喊大叫,无论如何,请发邮件到:mql4@hush.com。

让我知道。


非常感谢。我试着从你所写的内容中学习,并理解。 这是CCI1,我忘了把1放进去。谢谢你,我将检查一下mql4@hush.com,我不认为你的帮助是理所当然的! 努力向你学习。谢谢。
 
By the way what is flag.... it is the first time i see this.
 
维基中 复杂的定义或简单的变体,标志着执行的路径,以便在程序的后期使用。
 
ericman:

什么是flag?

flag是一个变量。

就这么简单。

我可以叫它:

int ready2golong=0。

明白我的意思了吗?


首先,我把它设置为零。

然后我做几个比较,可能会把它设为1。

然后,如果它是1,就用go_long()。

 
ericman:

非常感谢。我试着从你写的东西中学习,并加以改进。 这是CCI1,我忘了放1。谢谢你,我会检查一下mql4@hush.com,我不认为你的帮助是理所当然的! 努力向你学习。谢谢。

我喜欢做这种事。

这就是我的乐趣所在。

帮我一个忙?

试着把这些代码加载并编译。

调整任何由于打字错误而需要修正的CCI变量。

让我知道进展如何。

零/。

 
Ickyrus:
维基中 的复杂定义或只是标记执行路径的变体,以便在程序的后期使用。

错了。

让我向你解释一下。

你知道我是如何为这个人把事情简化的吗?

你怎么会认为我们需要给他一个复杂的东西?

这就对了。

问候。

零。