noobie问题
Results 1 to 6 of 6

Thread: noobie问题

  1. #1
    有人可以向我解释这个EA如何计算每笔交易的手数,因为我从mt4语言中了解到litlle。

    //|计算最佳批量| |
    // ----------------------------------------------- -------------------
    双LotsOptimized()
    {
    双重批次=很多;
    int orders = HistoryTotal();/后台命令完成
    整数损失= 0;/损失订单数量无断裂
    // - 选择批次尺寸
    很多= NormalizeDouble(AccountFreeMargin()* MaximumRisk1000.0,1);
    // - 计算没有断裂的损失订单的数量
    如果(DecreaseFactorlt; 0)

    for(int I = orders-1; igt; = 0; I--)

    if(OrderSelect(I,SELECT_BY_POS,MODE_HISTORY)== false)打印(在后台错误!分裂;
    if(OrderSymbol()!)= Symbol()
    (lossgt; 1)lot = NormalizeDouble(lot-lot * lossesDecreaseFactor,1);

    // - 返回批次维度
    如果(lotlt; 0.01)lot = 0.01;
    返回(批号);

  2. #2
    从这个特定的行:双批=很多; ...(lossgt; 1)lot = NormalizeDouble(lot-lot * lossesDecreaseFactor,1);首先,你得到第一批量,命名为Lots(在代码顶部看extern变量),让我们说Lots = 0.2。然后是减少因子,如果连续亏损等于2(亏损高于1),那么可以说减少因子= 5,则批次维度= 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12将它舍入为1小数点= GT; NormalizeDouble(...,1)0.12 = GT; 0.1期待这个帮助

  3. #3
    谢谢,我现在明白了
    Quote Originally Posted by ;
    从这一点来说:双重地段=很多; ...(lossgt; 1)lot = NormalizeDouble(lot-lot * lossesDecreaseFactor,1);首先,你有最初的批量大小,称为Lots(看看extern变量,在代码的顶部),让我们说Lots = 0.2。如果你的连续亏损等于2(亏损大于1),则批量大小= 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12然后是减少因子,可以说减少因子= 5, 1小数点= GT; NormalizeDouble(...,1)0.12 = GT; 0.1期待这个帮助
    Quote Originally Posted by ;
    从这一点来说:双重地段=很多; ...(lossgt; 1)lot = NormalizeDouble(lot-lot * lossesDecreaseFactor,1);首先,你有最初的批量大小,称为Lots(看看extern变量,在代码的顶部),让我们说Lots = 0.2。如果你的连续亏损等于2(亏损大于1),则批量大小= 0.2 - 0.2 * 2/5 = 0.2 - 0.45 = 0.2 - 0.08 = 0.12然后是减少因子,可以说减少因子= 5, 1小数点= GT; NormalizeDouble(...,1)0.12 = GT; 0.1期待这个帮助

  4. #4
    有些事我不知道。如果账户免费保证金为3000,最大风险为.01,手数应为3000 * .01/1000 = .03,但EA只需0.01手。在很少的情况下,当账户增长到5000时,EA开了0.1手,但此时它必须打开5000 * .011000 = .05手。/|计算最佳批量|/ ----------------------------------------------- ------------------- double LotsOptimized(){double lot = Lots; int orders = HistoryTotal();/背景订单总数int loss = 0;/损失订单的数量无断裂// - 选择批量大小= NormalizeDouble(AccountFreeMarg in()* MaximumRisk1000.0,1);/ - 计算没有断裂的损失订单的数量(如果(I I =订单1; igt; = 0; I - )OrderType()OP_SELL)(DecreaseFactorlt; 0)/ - if(OrderProfit()gt; 0)break;如果(OrderProfit()<0)损失 ; (lossgt; 1)lot = NormalizeDouble(lot-lot * lossesDecreaseFactor,1);/ - 如果(lotlt; 0.01)lot = 0.01,则返回批量大小;返回(批号);
    https://www.forexidol.com/trading-sy...g-journal.html

  5. #5
    我还是不明白Ea没有打开手数。 Cqn womeone告诉我什么代码中的1代表.... Lot = NormalizeDouble(AccountFreeMarg in()* MaximumRisk1000.0,1);
    Quote Originally Posted by ;
    还有一些我不知道的。如果账户免费保证金为3000,最大风险为.01,手数应为3000 * .011000 = .03然而,EA只有0.01个手数。在很少的情况下,当账户增长到5000时,EA开了0.1手,但现阶段它必须开放5000 * .011000 = .05手。/|计算最佳批量|/ ----------------------------------------------- ------------------- double LotsOptimized(){double lot = Lots; int orders = HistoryTotal();/背景订单总数int loss = 0;/...
    Quote Originally Posted by ;
    还有一些我不知道的。如果账户免费保证金为3000,最大风险为.01,手数应为3000 * .011000 = .03然而,EA只有0.01个手数。在很少的情况下,当账户增长到5000时,EA开了0.1手,但现阶段它必须开放5000 * .011000 = .05手。/|计算最佳批量|/ ----------------------------------------------- ------------------- double LotsOptimized(){double lot = Lots; int orders = HistoryTotal();/背景订单总数int loss = 0;/...

  6. #6
    你好,看来我的最后一个回复有不正确的逻辑。该函数计算的批量维数不是来自Lot系数,而是来自:lot = NormalizeDouble(AccountFreeMarg in()* MaximumRisk1000.0,1);首先,关于NormalizeDouble(...,1),它将以1位数的精度产生价值。例如,var1 = 5/8 = 0.625。 NormalizeDouble(var1,2)= 0.63 gt; gt; gt;小数点后2位数NormalizeDouble(var1,1)= 0.6 gt; gt; gt;小数点后1位数形成你的情况,AccountFreeMargin = 3000 MaximumRisk = 0.01 AccountFreeMargin * MaximumRisk1000 = 3000 * 0.011000 = 0.03 lot = NormalizeDouble(0.03,1)= 0.0 !!!第三位被省略,因为它在第二位,从返回结果之前的小数点左边开始计数:// - 如果(lotlt; 0.01)lot = 0.01,则产生批次维度;返回(批号);因此,由于以上计算出的结果0小于0.01,角色返回0.01;最后一件事,你需要使用if(DecreaseFactorgt; 0),而不是(DecreaseFactorlt; 0),并确保DecreaseFactor的价值是一个正值(例如3)希望这可以帮助

發布權限

  • 您不可發布新主題
  • 您不可回复
  • 您不可發布附件
  • 您不可編輯您的帖子
  •  
  • BB代碼是打開的
  • 表情符號是打開的
  • [IMG]代碼是打開的
  • [視頻]代碼是打開的
  • HTML代碼是關閉的
forexidol網站使用cookie 文字跟蹤
forexidol網站使用cookie 文字跟蹤,某些設定已經固定。您可以點擊此處閱讀我們的Cookie使用說明。 請點擊右鍵接受我們的cookies。如果您選擇繼續使用forexidol網站,我們將認為您接受我們的cookies。