编码帮助 - 页 509

 
tfi_markets:
Hi Pro-Codeers,

我得到了警告。"检查运算符的优先级,可能出现错误;使用括号来澄清优先级"

if ((STC115)||(STC185)&&(Ask>emaFilter && ADXmain>25))

{

OpenBuy();

}

看起来 ...AND (Ask>emaFilter) 语句也被 MT4 忽略了。

谁能提供建议?

提前感谢您!

你可能应该这样写。

如果((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) )

但这主要取决于你想测试的具体内容。这个警告是因为以前&&(and)和||(or)的优先级是不同的--他们颠倒了,现在所有这些逻辑比较必须被检查

 
mladen:
你可能应该这样写。

如果((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) )

但这主要取决于你到底想测试什么。这个警告是因为以前&&(和)和||(或)的优先级是不同的--他们颠倒了,现在所有这些逻辑比较都必须被检查。

嗨,Mladen。

非常感谢您的建议。我将试一试!你总是很有帮助!

用简单的话说,在EA开仓交易之前,所有三个括号都应该变成真。

我想你的代码会提供这个功能

衷心的问候。

T.

 

编码员。

谁能帮我解决以下问题?

我正在使用一个艾略特波浪脚本来手动标注波浪。该脚本在图表上放置了8个不同的对象(i,ii,iii,iv,v,a,b,c)。

一切运行正常,但删除这些对象却很费劲。因为我必须点击每个对象(i,ii,iii,iv,v,a,b,c),才能删除它们。我想在代码中添加一些东西,使我能够突出所有的对象(i,ii,iii,iv,v,a,b,c),只需点击一下对象。我已经搜索过了,但我找不到我需要的功能

(我不是要找一个删除图表上所有对象的脚本。)

先谢谢你

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

//+------------------------------------------------------------------+

#property version "1.00"

#property strict

#include

//+------------------------------------------------------------------+

//| Script program start function |

//+------------------------------------------------------------------+

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

//+------------------------------------------------------------------+

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

//+------------------------------------------------------------------+

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

//+------------------------------------------------------------------+
 
xtractalpha:
编码者。

谁能帮我解决以下问题?

我正在使用艾略特波浪脚本来手动标注波浪。该脚本在图表上放置了8个不同的对象(i,ii,iii,iv,v,a,b,c)。

一切运行正常,但删除这些对象却很费劲。因为我必须点击每个对象(i,ii,iii,iv,v,a,b,c),才能删除它们。我想在代码中添加一些东西,使我能够突出所有的对象(i,ii,iii,iv,v,a,b,c),只需点击一下对象。我已经搜索过了,但我找不到我需要的功能。

(我不是要找一个删除图表上所有对象的脚本。)

先谢谢你

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

//+------------------------------------------------------------------+

#property version "1.00"

#property strict

#include

//+------------------------------------------------------------------+

//| Script program start function |

//+------------------------------------------------------------------+

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

//+------------------------------------------------------------------+

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

//+------------------------------------------------------------------+

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

//+------------------------------------------------------------------+

xtractalpha

在deinit()程序中加入清理部分

在你的例子中,它应该是ObjectDelete(objectName),针对你的代码所创建的每个对象。

 

你好,Mladen

您能否协助解决以下的编译错误?

附加的文件:
 
candyman752:
你好,Mladen 你能帮助解决下面的编译错误吗?

现在查看:genie_stoch_rsittt_1.mq4

附加的文件:
 

亲爱的Mladen

感谢这个伟大的indy

是否可以使用直方图版本?

 
SLAVOLJUB:
亲爱的Mladen

感谢这个伟大的indy

有可能是直方图版本吗?

有可能买到,那么这两条信号线 必须被完全忽略和切断。

 
mladen:
有可能买到,那么这两条信号线必须完全被忽略和切掉。

没有问题....,我只需要这个红绿线

(红绿线作为直方图)

预先感谢

 

你好,姆拉登。

我在EA中加入了尾随止损的代码。我遇到了两个编译错误。关于添加代码的说明是。

如何使用?

非常简单。将下面的代码放在您的专家顾问程序的任何部分,并在Start()函数中调用函数trail2(#ticket).ticket=是您的订单票,它可以是买单或卖单。但它必须是实时订单而不是挂单。

例如。

{...(yourcode)

ticket=ordersend(...)

...

}

..

trail2(ticket)

或trail2(ticket, 300, 40, 250, 100)

..

附加的文件:
wip.mq4  8 kb