5位数检测 - 页 4

 
jjc:

Phy已经公布了10年期T-Note期货的MT4列表,其报价为5DP:https://www.mql5.com/en/forum/109552/page3#195885。 任何高达7DP的东西都可能存在,也就是说,是广泛交易的金融工具的属性。

我不知道CB重启了'什么是勾股'的线程!!!!。谢谢!那里有一些非常有用的东西... :)
 
cameofx:

- 我有这样的想法:鉴于基于美元的货币对有一个10.00美元的固定 刻度值[...

只有当您的入金货币是美元时(或者,概括地说,如果符号的报价货币与您的入金货币相符),tick值才是固定的。例如,如果您的存款是英镑,那么EURGBP的刻度值是固定的,而GBPUSD是浮动的。

 
jjc:

只有当您的入金货币是美元时,刻度值才是固定的(或者,概括地说,如果符号的报价货币与您的入金货币相匹配)。例如,如果您的存款是英镑,那么EURGBP的刻度值是固定的,而GBPUSD是浮动的。

如果所有的东西都是相对的和浮动的,我们如何 "锚定 "它呢?这是我到目前为止所掌握的情况.....:
int start()
  {
   double validPoint = validPoint(Point);
   int SL = Ask - 25 * validPoint;
   int TP = Ask + 25 * validPoint;
   
   int ticket = OrderSend(Symbol(),OP_BUY,1,Ask,3,SL,TP,"My order",1234,0,Green);
   Print("ticket = ", ticket);

   return(0);
  }
  
double  validPoint(double p){

   int digitPoint = 0; int dP = 0; double vP = 0.0;
   double anchor_value; 
   
   for(double i=1.0; i>p; i/=10){
         digitPoint ++;
         if(i * MarketInfo(Symbol(),MODE_TICKVALUE) > anchor_value)
         {vP = i; dP = digitPoint; }
   }
   return(vP);
}
digitPoint应该是用来确定我们的validPoint发生在多少个数字之后。
anchor_value : 我还是不确定如何计算,或者说这是否有意义......

EDIT : 循环的方向是错误的...
 
好吧,现在我找到了一个交易黄金(XAUUSD)的例子。诚然,这不是一个Tick Size自发变化的例子,但它所表现出的含义在当时足以引起我的关注,促使我在这里发帖。


点是0.01,Tick Value是5.00,然而Tick Size是0.05。

因此,为了有一个计算头寸大小和报告风险的通用公式,我用以下方法代替了...

MarketInfo(Symbol(),MODE_TICKVALUE)

(MarketInfo(Symbol(),MODE_TICKVALUE)*Point)/MarketInfo(Symbol(),MODE_TICKSIZE)

...在我使用的各种公式中。

它像一个梦一样工作,我现在有了在所有工具上正确执行风险管理的EA。

CB

我引用了CB在 "什么是TICK "中的帖子,这很有趣,也许这应该取代方程中简单的Tickvalue调用......

PS : 7Bit,不是说要 "劫持 "你的主题......。希望你不要介意... :))

 
嗯......要么没有人认为这很重要,要么我可能已经偏离了主题,以至于....,请帮助 :(
 
除了我之外,还有谁认为这是值得的吗?我想如果我们能找到一个解决方案,对我们所有人来说都是很方便的......或者我需要单独发一个主题?...请赐教
 
cameofx:
除了我之外,还有谁认为这是值得的?我想如果我们能找到一个解决方案,对我们所有人来说都会很方便......或者我需要单独发一个主题?...请赐教

MQL4使用点数的唯一原因是在订单请求中编码点差值。其他的都是以汇率来指定的。 可以考虑的一个替代方法是使用货币汇率差异作为T/P、S/L等的输入参数。 例如,指定0.0050为50点S/L。 这种方法不考虑数字,只需要在Symbol()中检测 "JPY "作为报价货币时按100的比例计算。 这对所有21个主要货币对(所有美元、欧元、英镑、日元、瑞士法郎、加元、澳元的组合)都是可行的,可能也适用于小货币对(由于点差较高,很少有人交易)。 如果你真的担心 "防弹",你可以提供一个货币串和乘数作为输入参数(如日元和100)。 这也可以通过不同的经纪商扩展到外币。

我真的认为这对大多数MQL4编码者来说是个哑巴;当他们成功实现和调试了一个有利可图的交易算法后,他们会在自己的真实账户上使用它。 很少有人会想把它卖掉或送人,因为市场可能会调整以抵消该算法。

 
andydcoles:

MQL4使用点数的唯一原因是在订单请求中编码点差值。其他的都是以汇率来指定的。可以考虑的一个替代方法是使用货币汇率差异作为T/P、S/L等的输入参数。例如,指定0.0050为50点S/L。这种方法不考虑数字,只需要在Symbol()中检测到 "JPY "作为报价货币时按100的比例缩放。这对所有21个主要货币对(所有美元、欧元、英镑、日元、瑞士法郎、加元、澳元的组合)都是可行的,可能也适用于小货币对(由于点差较高,很少有人交易)。如果你真的担心 "防弹",你可以提供一个货币串和乘数作为输入参数(如日元和100)。这也可以通过不同的经纪商扩展到外币。

我真的认为这对大多数MQL4编码员来说是个哑巴;当他们成功实施和调试了一个有利可图的交易算法后,他们会在自己的真实账户上使用它。很少有人会想把它卖掉或送人,因为市场可能会调整以抵消该算法。

这一点。就个人而言,我不以点为单位工作,我以点为单位工作。所有的价格数据都是以点为单位的。两个价格值之间的差异是以点为单位的。我的止损和出场点都是以点为单位......它们是一个特定的市场价格。点子的概念是一个有趣的概念,但正如这里的大多数人可以证明的那样,一旦你试图将点子的概念与点数的概念联系起来,你就会失去严谨性和稳健性,为了什么?

我从来没有处理过经纪商改变价格中有效数字的问题,因为我把所有的方程式都编码为与经纪商的市场信息规格相一致。我不认为止损是以点来计算的,对我来说,它是以百分比和实际市场决定的价格和价值来计算的。

我的外汇生活一开始就考虑到了点数,这是很自然的,因为这个口号在你遇到的每一篇在线文献和教育资源中都很盛行。但是,一旦我开始挑战自己,认为点数是管理交易的必要心理结构,我就发现它更像是一个障碍,扼杀了我的创造力和选择。

点子不是交易的基本要素,它是一个让人开始的拐杖,但如果你永远不回过头来研究它存在的目的,那么你就剥夺了自己在外汇学习曲线上超越第一层的机会(当然,只是我的观点)。

 

这是迄今为止主导这个论坛的最大主题。我不明白,可能永远也不会明白。什么是点或点?谁在乎呢。我开始喜欢编程的一个原因是,如果你不能定义某个东西,那么就会变得几乎不可能对它进行编程。如果一群程序员要通过3页的帖子来定义一个点/点。那么我最好暂时远离它。

这个定义对于想要编写商业标准程序的开发者来说似乎很重要,因为他们希望用户能够灵活地计算出他们想要冒多少风险的美元。对于我们大多数人来说,我们的资金管理目的与最佳止损 相结合,并没有提供这种灵活性。

举个例子。我以2000美元起家,想冒这个资本的2%的风险。然而,我刚刚优化的系统有一个130点的止损。而我可以使用的最低手数是10,000,其中点=1美元。我们在这里遇到了真正的困境。我要么找一个提供小手数的经纪人,要么等我有更多的钱来交易。即便如此,我唯一能控制的就是手数。我几乎不可能将任何银行资金的2%与我的系统止损完全匹配。我所能做的就是以一种迂回的方式指定手数。

 
ubzen:

如果一群程序员要通过3页的帖子来定义一个点/点[...]什么是点或点?谁在乎呢?

...不大公平。更重要的是,每个人都有不同的意见,而这3页纸由许多不同的两行答案组成。

你和Phillip都提出了一个非常有效的观点,但有一个例外--但这个例外我认为是7bit首先打开这个话题的原因。

如果你正在建立一个供其他人使用的系统,而不仅仅是为你自己,那么以点为单位输入数值的能力是一个主要的易用性考虑。一般的赌徒知道他们所说的50个点是什么意思,但是要想很多,并且反复检查,他们是否指的是0.005的值,而不是0.0005或0.05或其他。以点为单位输入参数 的能力符合大多数终端用户在外汇世界中的思维方式,并减少了错误。它还提供了能够在2/3和4/5位数的符号上使用相同参数值的前景。我对大众市场的商业EA接触不多,但我从来没有见过这样的参数是以价差而不是点值输入的。