资金管理问题,总是出错,请指教。。。

楼主  收藏   举报   帖子创建时间:  2019-05-05 15:23 回复:0 关注量:94
资金管理:
  如果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
打赏