编码帮助 - 页 22 1...151617181920212223242526272829...786 新评论 Deorn 2012.03.02 22:40 #211 谢谢你的回答,罗伯特 这样的仪表盘是完美的,但我没有找到bb squeeze的仪表盘,而且我不知道如何改变现有的仪表盘来检测bb squeeze。 我自己的想法很简单,看起来像这样。 int Current; //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { int USDCHF, GBPUSD, EURUSD, AUDUSD; double upperBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, Current + 0); double upperKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 0, Current + 0); double lowerBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, Current + 0); double lowerKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 2, Current + 0); if(upperBB_USDCHFlowerKC_USDCHF) Comment(": BollingerSqueeze for USDCHF"); return(0); } //+------------------------------------------------------------------+ 这只是针对几个不同的对子,但正如我所说的,"评论 "一直在刷新。 编辑:好的,我修好了,不再需要帮助了。 Coding help 请各位老师帮我实现 Any rookie question, so William Snyder 2012.03.04 18:37 #212 crexsking: 嗨,Mladen和所有的会员朋友。我交易的图表模式是 "大蜡烛移动"(Open[0]-Close[0]>32点或反之),我交易eurusd(FXOpen的H1 <--最准确的蜡烛大小和模式)... 所以,绝对没有任何指标。只有交易理念。 我试图编写一个关于它的逻辑的EA,但我认为那里缺少一些东西......请帮助!!!。 我所说的 "缺失的东西 "是指什么呢? -我希望在 "大蜡烛 "发生之前......系统计算出每根蜡烛的最后4根蜡烛<20点(开盘-收盘或相反)。 但是......发生的事情是我的mql4编码没有读取大蜡烛之前的最后4根蜡烛......我很确信......。 应该发生的是。 1.大蜡烛的时间:- - 3pm,4pm,5pm(London Open) ...n...8pm,9pm,10pm(美国公开赛) <----,因为我是马来西亚人,所以把你的电脑调到GMT 8.00++。 2.大的蜡烛尺寸:- - 32点以上(如果之前的侧向是20点以下)。 - 42点以上(如果之前的回撤是20点以上)。 3.侧向市场:- - 至少4小时内低于50点,必须有不同的颜色。 4.无效或危险的市场(市场取消): <------ 如果发生这种市场情况,不进行交易 1.1.伦敦开盘前的回撤 B,B,B,B向上或S,S,S,S向下。 <--- B,B,B,B = 蜡烛买入,买入,买入...连续。 2.大蜡烛收于日线区间的最大值。<---- 75点最小高低点 3.大蜡烛在晚上10点出现。<----- GMT 8++或马来西亚时间 4.大蜡烛太大,超过80点。 5.在伦敦开盘前有超过50点的蜡烛。 6.6.在东京时段出现上涨行情的形式,在伦敦开盘时出现向上的大蜡烛(反之则是向下的)。 编码问题附后:- extern double trigger = 32; extern double sideway = 20; extern int hour1 = 6; extern int hour2 = 7; extern int hour3 = 8; extern int hour4 = 9; extern int hourCB = 10; extern int hourTRADE = 11; extern int TradeTimeStart = 0; extern int TradeTimeEnd = 23; //---Variables double currentPrice = 0.00000; static datetime barStart; string openTrades = "none"; int ticket; int i = 0; double lotSize; double CBB = 0; double CBS = 0; double CBBT; double CBST; double PreviousCBB; double PreviousCBS; double CS1B; double CS2B; double CS3B; double CS4B; double CS5B; double CS6B; double CS1S; double CS2S; double CS3S; double CS4S; double CS5S; double CS6S; double CS1BT; double CS2BT; double CS3BT; double CS4BT; double CS1ST; double CS2ST; double CS3ST; double CS4ST; double PreviousCS1B; double PreviousCS2B; double PreviousCS3B; double PreviousCS4B; double PreviousCS1S; double PreviousCS2S; double PreviousCS3S; double PreviousCS4S; double GroupSW1B; double GroupSW2B; double GroupSW3B; double GroupSW4B; double GroupSW5B; double GroupSW6B; double GroupSW1S; double GroupSW2S; double GroupSW3S; double GroupSW4S; double GroupSW5S; double GroupSW6S; string permit = "suspended"; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start(){ CBB=(Close[1]-Open[1])/Point; CBS=(Open[1]-Close[1])/Point; CBBT=(hourCB==Hour()); CBST=(hourCB==Hour()); PreviousCBB = (CBB == CBBT); PreviousCBS = (CBS == CBST); CS1B=(Close[7]-Open[7])/Point; CS2B=(Close[6]-Open[6])/Point; CS3B=(Close[5]-Open[5])/Point; CS4B=(Close[4]-Open[4])/Point; CS5B=(Close[3]-Open[3])/Point; CS6B=(Close[2]-Open[2])/Point; CS1S=(Open[7]-Close[7])/Point; CS2S=(Open[6]-Close[6])/Point; CS3S=(Open[5]-Close[5])/Point; CS4S=(Open[4]-Close[4])/Point; CS5S=(Open[3]-Close[3])/Point; CS6S=(Open[2]-Close[2])/Point; CS1BT=(hour1==Hour()); CS2BT=(hour2==Hour()); CS3BT=(hour3==Hour()); CS4BT=(hour4==Hour()); CS1ST=(hour1==Hour()); CS2ST=(hour2==Hour()); CS3ST=(hour3==Hour()); CS4ST=(hour4==Hour()); PreviousCS1B = (CS1B == CS1BT); PreviousCS2B = (CS2B == CS2BT); PreviousCS3B = (CS3B == CS3BT); PreviousCS4B = (CS4B == CS4BT); PreviousCS1S = (CS1S == CS1ST); PreviousCS2S = (CS2S == CS2ST); PreviousCS3S = (CS3S == CS3ST); PreviousCS4S = (CS4S == CS4ST); GroupSW1B = (CS3B<sideway&&CS4S<sideway&&CS5B<sideway&&CS6S=trigger); GroupSW1S = (CS3S<sideway&&CS4B<sideway&&CS5S<sideway&&CS6B=trigger); currentPrice = iClose(NULL,0,0); Comment("Price Continuation\n", "Status: ",status() ); //----Trade Algorithm //trade hours value... if(TradeTimeStart <= Hour() && Hour() <= TradeTimeEnd){ if(openTrades == "none" && permit == "approved"){ requestLongOrder(); requestShortOrder(); } else{ requestPermit(); } } if(openTrades == "long"){ manageLongTrade(); } if(openTrades == "short"){ manageShortTrade(); } return(0); } //---FUNCTIONS--- //-- void requestLongOrder(){ if(hourTRADE==Hour() && GroupSW1B){ //-- Lots = CalcLots (); ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,3,currentPrice-stopLoss,currentPrice+takeProfit,"My order ",06010,0,Green); if(ticket<0){ //add email/sms alert here with GetLastError(); } if(ticket>0){ openTrades = "long"; permit = "suspended"; } } } void requestShortOrder(){ if(hourTRADE==Hour() && GroupSW1S){ //-- Lots = CalcLots (); ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,currentPrice+stopLoss,currentPrice-takeProfit,"My order ",06010,0,Red); if(ticket<0){ //add email/sms alert here with GetLastError(); } if(ticket>0){ openTrades = "short"; permit = "suspended"; } } } * 如同所附的屏幕截图,应该发生什么。 请帮助... 谢谢... 谢谢。 蠕变 你好,Crexsking。 我唯一能想到的是,你可能需要对5位数的经纪人进行转换,在开始后,放上这样的东西 double pipMultiplier = 1; (在启动前) 开始() { 如果(Digits==3 || Digits==5) pipMultiplier = 10。 否则pipMultiplier = 1。 然后在每个点之后,像这样的点*pipMultiplier。 Robert 2012.03.04 18:37 #213 评论是如何解决的? Deorn: 谢谢你的回答,罗伯特这样的仪表盘是完美的,但我没有找到bb squeeze的仪表盘,而且我不知道如何改变现有的仪表盘来检测bb squeeze。 我自己的想法很简单,看起来像这样。 ======== 这只是针对几个不同的交易对,但正如我所说的,"评论 "一直在刷新。 编辑:好的,我修好了,不再需要帮助了 嗨,Deorn。 很高兴听到你解决了你的挑战。能否分享一下你是如何纠正 "评论 "的刷新的? 祝你的编码工作顺利......! 罗伯特 Deorn 2012.03.04 19:10 #214 cosmiclifeform: 你好,Deorn。很高兴听到你解决了你的挑战。能否分享一下你是如何纠正 "评论 "的刷新的? 祝你的编码工作愉快......! 罗伯特 我按照你说的用'objectcreate'做的。 我实现了10个不同货币对的M5到月度的时间框架。 Keltner Channels需要有准确的名称 "Keltner Channels",我选择了系数为1.5的设置20。 两者都是两个正常的指标 我将选择一个空白窗口来放置它 很抱歉,这是我的第一个自己的指标,但它能完成工作。 问候 附加的文件: keltner_channels.mq4 3 kb bbsqueeze_scanner.mq4 5 kb crexsking 2012.03.04 21:10 #215 mrtools: 你好,Crexsking。我唯一能想到的是,你可能需要为5位数的经纪商进行转换,在开始后放上类似这样的东西 double pipMultiplier = 1; (在启动前) 开始() { 如果(Digits==3 || Digits==5) pipMultiplier = 10。 否则pipMultiplier = 1。 然后在每个点之后,像这样的点*pipMultiplier。 嗨,mrtools,谢谢...... 我会做的,但在此之前,我可以问一下......用5位数的经纪商转换它的关系是什么? 我的意思是......在这之前,系统无法识别侧向市场最后4根蜡烛中的牛市或熊市。 如果我输入这个代码,系统会识别它吗? 对不起,我的英语不好... 问候。 Crexsking William Snyder 2012.03.04 21:59 #216 crexsking: 你好,mrtools,谢谢......我会做的,但在此之前,我可以问......用5位数的经纪商来转换它的关系是什么? 我的意思是......在这之前,系统不能识别侧向市场最后4根蜡烛的牛市或熊市。 如果我输入这个代码,系统会识别它吗? 对不起,我的英语不好... 问候。 皱纹 Crexsking,它会把它变成点数,所以如果你有.91135的开盘价和.90685的收盘价,差值是.0045,如果你是5位数的经纪人,点等于450,因为它除以.00001,但如果你使用转换,它正确地使45点,因为你然后除以.0001或.00001 x 10.至于识别牛或熊烛,真的不能说因为我没有看到任何其他错误与你的代码。 crexsking 2012.03.05 18:40 #217 大玩家的编码...请帮助... ---- 已编辑 Ok done... 问题解决了。 问候。 crexsking paijowijaya 2012.03.07 16:47 #218 需要帮助 你好,对于所有的编码大师,我需要你的帮助,请。 如果我想创建水平线,蜡烛组(收盘-开盘)的上下限值很小,该如何编码呢?值(收盘-开盘)*100000=无极性,总是正的。我的蜡烛数量的外部内容。 例子。 extern int (close - open)*100000 = 10; // 其意思是(close - open)<= 10 extern int 蜡烛数的最大值=3。 "水平线上限"=取自该组中固有的最高开/收盘价 "水平线下限"=取自该组中固有的最高开盘/收盘价 向您致意。 谢谢你 附加的文件: group_small_candle.jpg 119 kb Mladen Rakic 2012.03.07 18:16 #219 ... 我恐怕不明白你到底是什么意思。所以只回答了你问题的一部分。 如果你把5位数经纪商上的5位数符号的差值乘以100000,那么你将得到所需的数值,但如果该符号是日元的一个交叉点,你将得到远远超过这些数值的数值。此外,在4位数的经纪商,你也会得到更大的价值。为了防止这种情况,最好的方法是计算点差。这就是你如何做到这一点的方法。 double pipMultiplier = 1; if (Digits==3 || Digits==5) pipMultiplier = 10; // // // calculate the difference in pips // // double difference = MathAbs((Close[shift] - Open[shift])/(Point*pipMultiplier));[/PHP] 不管是什么符号或经纪人,它总是以点为单位。 至于最低和最高值,你可以用这样的代码找出一个范围内的最低低值和最高高值(这个例子被设定为寻找3个条形的范围,因为你正在谈论它):[PHP]double highest = High;double lowest = Low;paijowijaya: 你好,对于所有的编码大师,我需要你的帮助,请。如果我想创建水平线,蜡烛组(收盘-开盘)的上下限值很小,那么如何编码呢?值(收盘-开盘)*100000=无极性,总是正的。我的蜡烛数量的外部内容。 例子。 extern int (close - open)*100000 = 10; // 其意思是(close - open)<= 10 extern int 蜡烛数的最大值=3。 "水平线上限"=取自该组中固有的最高开/收盘价 "水平线下限"=取自该组中固有的最高开盘/收盘价 致以最诚挚的问候。 谢谢你 Coding help 编码帮助......我如何让指标过滤而不是警报? 任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. paijowijaya 2012.03.07 18:35 #220 mladen: 恐怕我不太明白你的意思,所以只回答你问题的一部分。 如果你把5位数经纪商的5位数符号的差值乘以100000,那么你将得到所需的数值,但如果该符号是日元的一个交叉符号,你将得到远远超过这些数值的数值。此外,在4位数的经纪商,你也会得到更大的价值。为了防止这种情况,最好的方法是计算点差。这是你如何做到的。 double pipMultiplier = 1; if (Digits==3 || Digits==5) pipMultiplier = 10; // calculate the difference in pips double difference = MathAbs((Close[shift] - Open[shift])/(Point*pipMultiplier));[/PHP] :[PHP] double highest = High;double lowest = Low; 很惊讶,我很高兴你回答了我的问题,Mladen先生。 但是,对不起,我仍然感到困惑,你会给完整的编码?值*100000我的意思是在读数时要简单,而不是0.0002(逗号后面的4位数),但如果你有更简单的方法,我会按照你的方法。实质上,当发现三根蜡烛(平衡区或买方=卖方或侧向区,每个TF都有不同数量的蜡烛)是小的(其值取自收盘-开盘之间的差异),我想画一条水平线,就像我上传的图片那样。这样我就可以通过这条线知道图表中的供需情况。或者你有这样一个指标吗? 致以最诚挚的问候。 谢谢您,Mladen先生 1...151617181920212223242526272829...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谢谢你的回答,罗伯特
这样的仪表盘是完美的,但我没有找到bb squeeze的仪表盘,而且我不知道如何改变现有的仪表盘来检测bb squeeze。
我自己的想法很简单,看起来像这样。
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start() {
int USDCHF, GBPUSD, EURUSD, AUDUSD;
double upperBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, Current + 0);
double upperKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 0, Current + 0);
double lowerBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, Current + 0);
double lowerKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 2, Current + 0);
if(upperBB_USDCHFlowerKC_USDCHF)
Comment(": BollingerSqueeze for USDCHF");
return(0);
}
//+------------------------------------------------------------------+
这只是针对几个不同的对子,但正如我所说的,"评论 "一直在刷新。
编辑:好的,我修好了,不再需要帮助了。
嗨,Mladen和所有的会员朋友。
我交易的图表模式是 "大蜡烛移动"(Open[0]-Close[0]>32点或反之),我交易eurusd(FXOpen的H1 <--最准确的蜡烛大小和模式)...
所以,绝对没有任何指标。只有交易理念。
我试图编写一个关于它的逻辑的EA,但我认为那里缺少一些东西......请帮助!!!。
我所说的 "缺失的东西 "是指什么呢?
-我希望在 "大蜡烛 "发生之前......系统计算出每根蜡烛的最后4根蜡烛<20点(开盘-收盘或相反)。
但是......发生的事情是我的mql4编码没有读取大蜡烛之前的最后4根蜡烛......我很确信......。
应该发生的是。
1.大蜡烛的时间:-
- 3pm,4pm,5pm(London Open) ...n...8pm,9pm,10pm(美国公开赛) <----,因为我是马来西亚人,所以把你的电脑调到GMT 8.00++。
2.大的蜡烛尺寸:-
- 32点以上(如果之前的侧向是20点以下)。
- 42点以上(如果之前的回撤是20点以上)。
3.侧向市场:-
- 至少4小时内低于50点,必须有不同的颜色。
4.无效或危险的市场(市场取消): <------ 如果发生这种市场情况,不进行交易
1.1.伦敦开盘前的回撤 B,B,B,B向上或S,S,S,S向下。 <--- B,B,B,B = 蜡烛买入,买入,买入...连续。
2.大蜡烛收于日线区间的最大值。<---- 75点最小高低点
3.大蜡烛在晚上10点出现。<----- GMT 8++或马来西亚时间
4.大蜡烛太大,超过80点。
5.在伦敦开盘前有超过50点的蜡烛。
6.6.在东京时段出现上涨行情的形式,在伦敦开盘时出现向上的大蜡烛(反之则是向下的)。
编码问题附后:-
extern double trigger = 32;
extern double sideway = 20;
extern int hour1 = 6;
extern int hour2 = 7;
extern int hour3 = 8;
extern int hour4 = 9;
extern int hourCB = 10;
extern int hourTRADE = 11;
extern int TradeTimeStart = 0;
extern int TradeTimeEnd = 23;
//---Variables
double currentPrice = 0.00000;
static datetime barStart;
string openTrades = "none";
int ticket;
int i = 0;
double lotSize;
double CBB = 0;
double CBS = 0;
double CBBT;
double CBST;
double PreviousCBB;
double PreviousCBS;
double CS1B;
double CS2B;
double CS3B;
double CS4B;
double CS5B;
double CS6B;
double CS1S;
double CS2S;
double CS3S;
double CS4S;
double CS5S;
double CS6S;
double CS1BT;
double CS2BT;
double CS3BT;
double CS4BT;
double CS1ST;
double CS2ST;
double CS3ST;
double CS4ST;
double PreviousCS1B;
double PreviousCS2B;
double PreviousCS3B;
double PreviousCS4B;
double PreviousCS1S;
double PreviousCS2S;
double PreviousCS3S;
double PreviousCS4S;
double GroupSW1B;
double GroupSW2B;
double GroupSW3B;
double GroupSW4B;
double GroupSW5B;
double GroupSW6B;
double GroupSW1S;
double GroupSW2S;
double GroupSW3S;
double GroupSW4S;
double GroupSW5S;
double GroupSW6S;
string permit = "suspended";
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start(){
CBB=(Close[1]-Open[1])/Point;
CBS=(Open[1]-Close[1])/Point;
CBBT=(hourCB==Hour());
CBST=(hourCB==Hour());
PreviousCBB = (CBB == CBBT);
PreviousCBS = (CBS == CBST);
CS1B=(Close[7]-Open[7])/Point;
CS2B=(Close[6]-Open[6])/Point;
CS3B=(Close[5]-Open[5])/Point;
CS4B=(Close[4]-Open[4])/Point;
CS5B=(Close[3]-Open[3])/Point;
CS6B=(Close[2]-Open[2])/Point;
CS1S=(Open[7]-Close[7])/Point;
CS2S=(Open[6]-Close[6])/Point;
CS3S=(Open[5]-Close[5])/Point;
CS4S=(Open[4]-Close[4])/Point;
CS5S=(Open[3]-Close[3])/Point;
CS6S=(Open[2]-Close[2])/Point;
CS1BT=(hour1==Hour());
CS2BT=(hour2==Hour());
CS3BT=(hour3==Hour());
CS4BT=(hour4==Hour());
CS1ST=(hour1==Hour());
CS2ST=(hour2==Hour());
CS3ST=(hour3==Hour());
CS4ST=(hour4==Hour());
PreviousCS1B = (CS1B == CS1BT);
PreviousCS2B = (CS2B == CS2BT);
PreviousCS3B = (CS3B == CS3BT);
PreviousCS4B = (CS4B == CS4BT);
PreviousCS1S = (CS1S == CS1ST);
PreviousCS2S = (CS2S == CS2ST);
PreviousCS3S = (CS3S == CS3ST);
PreviousCS4S = (CS4S == CS4ST);
GroupSW1B = (CS3B<sideway&&CS4S<sideway&&CS5B<sideway&&CS6S=trigger);
GroupSW1S = (CS3S<sideway&&CS4B<sideway&&CS5S<sideway&&CS6B=trigger);
currentPrice = iClose(NULL,0,0);
Comment("Price Continuation\n",
"Status: ",status()
);
//----Trade Algorithm
//trade hours value...
if(TradeTimeStart <= Hour() && Hour() <= TradeTimeEnd){
if(openTrades == "none" && permit == "approved"){
requestLongOrder();
requestShortOrder();
}
else{
requestPermit();
}
}
if(openTrades == "long"){
manageLongTrade();
}
if(openTrades == "short"){
manageShortTrade();
}
return(0);
}
//---FUNCTIONS---
//--
void requestLongOrder(){
if(hourTRADE==Hour() && GroupSW1B){
//--
Lots = CalcLots ();
ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,3,currentPrice-stopLoss,currentPrice+takeProfit,"My order ",06010,0,Green);
if(ticket<0){
//add email/sms alert here with GetLastError();
}
if(ticket>0){
openTrades = "long";
permit = "suspended";
}
}
}
void requestShortOrder(){
if(hourTRADE==Hour() && GroupSW1S){
//--
Lots = CalcLots ();
ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,currentPrice+stopLoss,currentPrice-takeProfit,"My order ",06010,0,Red);
if(ticket<0){
//add email/sms alert here with GetLastError();
}
if(ticket>0){
openTrades = "short";
permit = "suspended";
}
}
}
* 如同所附的屏幕截图,应该发生什么。
请帮助...
谢谢...
谢谢。
蠕变你好,Crexsking。
我唯一能想到的是,你可能需要对5位数的经纪人进行转换,在开始后,放上这样的东西
double pipMultiplier = 1; (在启动前)
开始()
{
如果(Digits==3 || Digits==5)
pipMultiplier = 10。
否则pipMultiplier = 1。
然后在每个点之后,像这样的点*pipMultiplier。
评论是如何解决的?
谢谢你的回答,罗伯特
这样的仪表盘是完美的,但我没有找到bb squeeze的仪表盘,而且我不知道如何改变现有的仪表盘来检测bb squeeze。
我自己的想法很简单,看起来像这样。
========
这只是针对几个不同的交易对,但正如我所说的,"评论 "一直在刷新。
编辑:好的,我修好了,不再需要帮助了嗨,Deorn。
很高兴听到你解决了你的挑战。能否分享一下你是如何纠正 "评论 "的刷新的?
祝你的编码工作顺利......!
罗伯特
你好,Deorn。
很高兴听到你解决了你的挑战。能否分享一下你是如何纠正 "评论 "的刷新的?
祝你的编码工作愉快......!
罗伯特我按照你说的用'objectcreate'做的。
我实现了10个不同货币对的M5到月度的时间框架。
Keltner Channels需要有准确的名称 "Keltner Channels",我选择了系数为1.5的设置20。
两者都是两个正常的指标
我将选择一个空白窗口来放置它
很抱歉,这是我的第一个自己的指标,但它能完成工作。
问候
你好,Crexsking。
我唯一能想到的是,你可能需要为5位数的经纪商进行转换,在开始后放上类似这样的东西
double pipMultiplier = 1; (在启动前)
开始()
{
如果(Digits==3 || Digits==5)
pipMultiplier = 10。
否则pipMultiplier = 1。
然后在每个点之后,像这样的点*pipMultiplier。嗨,mrtools,谢谢......
我会做的,但在此之前,我可以问一下......用5位数的经纪商转换它的关系是什么?
我的意思是......在这之前,系统无法识别侧向市场最后4根蜡烛中的牛市或熊市。
如果我输入这个代码,系统会识别它吗?
对不起,我的英语不好...
问候。
Crexsking
你好,mrtools,谢谢......
我会做的,但在此之前,我可以问......用5位数的经纪商来转换它的关系是什么?
我的意思是......在这之前,系统不能识别侧向市场最后4根蜡烛的牛市或熊市。
如果我输入这个代码,系统会识别它吗?
对不起,我的英语不好...
问候。
皱纹Crexsking,它会把它变成点数,所以如果你有.91135的开盘价和.90685的收盘价,差值是.0045,如果你是5位数的经纪人,点等于450,因为它除以.00001,但如果你使用转换,它正确地使45点,因为你然后除以.0001或.00001 x 10.至于识别牛或熊烛,真的不能说因为我没有看到任何其他错误与你的代码。
大玩家的编码...请帮助...
---- 已编辑
Ok done...
问题解决了。
问候。
crexsking
需要帮助
你好,对于所有的编码大师,我需要你的帮助,请。
如果我想创建水平线,蜡烛组(收盘-开盘)的上下限值很小,该如何编码呢?值(收盘-开盘)*100000=无极性,总是正的。我的蜡烛数量的外部内容。
例子。
extern int (close - open)*100000 = 10; // 其意思是(close - open)<= 10
extern int 蜡烛数的最大值=3。
"水平线上限"=取自该组中固有的最高开/收盘价
"水平线下限"=取自该组中固有的最高开盘/收盘价
向您致意。
谢谢你
...
我恐怕不明白你到底是什么意思。所以只回答了你问题的一部分。
如果你把5位数经纪商上的5位数符号的差值乘以100000,那么你将得到所需的数值,但如果该符号是日元的一个交叉点,你将得到远远超过这些数值的数值。此外,在4位数的经纪商,你也会得到更大的价值。为了防止这种情况,最好的方法是计算点差。这就是你如何做到这一点的方法。不管是什么符号或经纪人,它总是以点为单位。
至于最低和最高值,你可以用这样的代码找出一个范围内的最低低值和最高高值(这个例子被设定为寻找3个条形的范围,因为你正在谈论它):你好,对于所有的编码大师,我需要你的帮助,请。
如果我想创建水平线,蜡烛组(收盘-开盘)的上下限值很小,那么如何编码呢?值(收盘-开盘)*100000=无极性,总是正的。我的蜡烛数量的外部内容。
例子。
extern int (close - open)*100000 = 10; // 其意思是(close - open)<= 10
extern int 蜡烛数的最大值=3。
"水平线上限"=取自该组中固有的最高开/收盘价
"水平线下限"=取自该组中固有的最高开盘/收盘价
致以最诚挚的问候。
谢谢你恐怕我不太明白你的意思,所以只回答你问题的一部分。 如果你把5位数经纪商的5位数符号的差值乘以100000,那么你将得到所需的数值,但如果该符号是日元的一个交叉符号,你将得到远远超过这些数值的数值。此外,在4位数的经纪商,你也会得到更大的价值。为了防止这种情况,最好的方法是计算点差。这是你如何做到的。 :
很惊讶,我很高兴你回答了我的问题,Mladen先生。
但是,对不起,我仍然感到困惑,你会给完整的编码?值*100000我的意思是在读数时要简单,而不是0.0002(逗号后面的4位数),但如果你有更简单的方法,我会按照你的方法。实质上,当发现三根蜡烛(平衡区或买方=卖方或侧向区,每个TF都有不同数量的蜡烛)是小的(其值取自收盘-开盘之间的差异),我想画一条水平线,就像我上传的图片那样。这样我就可以通过这条线知道图表中的供需情况。或者你有这样一个指标吗?
致以最诚挚的问候。
谢谢您,Mladen先生