如何编码? - 页 214

 
Linuxser:
通过缓冲区还是通过指令

按指令是这样的

#property indicator_level1 30

#property indicator_level2 70

假设我想在momemtum指标上画出80%的水平线,采用数组最大值和数组最小值。

如何画出这条线

我确实得到了80%的值,但如何把它放在图表上?

 
 
Tio Patinhas:
嗨,伙计们!!

它应该工作。向我们展示整个代码。

 
Roger09:
它应该可以工作。给我们看看整个代码。

问题解决了...谢谢!

 

GlobalVariable help....

我想创建2个GlobalVariable,以便当我的EA重新启动时,它知道使用这两个变量,如果它们存在的话。

第一个是下单(第一个订单)时的货币价值,我称这个变量为中心。它是中心值,即买入价+卖出价/2=中心。

第二个是计数......只是一个简单的计数,我在每一个新的订单中增加一个.....,直到我把它们全部关闭,计数被重置为零。

//=======================================================

这个方法可以检查全局变量 "center "和 "count "吗?....,如果找到的话,在我的EA中把数值写入变量center和count?

如果(GlobalVariableCheck(center))

如果(GlobalVariableCheck(count))

{

center = (GlobalVariableGet(center))。

count = (GlobalVariableGet(count))。

AskStart=1。

BidStart=1。

}

//==============================================================

这将(假设AskStart和BidStart为零)把中心值写到GlobalVariable "center "上

if(AskStart==0)

如果(BidStart==0)

{

AskStart = NormalizeDouble((Ask),4);

BidStart=NormalizeDouble((Bid),4);

center=((AskStart+BidStart)/2);

NormalizeDouble((center),4);

打印(center)。

AskStart=1。

BidStart=1。

评论(center)。

GlobalVariableSet("center",center)。

}

//=====================================================================

这样会不会把count的值写到GlobalVariable "count"?

tic = -1;

如果(TradeLong)

如果(center>(Ask+sh1))

如果(count==1)

{

while((tic == -1 )&&center>(Ask+sh1))

{

Sleep(4000);

RefreshRates()。

tic = OrderSend(Symbol(),OP_BUY,LE1, NormalizeDouble((Ask),4),5,Ask-sl1*Point,0,"" 255,0,CLR_NONE)。

}

如果(tic != -1)

{

count=2。

GlobalVariableSet("count", count);

tic = -1;

}

否则

{

返回(0)。

}

while((tic == -1 )&&center>(Ask+sh1))

{

Sleep(4000);

RefreshRates()。

tic = OrderSend(Symbol(),OP_SELL,LE00, NormalizeDouble((Bid),4),5,Bid+sl0*Point, Bid-tp000*Point,"",255,0,CLR_NONE);

}

返回(0)。

}

//==============================================

这将删除GlobalVariable的计数和中心吗?

如果(OrdersTotal()==0)

{

Closenow=False;

count=1。

AskStart=0。

BidStart=0;

center=0;

Hedgeonce=1。

GlobalVariableDel(center);

GlobalVariableDel(count)。

}

谢谢你的帮助和评论.....

 

简单的EA

有没有一种EA可以在一天中的某个时间段开仓交易,并让你设置价格....,退出策略.....,所有的变量都可以设置。

 

确定SL的固定手数

你好

我一直在尝试制作一个SL,它是由风险%和手数大小得出的。

例如

余额2000

风险2%。

风险现金40.00美元=余额*风险

手数0.02

TickValue 10.00或由每对货币决定。

TickSize 0.2 = TickValue * LotSize

SL 200 = 风险现金/TickSize。

所以SL将被放置在开盘后的200点。

每1000美元的手数应增加0.01。

这就是我目前的情况

double Lots;

if(OrderSelect(0,SELECT_BY_POS,MODE_HISTORY)) {

if(OrderType()==0 && OrderProfit()>0) {

if(AccountBalance()>1000*2) Lots=MathAbs(MathCeil(-AccountBalance()/OrderProfit()))*0.01;

else Lots=0.01;

任何帮助都将是巨大的

欢呼声

贝诺

 

纪日

你是如何使用开盘点作为支点的。 例如

如果买入价高于开盘价买入并击中TP(如果运气好的话),然后反转,那么卖出价就会低于开盘价,这样就可以卖出。

我意识到,如果TP没有被击中,那么可能会有另一个仓位被打开。

任何帮助都将是巨大的。

谢谢

贝诺

 

LimitOrders,哪个是开放的?

你好。

我想写我自己的EA。

首先我发送一个SellLimit和一个BuyLimit。

然后我想看看哪些订单已经达成。我怎样才能看到哪个订单仍未完成?

当我看OrdersTotal()时,我得到了我的开放订单和待处理订单

非常感谢。

sunshineh

 

通过订单类型( )

OP_BUY - 买入头寸。

OP_SELL - 卖出头寸。

OP_BUYLIMIT - 买入限价挂牌头寸。

OP_BUYSTOP - 买入止损待定头寸。

OP_SELLLIMIT -卖出限额 待定头寸。

OP_SELLSTOP - 卖出止损待定头寸。

for (int i = 0; i < OrdersTotal(); i++)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY) {...do some thing....}

if(OrderType() == OP_SELL) {...do other thing....}

}

原因: