该程序是一个函数,输入为一个整数Ai_0,输出为一个整数0。

函数中有几个全局变量,包括G_pos_320、AllSymbols、G_symbol_556、AllOrders、MagicNumber、Gd_372、Gd_364、TrendingMode、Gi_468、Gd_380、Gi_472、Gi_unused_476、G_ticket_480、Gi_unused_484、Gba_564、Gba_568、G_count_312、G_count_316、Gd_340、Gd_332。

该函数首先调用RefreshRates()函数刷新汇率。然后使用一个for循环遍历未平仓订单,如果订单的货币对不等于G_symbol_556或者订单的魔术数字不等于MagicNumber,则继续循环。对于符合条件的订单,调用f0_1()函数,该函数会改变订单的止盈止损模块。接着调用f0_15()函数,该函数用于计算四种订单类型的数量。

接下来的一部分判断了一个条件,如果Gd_372大于等于0且大于等于Gd_364,则进行以下操作。如果TrendingMode为假且Gi_468为假,那么将Gi_468设为真,并将Gd_380赋值为Gd_372。如果Gd_372小于等于Gd_380减去Gd_364除以10.0,则将Gi_468、Gi_472、Gi_unused_476、G_ticket_480、Gi_unused_484、Gba_564和Gba_568重置,并调用f0_0()函数。如果TrendingMode为真且Gi_468为假,则将Gi_468设为真,并调用f0_0()函数。

接下来再次调用RefreshRates()函数,然后调用f0_15()函数。如果TrendingMode为真且Gi_468为真且Gd_372等于0且G_count_312和G_count_316都等于0,则将Gi_468、Gi_472、Gi_unused_476、G_ticket_480、Gi_unused_484、Gba_564和Gba_568重置,并调用f0_0()函数。

然后再次调用RefreshRates()函数和f0_15()函数。如果Gd_372小于(-AccountBalance()) * RiskPercent / 100.0,则进行以下操作。如果Gi_472为假,则将Gi_472设为真,并调用f0_10()函数。如果Gd_340大于0且Gd_332大于等于0且Gd_340大于Gd_332,则将G_ticket_480设为f0_3(Gd_340 - Gd_332, 0)。否则,如果Gd_332大于0且Gd_340大于等于0且Gd_332大于Gd_340,则将G_ticket_480设为f0_3(Gd_332 - Gd_340, 1)。否则,遍历所有订单,找到货币对等于G_symbol_556且订单号大于G_ticket_480的订单,如果AllOrders为假且订单的魔术数字不等于MagicNumber,则继续循环。否则将G_ticket_480设为该订单的订单号。

最后,如果Gi_472为真,则遍历所有订单,如果订单的货币对等于G_symbol_556且订单号小于等于G_ticket_480,则进行以下操作。如果订单的盈利加手续费加利息小于0,则如果订单类型为OP_BUY且Gba_568[Ai_0]为真,则将Gba_568[Ai_0]设为假。如果订单类型为OP_SELL且Gba_564[Ai_0]为假,则继续循环。否则,如果订单类型为OP_BUY且Gba_568[Ai_0]为假,则将Gba_568[Ai_0]设为真。如果订单类型为OP_SELL且Gba_564[Ai_0]为假,则将Gba_564[Ai_0]设为真。

最后调用f0_8()函数,然后返回0

int f0_9int Ai_0 RefreshRates; for G_pos_320 = OrdersTotal; G_pos_320 = 0; G_pos_320-- 未平单遍历 OrderSelectG_pos_320 SELECT_BY_POS MODE_TRADES;选择 if AllSymbols == FALSE && OrderSymbol !

原文地址: https://www.cveoy.top/t/topic/f4E9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录