如何编码? - 页 193

 

需要帮助的警报

你好。

首先:对不起,我的英语很差。

所以,我的问题是:如果Tenkan和Senkou相互巡航,我怎样才能制定一个警报信号? 长线和短线。

谁能帮帮我,拜托了!!。

非常感谢。

bye benjamin

附加的文件:
ichimoku.mq4  5 kb
 

小问题...

有谁能帮助我使功能 落到实处?

我有。 A=0

当指标到达某个点nr1时。A=1.

而当指标离开这个特定点时。A=1(A仍然保持其值)。

当指标到达某一点nr2时。A=0.

非常欢迎任何想法!

谢谢。

 
ohir:
有谁能帮助我制作函数,使之落到实处?

我有。 A=0

当指标到达某个点nr1时。A=1.

而当指标离开这个特定点时。A=1(A仍然保持其值)。

当指标到达某一点nr2时。A=0.

我们非常欢迎任何想法!

谢谢。

很难知道你到底想要什么,只有这么一点东西可以参考。

不如这样

A=0;

如果(Bid >= nr1 && Bid < nr2) A=1。

如果(Bid >= nr2)A=0。

用O,H,L,C或其他任何你想要的变量代替Bid。

但是你也必须考虑如果价格达到nr1然后下跌而不是去nr2会发生什么。

请记住我只是在猜测你想要什么。

希望这对你有帮助

 

我怎样才能访问我硬盘上不在/experts/files文件夹中的文件?

btw, is it possible to execute windows commands (e.g. copy) in mql4? maybe with a dll file?

谢谢你的帮助 :-)

 

回复 swgman1

谢谢,swgman1!

...但对我来说还是有问题。

我想说的是--

开始的时候

指标1的值为0

指标2的值是0

A=0

步骤1

指标1的值为1

指示器2的值为0

A=1

第二步

指标1的值为0

指示器2的值为0

A=1

第三步

指标1的值为0

指示器2的值为1

A=0

希望它更清楚

谢谢。

 

奇怪的循环...

我在我的测试程序中做了一些奇怪的循环。

int A=1

for(A=0, A=1; A==(买入条件); A++)

买入 if(A=1)

平仓 if(Bid>0)

它在争论消失后进行交易...。但是,它没有在开盘后立即关闭交易(像它应该做的那样--出价>0)。现在我的程序只在买入条件出现时关闭所有交易。

这个循环实际上是在做什么?

 
ohir:
我在我的测试程序中做了一些奇怪的循环。

int A=1

for(A=0, A=1; A==(买入条件); A++)

买入 如果(A=1)

平仓 if(Bid>0)

它在争论消失后进行交易...。但是,它没有在开盘后立即关闭交易(像它应该做的那样--出价>0)。现在我的Pogram只有在买入条件出现时才关闭所有交易。

这个循环实际上是在做什么?

嘿,ohir。

我从来没有真正研究过EA的编写,我只做过指标,所以我不是询问的最佳人选。

然而,在for循环中,你要说明起点(条数),然后是保持循环运行的条件,然后为下一个循环增加你的起点。

for (x=bars-1;x>0;x--) 这将在图表上从第一个到最后一个的所有条形中循环。

for (x=0;x<bars-1;x++) 循环到另一个方向。

x只是循环的计数器

你的循环从第0条或第1条开始(不确定那里的逗号如何工作),然后当你的计数器等于买入条件时(我认为不可能)继续循环,然后增加计数器。

试试以下方法

for (x=0;x<=bars-1;x++)

{

if (A[x]==1) OrderSend(blah,blah,blah)

如果(Bid[x]>0) OrderClose(blah,.....)

}

我不知道这是否有帮助,但这是我能做的最好的。也许有更多知识的人可以提供更多帮助。

好运

斯瓦格曼

 

请提供帮助

附加的文件:
trenddetect.mq4  14 kb
 

Metatrader和负数

有谁知道一个更好的方法来编码这个????无法让metatrader读取准确的数字,有些是正数,有些是负数。

如果(Use_Entry_Delay == true) {

//if (trendis == 0 || trendis == -0) {

//EntryAllowed= True;

//打印("允许进入")。

//}

if (trendis == 0.0010){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0.0011){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0012){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0013){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0014){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0015){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0016){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0017){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0018){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0019){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0020){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0021){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0022){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0023){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0024){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0025){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0026){ EntryAllowed= true; Print ("Entry Allowed"); }

如果 (trendis == -0.0010){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0011){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0012){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0013){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0014){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0015){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0016){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0017){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0018){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0019){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0020){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0021){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0022){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0023){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0024){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0025){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0026){ EntryAllowed= true; Print ("Entry Allowed"); }否则{EntryAllowed= true; Print ("Entry Allowed")

}else{

EntryAllowed= false;

打印("不允许进入")。

}

}

-----------------------------------------

所以基本上,如果它是-0.0010或更低,就不要做。

如果它高于0.0026或高于-0.0026就不做。

我试过很多方法,但都不能让它做到这一点。

请提供任何帮助,拜托了。

 
niteuser:
有人知道有什么更好的方法来编码吗?????不能让metatrader读取准确的数字,有些是正数,有些是负数。

如果(Use_Entry_Delay == true) {

//如果(trendis == 0 || trendis == -0) {

//EntryAllowed= True;

//打印("允许进入")。

//}

if (trendis == 0.0010){ EntryAllowed= true; Print ("Entry Allowed"); }

if (trendis == 0.0011){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0012){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0013){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0014){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0015){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0016){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0017){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0018){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0019){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0020){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0021){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0022){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0023){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0024){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0025){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == 0.0026){ EntryAllowed= true; Print ("Entry Allowed"); }

如果 (trendis == -0.0010){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0011){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0012){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0013){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0014){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0015){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0016){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0017){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0018){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0019){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0020){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0021){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0022){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0023){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0024){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0025){ EntryAllowed= true; Print ("Entry Allowed"); }

如果(trendis == -0.0026){ EntryAllowed= true; Print ("Entry Allowed"); }否则{EntryAllowed= true; Print ("Entry Allowed")

}else{

EntryAllowed= false;

打印("不允许进入")。

}

}

-----------------------------------------

所以基本上,如果它是-0.0010或更低,就不要做。

如果它高于0.0026或高于-0.0026就不做。

我试过很多方法,但都不能让它做到这一点。

请提供任何帮助,拜托了。
if ((trendis = 0.0026)) { EntryAllowed= true; Print ("Entry Allowed"); }
原因: