如何编码? - 页 88

 
flourishing:
如何使注释(1/2)显示0.5? 谢谢你。

请试一下这个。

Comment(DoubleToStr(1/2, 1));

函数DoubleToStr()的第二个参数是小数点 的数字。

 
ak97052d:
你好

如何编写这个代码。

我需要从最后一笔关闭的交易中提取一些信息。

然后使用这个最后交易的一些信息

例子。

如果最后一笔交易的利润>0 'lasttradeprofit = 1'.

如果最后一笔交易<=0 'lasttradeprofit = 0

lasttradeprofit = 1 // 如果最后一笔交易>0

lasttradeprofit = 0 // 如果最后一笔交易<=0

谢谢

扫描历史记录并检查 OrderCloseTime()很容易。

datetime LastCloseTime;

bool LastTradeIsProfit;

for(int i = 0; i > OrderHistoryTotal(), i ++)

{

OrderSelect(i, SELECT_BY_POS, MODE_HISTORY);

if(OrderMagicNumber() != Magic) continue;

if(OrderCloseTime() > LastCloseTime)

{

LastCloseTime = OrderCloseTime();

LastTradeIsProfit = (OrderProfit() > 0);

}

}
 
ak97052d:
请尝试一下吧!

谢谢你的编辑专家

你能用我的想法改变这个EA吗?

根据我的想法,在打开两个订单后,我们解释一下这个信息

1- 所有的订单都有固定的止损,同样是10个点

2-如果第一笔订单要获利,则开出2*相同的订单,但TP=第一笔订单,TP-固定sl

3-将止损转为第二笔订单的开仓位置

举例来说。

欧元/美元

第一个价格是:1.5200

1-打开两个订单(买入@ 1.5200 0.1手大小sl=10 tp 50 & sell@1.5200 0.1手大小sl=10 tp=50)

价格上升到15210

2-在这个时候(我的卖出订单 将被关闭,并将打开第二个买入订单0.2手大小的sl=10 tp=40和拳头订单sl traling到1.5210)

价格上升到1.5220

3-在这个时候(打开买单0.4手大小的sl=10 tp=30和两个之前的订单sl traling到1.5220)

4-.....

5....

如果价格上升到1.5250,所有的订单将被关闭560美元。

但在这个时候,我们的订单sl只损失了60美元。

这种方法有很好的风险

 
ak97052d:
你好,试试这个!

对不起,这个专家必须使用这个公式来获得利润,因为这个公式对定单有不好的结果。

订单sl = ((MaxTrades*MinGS)+SL) - (n*MinGS)

这个信息的例子

外来的int MinGS=5;

extern int TP=20;

extern int SL=10;

extern double lot=0.10;

extern int MaxTrades=7;

Extern int RegularSpread=2;

外置双倍乘数=2。

外置双倍LotInc=0。

外置双倍MarginLevelAlert=1000。

我们有

一阶sl= ((7*5)+10)-(0*5)=40

二阶sl=((7*5)+10)-(1*5)=35

而其他的sl是

35

30

25

20

15

 
 

沃尔夫的问题

wolfe:
有谁知道如何编码,以便当你在EA中调用一个指标时,它会自动将 被调用的指标附在 你的EA所附的图表上?这样一来,它在视觉上将与你的EA所读取的内容完全一致。谢谢。

之前的回答不完整。

如果该指标是MT4的标准指标,它将显示在正常位置。如果它被iCustom调用,如果编码正确,也会显示出来。

以下的EA甚至让指标显示 在图表窗口上。研究它们以了解如何。

bouncingPipEA_mpowerV42.mq4

bouncingPipEA_BigBear_v23.mq4

大熊

 

待定订单中的价差

大家好。

我做了一个EA,计算一些时期的每日最高点和最低点,然后下挂单 买入/卖出,12小时后到期。

我在GBP-JPY货币对上运行(在我的经纪人那里有8个点的点差)。

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

结果,挂单买入止损被执行,即使价格没有碰到它。我追踪了OP买入止损,放在204.08的价格,但是当价格在204.00的时候,它被执行了。这似乎涉及到价差因素。

我的朋友告诉我,手动挂单买入止损/卖出止损的执行是没有点差因素的,但是为什么用EA下单就不一样了呢?

那么我的代码中是否有错误?

谢谢。

 
mastoto:
大家好。

我做了一个EA,计算一些时期的每日最高点和最低点,然后放置买入/卖出挂单,这些挂单将在12小时内到期。

我在GBP-JPY货币对上运行(在我的经纪人那里有8个点的点差)。

int ticket, SL, TP; //SL= StopLoss , TP= TakeProfit

int Spacing = 10; // Spacing Pips

double vAsk = HighestPrice+Spacing*Point; // raise/lower 10 pips for OP Buystop/Sellstop , HighestPrice= some highest price

ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,vAsk,0,vAsk-SL*Point,vAsk+TP*Point,"Pending Order BUY STOP",20070125,CurTime() + 12 * 3600,Green);

结果,挂单买入止损被执行,即使价格没有碰到它。我追踪了OP买入止损,放在204.08的价格,但是当价格在204.00的时候,它被执行了。这似乎涉及到价差因素。

我的朋友告诉我,手动挂单买入止损/卖出止损的执行是没有点差因素的,但是为什么用EA下单就不一样了呢?

那么我的代码中是否有错误?

提前感谢。

如果你的 "HighestPrice "是一个买入价,因为它们在所有的图表上都是如此,你可能必须添加点差。任何 "买入 "订单都是由 "卖出 "价格触发的。

 

如何获得主图表上的信息

我下载了一个指标,当买入/卖出信号 出现时,它显示绿色/红色箭头。

现在我想在这个指标的基础上编写自己的EA。

但我只有这个指标的ex4文件(没有源代码)。

我想让我的EA读取主图上的指标箭头并发送买入/卖出指令(绿色箭头==>买入,红色箭头==>卖出)。

有什么方法可以在主图上获得指标箭头信息吗?

谢谢

 
shanyang:
我下载了一个指标,它在买入/卖出信号出现时显示绿色/红色箭头。

现在我想在这个指标的基础上编制自己的EA。

但我只有这个指标的ex4文件(没有源代码)。

我想让我的EA读取主图上的指标箭头并发送买入/卖出指令(绿色箭头==>买入,红色箭头==>卖出)。

有什么方法可以在主图上获得指标箭头信息吗?

谢谢

EA必须用iCustom();函数 向上/向下调用指标信号。你不需要源代码就可以做到这一点。

冯玉祥

原因: