问吧! - 页 71

 

问与答

大家好。

我以为我有了以下代码的答案。

double range[5];

for(int i=1;i<5;i++)

{

range={High-Low};

int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);

double MaxRange=(High[Max]-Low[Max])/Point;

}

Print("Max Range: ",MaxRange," found at index: ",Max);

但它仍然只是返回最后的索引而不是最大的范围索引。

如果有任何进一步的帮助,我将非常感激。

SaxMan

 

错误修正

SaxMan:
大家好。

我以为我有了以下代码的答案。

double range[5];

for(int i=1;i<5;i++)

{

range={High-Low};

int Max=ArrayBsearch(range,10,WHOLE_ARRAY,1,MODE_ASCEND);

double MaxRange=(High[Max]-Low[Max])/Point;

}

Print("Max Range: ",MaxRange," found at index: ",Max);

[/code]

But it still just returns the last index not the largest range index.

Any further help would be appreciated.

SaxMan

下面是修复方法。

[代码]

double range[5];

for(int i=1;i<5;i++)

{

range={高-低}。

int Max=ArrayMaximum(range)。

double MaxRange=(High[Max]-Low[Max])/Point。

}

Print("Max Range: " ,MaxRange," found at index: " ,Max);

这可以用来获得数组的最高/最低(使用ArrayMinimum(range)),以比较任何变量。

希望这有帮助。

SaxMan

 

相同的代码,但有补充内容

增加了。

* 最小范围

*垂直线 来突出最大和最小范围条。

double range[2000];

for(int i=1;i<2000;i++)

{

range={High-Low};

int Max=ArrayMaximum(range,WHOLE_ARRAY,1);

int Min=ArrayMinimum(range,WHOLE_ARRAY,1);

double MaxRange=(High[Max]-Low[Max])/Point;

double MinRange=(High[Min]-Low[Min])/Point;

}

Print("Max Range: ",MaxRange," pips found at index: ",Max);

Print("Min Range: ",MinRange," pips found at index: ",Min);

int time1=Time[Max];

int time2=Time[Min];

ObjectCreate("stats1",OBJ_VLINE,0,0,0);

ObjectSet("stats1", OBJPROP_TIME1, time1);

ObjectSet("stats1", OBJPROP_COLOR, Red);

ObjectSet("stats1", OBJPROP_WIDTH, 1);

ObjectCreate("stats2",OBJ_VLINE,0,0,0);

ObjectSet("stats2", OBJPROP_TIME1, time2);

ObjectSet("stats2", OBJPROP_COLOR, Blue);

ObjectSet("stats2", OBJPROP_WIDTH, 1);
 

代码符合要求,但不显示值

extern Bool Direction_Up=true。

if(Direction_Up=true) Dir="UP"; ///////////这是错误的转换--我如何将其转换为正确的语法????

ObjectCreate("Dir",OBJ_LABEL, 0, 0, 0)。

ObjectSetText("Dir", 10, "Arial", White);///////////这是错误的--我怎样才能让它在屏幕上显示UP????

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///

戴夫 <<<
 

你好。

int start()

{

int i;

if ((Year() >= X) && (Month() >= Y))

{

Comment("===========",expired,"===========");

return(0);

}

GetPosition = StrToTime(StrGetPosition);

StartOrderTime = StrToTime(StrStartOrderTime);

EndOrderTime = StrToTime(StrEndOrderTime);

return(0);

我的问题是:

GetPosition, StartOrderTime, EndOrderTime是否会被执行?

欢呼声

 

问题

你好。

我的一个朋友告诉我这个网站。她告诉我他们有最好的mql程序员。

这里有一个问题。

如果我设置一个代码,例如....,在15:30(大部分的新闻时间)买入,我检查了经济日历

if (Hour()==15)

{

if (Minute()>=30)

{

if (Seconds()>=00)

[/PHP]

After this, something like this goes:

[PHP]

OrderSend(Symbol().......................

每个人写的都不一样,嘿嘿。

为什么不能一样呢?

好吧,事情是这样的。对于上述代码,我希望OrderSend........,以及继续部分在15:30:00的价格上方创建一个BuyStop 30点,并在15:30:00的价格下方创建一个SellStop 25点。

我问了我最好的朋友,她说要问你们。所以,我真的希望你们能帮上大忙。

我花了几周时间试图弄清这个代码。我不是在开玩笑。所以,有谁会在mql4 中做编码的人帮助我吗?

---Julia---

 
iscuba11:
extern Bool Direction_Up=true;

if(Direction_Up==true) Dir="UP"; ///////////这是错误的转换--我如何将其转换为正确的语法????

ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0)。

ObjectSetText("Dir", 10, "Arial", White);///////////这是错误的--我怎样才能让它在屏幕上显示UP????

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);///

戴夫 <<<

嗨,Iscuba11。

请看代码中的修复和解释

extern bool Direction_Up=true; //-- bool with a lower case "b"

string Dir; //-- Dir has to be declared as a string

if(Direction_Up==true) Dir="UP";

ObjectCreate("Dir", OBJ_LABEL, 0, 0, 0);

ObjectSetText("Dir",Dir, 10, "Arial", White); // -- you left out the text to print - you named the object only.

ObjectSet("Dir", OBJPROP_CORNER, 1);

ObjectSet("Dir", OBJPROP_XDISTANCE, 36);

ObjectSet("Dir", OBJPROP_YDISTANCE, 120);

希望这有帮助。

萨克斯曼

 

周吗!?

MQL4:使用MetaTrader的自动外汇交易、策略测试器和自定义指标

搜索 OrderSend() - 文档

报价

OrderSend - MQL4 文档

int OrderSend( string symbol, int cmd, double volume, double price, int slippage, double stoploss, double takeprofit, string comment=NULL, int magic=0, datetime expiration=0, color arrow_color=CLR_NONE)

symbol - 交易的符号。

cmd - 操作类型。它可以是贸易操作枚举中的任何一个。

volume - 手数。

price - 交易的首选价格。

slippage - 买入或卖出订单的最大价格滑点。

stoploss - 止损水平。

takeprofit - 获利水平。

comment - 订单注释文本。评论的最后部分可由服务器改变。

magic - 订单的魔法号码。可作为用户定义的标识符。

expiration - 订单到期时间(仅适用于挂单)。

arrow_color - 图表上开盘箭头的颜色。如果参数缺失或有CLR_NONE值,开仓箭头不会在图表上画出来。

因此,在我们的案例中,我们有这个。

OrderSend(Symbol(),OP_BUYSTOP,0.1,Ask+30*Point,3,0,0,NULL,1,0); OrderSend(Symbol(),OP_SELLSTOP,0.1,Bid-25*Point,3,0,0,NULL,1,0);

这就是它!

没有止损,没有止盈。

请注意:你的经纪人(很可能)不会在15:30接受新的订单,甚至不要梦想。是的,这在模拟账户上是可行的,但在真实账户上不行--在新闻发布前5分钟和新闻发布后不少于3分钟的任何时间都不行。

使用搜索引擎

谷歌

雅虎!

和其他。

PS:

如果你想让我为你写一个EA,请联系我。

 

你的代码更正使我的一天和周末都有了意义。 非常感谢!

愿你有一个受祝福的周末!

真诚的。

戴夫

<<<
 

如何在指标分离窗口与图表窗口上使用ObjectCreate????? 这将是很方便的!

戴夫 <<<