编码帮助 - 页 628

 
annbeea:
谢谢

但我对编码是个新手

如果一个名为xyz的mt4指标有以下参数,我能否将其改为

外置 int A=9;

外置int B=14;

外置 int D = 10;

和自定义部分 asE= iCustom(Null,timeframe, "xyz",A,B,D,BufferNumber,Shift); 但我不太理解BufferNumber和Shift?

尊敬的女士们、先生们

请查看此主题以了解详情:https://www.mql5.com/en/forum/173108

 

嗨,Mladen。

可能我觉得我之前犯了一些错误。

xyz应该是这样的。

外来的int A=9;

外置int B=14;

extern double D = 10;

question1:and icustom partasE= iCustom(Null,timeframe, "xyz",A,B,D,0,pos); is it ok/ correct? thanks.

question2:and icustom partasE= iCustom(Null,timeframe, "xyz",A,B,0,pos); how about if I intentionally or mistakenly missing the D in icustom sentence, is it ok work or missing something in display or calculation or total incorrect? Thanks for comments.

 
annbeea:
嗨 mladen,

可能我觉得我之前犯了一些错误。

xyz应该是这样的。

extern int A=9;

外置int B=14;

extern double D = 10;

question1:and icustom partasE= iCustom(Null,timeframe, "xyz",A,B,D,0,pos); is it ok/rect?

question2:和icustom部分asE= iCustom(Null,timeframe, "xyz",A,B,0,pos); 如果我故意或错误地漏掉icustom句子中的D,它是否可以工作或在显示或计算中丢失一些东西或完全不正确? 谢谢评论。

如果你从参数列表的尾部省略一个参数,将使用参数的默认值,但请阅读该主题以了解iCustom()函数 的使用方法和iCustom()函数的具体参数。

 

嗨 mladen

我的编码水平很低,因为我以前只学过很原始的计算机,我只想让一些东西为我工作,而不需要太复杂的编码,大多数事情我都不是很明白,甚至读过这个主题。

因为我甚至不清楚double、string等概念的区别。

但我的问题是,似乎这里的关键是D,所以我的问题是:是否:extern int D=10或extern double D=10,icustom partasE= iCustom(Null,timeframe, "xyz",A,B,D,0,pos); 是否可以/正确?

 
annbeea:

嗨 mladen

我的编码水平很低,因为我以前只学过很原始的计算机,我只想让一些东西为我工作,而不需要太复杂的编码,大多数事情我都不是很明白,甚至读过这个主题。

因为我甚至不清楚double、string等概念的区别。

但我的问题是,似乎这里的关键是D,所以我的问题是:是否:extern int D=10或extern double D=10,icustom partasE= iCustom(Null,timeframe, "xyz",A,B,D,0,pos); 是否可以/正确? 谢谢

ǞǞǞǞ

是的,这是对的

 

你好 Mladen ,

我想知道关于图表上的射线可以调整到我想要的右边多长?

如何改变这个 >

ObjectSet("mMyLine", OBJPROP_RAY, false);
extern color mCol = Red, mCol2 = Blue, mCol3 = White;
extern int mWid = 2, mHist = 100, mDays = 5;

//+------------------------------------------------------------------+
int init()
  {
      ObjectCreate("mMyLine", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine", OBJPROP_COLOR, mCol);
      ObjectSet("mMyLine", OBJPROP_RAY, false);

      ObjectCreate("mMyLine2", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine2", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine2", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine2", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine2", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine2", OBJPROP_COLOR, mCol2);
      ObjectSet("mMyLine2", OBJPROP_RAY, false);
      
      ObjectCreate("mMyLine3", OBJ_TREND, 0, 0, 0, 0, 0);
      ObjectSet("mMyLine3", OBJPROP_STYLE, STYLE_SOLID);
      ObjectSet("mMyLine3", OBJPROP_TIME1, Time[mHist]);
      ObjectSet("mMyLine3", OBJPROP_TIME2, Time[0]);
      ObjectSet("mMyLine3", OBJPROP_WIDTH, mWid);
      ObjectSet("mMyLine3", OBJPROP_COLOR, mCol3);
      ObjectSet("mMyLine3", OBJPROP_RAY, false);

   return(0);
  }

//+------------------------------------------------------------------+
int deinit()
  {
   ObjectDelete("mMyLine");
   ObjectDelete("mMyLine2");
   ObjectDelete("mMyLine3");
   return(0);
  }

//+------------------------------------------------------------------+
int start()
  {
   double mH = 0, mL=0, mM = 0;
   
   mH = iHigh(NULL, 1440, iHighest(NULL, 1440, MODE_HIGH, mDays, 1));
   mL = iLow(NULL, 1440, iLowest(NULL, 1440, MODE_LOW, mDays, 1));
   mM = mL + (mH - mL) / 2;
   ObjectSet("mMyLine", OBJPROP_PRICE1, mH);
   ObjectSet("mMyLine", OBJPROP_PRICE2, mH);
   ObjectSet("mMyLine2", OBJPROP_PRICE1, mL);
   ObjectSet("mMyLine2", OBJPROP_PRICE2, mL);
   ObjectSet("mMyLine3", OBJPROP_PRICE1, mM);
   ObjectSet("mMyLine3", OBJPROP_PRICE2, mM);


   return(0);
  }
 

请尝试让箭头在信号蜡烛收盘后出现,以避免重绘,但都无济于事。

请帮助我,先生。TOOLS和MLADEN,以下是附件。
 

mladen & mrtools

我有一个EA,它的交易是自爆的。我需要帮助建立一个可以添加到现有EA中的Void或功能。这个函数需要解决。

输入 bool doBasketExit = true; // 检查篮子退出条件
Input double BasketTP = 250.0; // Basket Take Profit(Account Currency) The chart Pair
输入 double BasketSL = -100.0; // Basket Stop Loss (Account Currency) 图表对

我在H1上用激进的EA运行9个货币对/图表,我想在9个图表中的每一个上进行特定货币对的篮子交易。
以下是我刚刚发生的情况。9个图表正在运行,3个图表正在交易,当然是3个独立的货币对,每个都有15笔交易,是的,有45笔交易,2个在盈利,1个严重亏损。我在寻找一种方法,将15个交易的每组/对分别加起来,并将每组交易与一个篮子的SL和TP边界进行对比。我找到了一个篮子的设置,但当然需要完善。诀窍是让同一对交易从订单盈利交易栏中加起来。通过在一个有特定货币对的图表上,我想我找到了一个无效的方法,但它有点复杂。该函数必须以某种方式按交易对读取OrderProfit?

请看我的代码作为一个可怜的例子。

void closeTrades( CURRENCY* &currencies[] ) {
// 检查一揽子退出
if ( doBasketExit ) {
double basketProfit = getBasketProfit();
如果( ( ( BasketTP > 0.0 ) && ( basketProfit > BasketTP ) )||
( ( BasketSL < 0.0 ) && ( basketProfit < BasketSL ) ) ){
closeAll();
}
}
double getBasketProfit() {
double basketProfit = 0.0;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--){
如果(OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
如果 ( OrderMagicNumber() == MagicNumber ) {
如果 ( (OrderType() == OP_BUY)|| (OrderType() == OP_SELL) ){
basketProfit += OrderProfit() + OrderSwap() + OrderCommission()。
}
}
}
}
return(basketProfit);
}

void closeAll() {
double closePrice;
字符串 symbolName;
int result;
for (int iOrder=OrdersTotal()-1; iOrder >= 0; iOrder--){
如果(OrderSelect(iOrder,SELECT_BY_POS,M ODE_TRADES)) {
如果 ( OrderMagicNumber() == MagicNumber ) {
如果 ( (OrderType() == OP_BUY)|| (OrderType() == OP_SELL) ){
symbolName = OrderSymbol();
closePrice = ( OrderType() == OP_BUY ) ?MarketInfo( symbolName, MODE_BID ) : MarketInfo( symbolName, MODE_ASK ) 。
结果 = OrderCloseReliable(OrderTicket(), OrderLots(), closePrice, 50)。
}
}



真的很感谢你对这个问题的关注

谢谢

 
stevenpun:

你好 Mladen ,

我想知道图表上的射线可以调整到我想要的右边多长?

如何改变这个 >

试着做一下。

而不是

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]);
//
//
//   try this
//   use the NumberOfDaysToTheRight for the number of days to extend it to the right
//   you have to update this in the start procedure on every tick and for every ray that you created
//
//

ObjectSet("mMyLine", OBJPROP_TIME2, Time[0]+PERIOD_D1*60*NumberOfDaysToTheRight);
 
kapoo:

请尝试让箭头在信号蜡烛收盘后出现,以避免重绘,但都无济于事。

请帮我解决这个问题。TOOLS和MLADEN,以下是附件。

卡普

目前上传工作无法进行,所以我无法看到你的文件。

一旦这些问题得到解决,我们将继续。好吗?