[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 993

 
Aleksander:

那么在屏幕的左侧显示--有什么区别?- 右边的一行将有价格 - 左边是信息的文本...

或横梁 - 但那时一切都在左边...


这是客户的要求 :)其他指标用在左边,这样就不会与其他指标重叠了。

好吧,我会解决这个问题的,谢谢大家的参与

 
你好,我有个问题:有没有办法在MT4中同时为几个货币对优化EA?或者也许有专门的程序?或者至少可以加快优化速度(充分加载CPU)?
 
gawrik:
你好。我有一个问题:有什么方法可以在MT4中同时对几个货币对进行优化顾问?

你可以同时运行几个MT4,在不同货币对上优化一个EA。

如果是禁止的,那就告诉他我允许这样做

 
Aleksander:

尝试启动分配delta

delta = 1; if (digits = 5) {delta = 10;}

并在文本中加入

如果(Bid <=Low&&Ask <High -10*Point*delta)

这可能不大正确,但意思很清楚

delta = Point; if(digits= 5) {delta = 10*Point;}.

如果(Bid <=Low&& Ask < High -10*delta)虽然没有区别,但是...我怎么办?

 

而下面关于动态点差的问题使得有必要计算N个点的平均点差。

我画了下面的图,但我不确定它是否正确。

int TicSpred=100。

double Spread[10000];

如果(Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}。

for (int q=TicSpred;q>0;q--){

如果(Spread[q]==0)Spread[q]=(Ask-Bid)/delta;}。

for (q=TicSpred;q>0;q--){Spread[p]=Spread[p-1];}。

点差[0]=(报价-出价)/delta。

double CountedSpred;

for (q=0;q<bars;q++){CountedSpred=CountedSpred+Spread[p];}。

double Aversired=CountedSpred/TicSpred;但我不确定这是否正确,它似乎不能正确计算五位数 的数字

 

不,这一点都不对。

我需要把每一个下一个摊位写进一个数组,然后除以数组中的摊位数,一旦记录数达到N,我就需要删除数组中的第一个摊位。

能否做一些更简单的事情?

 

这里也有一个错误

如果(出价>=高价)//关闭海湾

返回(11)。

如果(Bid <=Low && Ask <High - 1*delta )

return (21); // Close Sell

如果(trade == 1){

如果(出价<=低价)//开湾

Print( " Bay = ",11);

返回(10);}

如果(Time == 1){

如果(Bid<=Low&&Ask<High -1*delta )//Srll开盘。

Print (" Sell= ",21);

返回(20);}

return; // 如果时间不对,不要打开东西,直接退出。

以下变量High和Low是已知的(我用打印的方式检查过),价格显示如下情况

1.如果买入>高点,那么我们发送一个10指令(关闭买入)。

2.如果买入价<低点,并且上升价比上升价低1点,那么关闭它,返回11点

如果变量Time == 1,那么。

3.如果买入价低于或等于低价,并且卖出价比高价至少低一个点,则打开买入。

4.如果买入价高于或等于高价,那么我们就打开卖出?

我想提醒的是,这个程序完全来自于教程,我只改变了交易标准,分别是命令10、20都是标准的,我将附上所有被调用的函数,以防万一。

附加的文件:
close_all.mqh  3 kb
open_ord.mqh  3 kb
trade.mqh  3 kb
 

人!大家好,帮帮忙

我需要在allert指标函数中写一个时间间隔。比如,当一个信号出现时,会弹出一个窗口,我们可以在那里看到这个信号来自哪个图表。例如,M15。

我在网站上搜索了一下,但没有找到这样的东西。

 

人!大家好,帮帮忙

我需要在allert指标函数中写一个时间间隔。比如,当一个信号出现时,会弹出一个窗口,我们可以在那里看到这个信号来自哪个图表。例如,M15。

我在网站上搜索了一下,但没有找到这样的东西。

 

总之,这个函数

//--------------------------------------------------------------------

// Criterion.mqh

//打算作为MQL4教程中的一个例子。

//--------------------------------------------------------------- 1 --

// 用于计算交易标准的函数。

// 返回的值。

// 10 - 开盘买入

// 20--卖出开盘

// 11 - 收盘买入

// 21 - 卖出收盘

// 0 - 没有重要的标准

// -1 - 使用了另一种金融工具

//--------------------------------------------------------------- 2 --

// 外部变量。


//--------------------------------------------------------------- 3 --

int Criterion() // 用户函数

{

//----------------------------------------------------------------4----

string Sym="________"。

如果(Sym!=Symbol()) // 如果不是我们的鳍。

{

Inform(16); // 消息。

返回(-1);}// ...然后退出

delta = Point;

如果 (数字 == 5 || (数字 == 3 &&StringFind(Symbol(), "JPY", 0) != 1))

delta=点*10。

int Digital=MarketInfo(Symbol(),12);

//--------------------------------------------------------------- 5 --

// 技术指标的参数。

bool trade。

如果(Begin>End &&(Hour()>Begin-1 || Hour()<End)){交易=1;}。

如果(Begin<End && (Hour()>Begin-1 && Hour()<End)){trade=1;}。

{如果(trade==0 &&mag!=Mag)返回(0);}。

// --------------------------计算平均价差-----------------------

如果(!IsTesting() || IsVisualMode() || !IsOptimization())

{

int TicSpred=100。

double Spread[10000]。

如果(Spread[0]==0) {ArrayInitialize(Spread,(Ask-Bid)/delta);}。

for (int q=TicSpred;q>0;q--){

如果(Spread[q]==0)Spread[q]=(Ask-Bid)/delta;}。

for (q=TicSpred;q>0;q--){Spread[q]=Spread[q-1];}。

点差[0]=(报价-出价)/delta。

double CountedSpred;

for (q=0;q<TicSpred;q++){CountedSpred=CountedSpred+Spread[q]; }

double Averaged=CountedSpred/TicSpred。

}


//--------------------------------------------------------------- 5 --

// 交易标准的计算

如果(出价>=高价)//关闭海湾

返回(11)。

如果(Bid <=Low )

return (21); // Close Sell

如果(trade == 1){

if ( Bid <=Low &&Ask<High -0.5*MyPoint ) // Open Bay

Print ( " Bay = ",11);

返回(10);}

如果(trade == 1){

If (Bid>=High ) // Opening of Srll

打印 ( " 卖出 = ",21)。

返回(20);}

return; // 如果时间不好,不要打开任何东西,直接退出。


//--------------------------------------------------------------- 6 --

return(0); //从用户函数中退出。

}

//--------------------------------------------------------------- 7 --

假设Low和High变量已经被定义并且是正确的。

原因: