资金管理:
如果2个0.05全部打了止损,那么计算损失金额,当下次开仓时候增加0.05手,并且当盈利是损失的3倍的时候平0.1,剩0.05平保然后移动止损。
举例:
0.1(如果0.05打了止盈的话不算)打止损20点损失20刀,那么下次开0.15,当盈利到达60刀的时候,平0.1,另外0.05根据平仓条件平仓。
0.15也打止损20点了,损失20+30=50到,那么下次开0.2,当盈利达到150刀的时候,平0.15,另外0.050.05根据平仓条件平仓 。
以此类推,最终保留的是0.05,最多加8次码。然后恢复到再从0.1开始。从0.1开始就不用再计算以前的亏损,而是按照开仓条件的止盈止损了。
中途一旦盈利了,也从0.1开始。
我的代码:<div class=\"blockcode\"><div id=\"code_qGX\"><ol>
extern double 基础手数=0.05;
double Magic=2012888;
int xiadan=0;
int xiadanjiama=0;
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{ int 亏的次数=亏损订单次数();
double 总亏损;
Print(\"亏的次数:\", 亏的次数);
double junxian9=iMA(NULL, 0, 9, 0, MODE_SMA, PRICE_CLOSE, 1);
double junxian55=iMA(NULL, 0, 55, 0, MODE_SMA, PRICE_CLOSE, 1);
double junxian92=iMA(NULL, 0, 9, 0, MODE_SMA, PRICE_CLOSE, 2);
double junxian552=iMA(NULL, 0, 55, 0, MODE_SMA, PRICE_CLOSE, 2);
int Ticket;
int Ticket1;
if(亏的次数==0 )
{
if (xiadan!=1 && junxian9>junxian55 &&junxian920 &&Ticket1>0)
{
xiadan=1;
}
//Ticket表示入场动作的执行结果,如果小于0表示入场动作失败
if(Ticket0)
{
xiadan=2;
}
//Ticket表示入场动作的执行结果,如果小于0表示入场动作失败
if(Ticket |