如何编码? - 页 192

 

...

由mladen删除

原因:显示可能出错的东西没有意义

 

谢谢

谢谢.......罗杰

 

需要代码帮助...

谢谢你们...

 

请提供帮助

大家好。

谁能帮助使这个指标不重绘过去的历史,特别是当条形图已经关闭时,该指标在实时交易中有时会在蜡烛关闭后重绘2到3条,如果可能的话,请为它添加一个警报。

 

需要代码帮助...

各位会员好。

我不是一个程序员,但如果有人能帮助我解决这个问题,我将非常感激。

我如何重写这段代码,使它能做到以下几点。

如果(Total Open Order = 0)

那么

lot = Type1Lot(order_type);

如果(未结订单总数=1)

那么

lot = Type2Lot(order_type);

如果(未结订单总数>2)

那么

lot = Type3Lot(order_type);

谢谢大家。

感谢

 

是否有更好的编码方法?

我编了一个在图表上显示波动高点/低点的indi,我需要在继续之前知道每个人的最后一次。这是我寻找这两个价格的尝试(因此我需要一些帮助)。

大多数时候这都是有效的,但是今天它说最后一个波动高点实际上是第二个波动高点。

谁能看一下这个,看看这部分是否有更好的编码方式?

谢谢你的帮助。

int highbar,lowbar,i,n;

双重curlow=0,curhigh=0。

for (i=200;i>=1;i--)

{

if (High<High &&High<High &&High &&High<High)

{

curhigh=High。

highbar=i+2。

}

如果 (Low>Low && Low>Low && Low>Low && Low>Low)

{

curlow=Low;

lowbar=i+2。

}

}

//---- check if there is higher/lower candle since lastfractal----------

n=MathMax(highbar,lowbar )。

for (int x=n-1;x>=0;x--)

{

如果(High[x]> curhigh)

{

curhigh=High[x]。

highbar=x。

}

如果 (Low[x]< curlow)

{

curlow=Low[x];

lowbar=x。

}

}

看起来缩进的部分没有正确粘贴,对不起。

 
forexarchitect:
各位会员好。

我不是一个程序员,但如果有人能帮助我解决这个问题,我将非常感激。

我如何重写这段代码,使它能做到以下几点。

如果(未结订单总数=0)

那么

lot = Type1Lot(order_type);

如果(未结订单总数=1)

那么

lot = Type2Lot(order_type);

如果(未结订单总数>2)

那么

lot = Type3Lot(order_type);

谢谢大家。

欣赏

我绝不是编码专家,但我认为你需要循环浏览所有的订单,计算哪些订单符合你的规格。然后对不同的订单类型 使用不同的if语句,例如。

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

在这里,我正在选择哪些票要按魔法号码来计算,同时计算短票的数量和长票的数量。你可以用上面的代码作为例子。

 

在50和100心理价位下限价单

嘿,我在为我的代码寻找一点帮助。为了在货币对 的50和100整数位上放置市场限价单,是否可以使用这个代码。我想在高于和低于当前卖出价/买入价的50和100水平下单。

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

如果有任何帮助,我们将不胜感激。

 

酒吧颜色指标

你好,请问谁能帮我设计一个MT4指标?

不确定是否可以做到,但需要对条形图进行重新着色。

R1 = 过去20条的最低值 + (2*ATR(10))

R2 = 过去20条的最高值 - (2*ATR(10))

如果收盘价大于R1,则将条形图作为....,并涂上明亮的蓝色。

如果前一个条形图的收盘价小于R2,那么条形图的颜色为....。火砖

谢谢

A

 

仍在寻找EA开立多个订单的代码示例

我想一次只开2个订单,1个带Tp的,1个不带Tp的,然后永远不要在那个方向上开另一个,直到条件改变为开相反的。

我正在努力编写代码,但是......到目前为止还没有成功。

最大的问题是在蜡烛图收盘时打开一个头寸...然后在下一个蜡烛图收盘时打开第二个头寸。有时我也会有超过2个仓位,而且每当第一个仓位到达TP时,我就会有一个新的仓位。所有这些都是非常糟糕的。

这是买入指令代码,卖出指令代码基本相同......

任何建议都是有帮助的,我愿意把代码打出来。

哪怕是一个能做到这一点的EA,我也可以看一下例子。

我认为这个想法是非常重要的,应该被纳入很多不同的EA中,以达到资金管理的目的。

谢谢你

if ( ) {

Closebuy = True;

MAcrossDown = True;

MAcrossUP= False;

OrdertotalCloseBuy = OrdersTotal();

int AttemptsTriedCloseBuy = 0;

bool OrderCloseBuy = False;

bool PositionClosedBuy = False。

如果(OrdersTotal() > 0 ){

OrderSelect(0, SELECT_BY_POS, MODE_TRADES)。

如果(OrderType() == OP_BUY){

for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {

PositionClosedBuy = False。

AttemptsTriedCloseBuy = 0;

OrderSelect(i, SELECT_BY_POS, MODE_TRADES)。

while (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {

AttemptsTriedCloseBuy = AttemptsTriedCloseBuy + 1;

OrderCloseBuy = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen)。

Sleep(PausebetweenOrders * 1000);

if(OrderCloseBuy == True) { //平仓成功。

PositionClosedBuy = True;

// 如果(SignalMail) SendMail("[信号提示]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

} else if( Order == False && AttemptsTried >= CloseposnAttempts ) {

Print( AttemptsTried + " 尝试关闭市场订单 " +

OrderTicket() + " 失败。错误 [" + GetLastError() + " ] ")。

// 如果(SignalMail) SendMail( AttemptsTried, " 试图关闭买入市场订单失败")。

}// 结束如果,订单。

}// End While Loop, AccountAvailable:

}//for

}//if ordertype

}//if orderstotal

Sleep(1000);

if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) {

SellTicket1 = False;

SellTicket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, Bid - TakeProfit * Point, "SELL(#" + MagicNumber + ")", MagicNumber, 0, Red) 。

Sleep(PausebetweenOrders * 1000);

Sell_Complete_Wait4Cross_Up = True;

Buy_Complete_Wait4Cross_Down = False;

if (Ticket && SignalMail) SendMail("[信号提示]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + "Open 1st Sell");

Sleep(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, 0, "2nd SELL(#" + MagicNumber + ")", MagicNumber, 0, Pink);

Sleep(PausebetweenOrders * 1000);

if (Ticket2 && SignalMail) SendMail("[信号提示]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open 2nd Sell");

if(OrdersTotal() == 2 && MAcrossDown == True) {Sell_Complete_Wait4Cross_Up = True; Buy_Complete_Wait4Cross_Down = False;}//订单发送

}//Ordersend

}//Closebuy

原因: