如何编码? - 页 245

 

在同一个链接下发布所有的编程问题,这是不是有点低效?

 

订单结束重复的订单?

int start()

{

int ticket,expiration,rp;

double point,bd;

point=MarketInfo(Symbol(),MODE_POINT);

expiration=CurTime()+PERIOD_D1*60。

rp=100。

bd=Bid。

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*1*point,0,0,0, "some comment1",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*2*point,0,0,0, "some comment2",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*3*point,0,0,0, "some comment3",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*4*point,0,0,0, "some comment4",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*5*point,0,0,0, "some comment5",1,expiration,Green);

ticket=OrderSend(Symbol(),OP_SELLSTOP,1.0,bd-rp*6*point,0,0,0, "some comment6",1,expiration,Green);

}

我想只开六个挂单。你能帮助我吗?非常感谢您!!!。

 
YenTrader2:
在同一个链接下发布所有的编程问题,这是不是有点低效?

效率低得可以!

 

Coders' Guru先生,您能帮助我创建一个EA吗?

codersguru:
jdun,

最简单的方法是改变代码(卖出到买入和买入到卖出)。

if(signal0 < signal1 ) GlobalVariableSet("TM0",1);

if(signal0 > signal1) GlobalVariableSet("TM0",0);[/CODE]

To:

[CODE]if(signal0 > signal1 ) GlobalVariableSet("TM0",1);

if(signal0 < signal1) GlobalVariableSet("TM0",0);

这个EA的功能是关闭我所有的未结头寸和没有在固定时间内执行的挂单。该EA应该在metatrader4交易平台上运行。其规格如下。

1)在16:00开始(interbankfx贸易平台的时间)。

2) 关闭第一个开仓头寸

3) 关闭下一个开仓头寸

4) 直到所有未结头寸被关闭,进入

5) 关闭第一个挂单

6) 关闭下一个挂单

7) 直到所有的挂单都被关闭

8) 结束

谢谢你

 

将ATR添加到现有代码中

我只想知道如何将ATR SL、TP、TS添加到现有代码中。希望得到任何帮助。

 
EddieRoyals:
我只是想知道如何在现有的代码中加入ATR SL, TP, TS。如果有任何帮助,我将不胜感激。

现有代码在哪里?

-------------------------------

要增加ATR值,你首先要取一个

比如说 double b = iATR(Symbol(),0,5,1) 确保它返回的值乘以经纪人的点,所以在我们假设的情况下,继续前进 就是

b = point * iATR(Symbol(),0,3,1)。

到目前为止还不错,从这里你可以做你想做的事情,一种方法是把它乘以另一个阈值,例如5。

所以最终的结果是

b = 5 * point * iATR(Symbol(),0,3,1)。

现在你可以玩一玩了

-guyver

 

修改指标

你好。

谁能帮我修改一下这个指标,让它根据前一个柱子检查 高点和低点。如果当前的蜡烛有HH和HL,并且直方图的值<50,那么直方图条是绿色的,如果当前的蜡烛有LH和LL,并且直方图的值也是<50,那么直方图条是红色。任何其他结果都应该绘制灰色的直方图条。

谢谢您的帮助!

附加的文件:
 

谢谢你,Guyver。我将在今天的某个时候给它一个机会。非常感谢!

 
kolesar:
你好。

谁能帮帮我,修改一下这个指标,让它根据前一个柱子检查高点和低点。如果当前的蜡烛有HH和HL,并且直方图的值<50,那么直方图条是绿色的,如果当前的蜡烛有LH和LL,并且直方图的值也<50,那么直方图条是红色。任何其他结果都应该绘制灰色的直方图条。

谢谢你的任何帮助!

什么都没有。没有答案,什么都没有。

这也许会有帮助?

 

添加止损

谁能告诉我如何为以下代码添加止损?

谢谢你。

#define MAGIC 20090101

外部双数 Lots = 0.2;

extern double OpenPrice = 92.50;

extern double ClosePrice = 92.55;

extern bool gaku = 0;

int CalculateCurrentOrders()

{ int pos=0;

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

{ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES) == false) break;

如果(OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC)

{

如果(OrderType() == OP_BUY || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP) pos++;

如果(OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP) pos--。

}

}

return(pos);}

int start()

{

if(IsTradeAllowed() == false || CalculateCurrentOrders() != 0) return(0);

if(OpenPrice < ClosePrice && gaku == 0) OrderSend(Symbol(),OP_BUYLIMIT,Lots,OpenPrice,0,0,ClosePrice,",MAGIC,0,Blue);

else if(OpenPrice > ClosePrice && gaku == 0) OrderSend(Symbol(),OP_SELLLIMIT,Lots,OpenPrice,0,0,ClosePrice,",MAGIC,0,Red);

else if(OpenPrice < ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_BUYSTOP,Lots,OpenPrice,0,0,ClosePrice,",MAGIC,0,Blue);

}

否则如果(OpenPrice > ClosePrice && gaku != 0) {OrderSend(Symbol(),OP_SELLSTOP,Lots,OpenPrice,0,0,ClosePrice,",MAGIC,0,Red);

}

return(0);

}

原因: