作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试创建一个 MQL4 脚本(一种几乎与 C++ 相关的语言,MQL4),我想在其中将 double
值分为 9 个部分,其中分数不相等,但增加
我当前的代码尝试这样做(伪代码):
Lots1 = 0.1;
Lots2 = (Lots1 / 100) * 120;//120% of Lot1
Lots3 = (Lots2 / 100) * 130;//130% of Lot2
Lots4 = (Lots3 / 100) * 140;//140% of Lot3
Lots5 = (Lots4 / 100) * 140;//140% of Lot4
Lots6 = (Lots5 / 100) * 160;//160% of Lot5
Lots7 = (Lots6 / 100) * 170;//170% of Lot6
Lots8 = (Lots7 / 100) * 180;//180% of Lot7
Lots9 = (Lots8 / 100) * 190;//190% of Lot8
...
或更好:
double Lots = 0.1; // a Lot Size
double lot = Lots;
...
/* Here is the array with percentages of lots' increments
in order */
int AllZoneLots[8] = { 120, 130, 140, 140, 160, 170, 180, 190 }; // 120%, 130%,...
/* Here, the lot sizes are used by looping the array
and increasing the lot size by the count */
for( int i = 0; i < ArraySize( AllZoneLots ); i++ ) {
lots = AllZoneLots[i] * ( lots / 100 ) *;
// PlaceOrder( OP_BUY, lots );
}
但是,我想要的是将固定值 6.7 分成 9 部分,就像这些代码所做的那样,但值会增加,而不是相同......例如,6.7 分为:
double lots = { 0.10, 0.12, 0.16, 0.22, 0.31, 0.50, 0.85, 1.53, 2.91 };
/* This is just an example
of how to divide a value of 6.7 into 9, growing parts
最佳答案
这样做可以使值相等的步长。如果有 9 个步长,则将该值除以 45 以获得第一个值,以及等于步长 x
。为什么?因为 1..9 的和是 45。
x = 6.7 / 45
即 0.148889
第一项是x
,第二项是2 * x
,第三项是3 * x
等等。它们相加到45 * x
,即6.7,但最好除最后。因此,第二项将为 6.7 * 2/45;
以下代码展示了如何在 C 中完成此操作,因为 MQL4 使用 C 语法:
#include <stdio.h>
int main(void) {
double val = 6.7;
double term;
double sum = 0;
for(int i = 1; i <= 9; i++) {
term = val * i / 45;
printf("%.3f ", term);
sum += term;
}
printf("\nsum = %.3f\n", sum);
}
程序输出:
0.149 0.298 0.447 0.596 0.744 0.893 1.042 1.191 1.340
sum = 6.700
关于c++ - 如何将一个数字分成几个不等但递增的数字[用于发送 PlaceOrder( OP_BUY,lots ) 合约 XTO ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58825820/
我尝试创建一个 MQL4 脚本(一种几乎与 C++ 相关的语言,MQL4),我想在其中将 double 值分为 9 个部分,其中分数不相等,但增加 我当前的代码尝试这样做(伪代码): Lots1
我是一名优秀的程序员,十分优秀!