インジケーターからデータを取得する方法は? - ページ 5

 
_new-rena:

...その手でいつ?

科学的手法ってどこで?


これが最初の結果です。

//+------------------------------------------------------------------+

//| Sovetnik_RegressionPolynomial.mq4 |

//| Retabs 2014 |

//| www.----- |

//+------------------------------------------------------------------+

#property copyright "Retabs 2014"

#property link "www.-----"

#property version "1.00"

#property strict

//--- input parameters

input int StopLoss=60;

input int TakeProfit=100;

input double Lots=1.00;

input int Shift=5;

//+------------------------------------------------------------------+

//| Expert initialization function |

//+------------------------------------------------------------------+

int OnInit()

{

//---

//---

return(INIT_SUCCEEDED);

}

//+------------------------------------------------------------------+

//| Expert deinitialization function |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

//---

}

//+------------------------------------------------------------------+

//| Expert tick function |

//+------------------------------------------------------------------+

void OnTick()

{

//---

double val1=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,1,0);

double val2=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,2,0);

if(val1>val2)OrderSend(Symbol(),OP_BUY,Lots,Ask,Shift,StopLoss,TakeProfit,"коммент",5371533,0,Red);

else OrderSend(Symbol(),OP_SELL,Lots,Bid,Shift,StopLoss,TakeProfit,"коммент",5371533,0,Blue);

}

//+------------------------------------------------------------------+
 

ただ、テスターでエラーが出るのは理解できない。

 
Retabs:

ただ、テスターでエラーが出るのは理解できない。


SRCボタンから、見やすいタブでコードを挿入してください!!!!そして、スプロールを削除してください

では、ルールに従って貼り付けられたあなたのコードを削除します

そして、まずはこのスレッドの初心者向けアドバイスを三角で読んでみることです。

フォーラムナビゲーター、よくある質問とその回答。ぜひ読んでみてください。 ( 1 2 3 4 5 6 )5218.02.2011faq
 
borilunad:

SRCボタンから、見やすいタブでコードを挿入してください!!!!そして、なりすましを削除してください

では、ルールに従って貼り付けられたあなたのコードを削除します

そして、まずはこのスレッドの初心者向けアドバイスを三角で読んでみることです。

フォーラムナビゲーター、よくある質問とその回答。ぜひ読んでみてください。 ( 1 2 3 4 5 6 )5218.02.2011faq



訂正させていただきます。SRCボタンから すでにコードを 挿入しています。

あなたが書いたように、ルールに従って貼り付けた ものであるなら、なぜ私のコードを削除するのですか?

 
Retabs:

ただ、テスターでエラーが出るのは理解できない。

それを肝に銘じて、鼻の上の一番大きなノミを使いましょう。プログラミングにおけるカウントは0から始まります。インジケーターバッファーも例外ではありません。
 
evillive:
それを素直に受け止めて、鼻に一番大きなノミを使いましょう。プログラミングは0から数えます。インジケーターバッファーも例外ではありません。


包み込むように。修正しました。エラーだけは直らなかった。同じく、Strategy Testerのログでは、Sovetnik_RegressionPolynomial EURUSD,M1:OrderSenderror 130となって います。

 

誰も理由を知らない?

 
Retabs:


これが最初の結果です。

最後に

130の誤差は、ストップ高とテイクオーバーによるものです。トリガーとなるべき価格水準があるはずです。(確かに価格-100や60を待つのではなく、例えば価格-100*ポイントや価格+60*ポイントのようなものがあるはずです)

 
_new-rena:

最後に

130の誤差は、ストップ高とテイクオーバーによるものです。発動させるべき価格水準があるはずです。(確かに価格レートが-100や60を待っているわけではなく、例えば価格-100*ポイントや価格+60*ポイントのようにする必要があります)


ありがとうございます。今すぐ修正します。
 
_new-rena:

最後に

130の誤差は、ストップ高とテイクオーバーによるものです。トリガーとなるべき価格水準があるはずです。(確かに価格-100や60を待つのではなく、例えば価格-100*ポイントや価格+60*ポイントのようなものがあるはずです)


やったー!!!(笑時間がかかりましたが、エラー130は 消え、他のものは取り除けました。今は動いています。

買いと売りでオープンし、TPまたはSLでクローズします。ただ、今はたくさん開くんですよ

一方の取引が終了するまで、他方の取引を開始しないようにするにはどうすればよいですか?

//+------------------------------------------------------------------+
//|                                Sovetnik_RegressionPolynomial.mq4 |
//|                                                      Retabs 2014 |
//|                                                        www.----- |
//+------------------------------------------------------------------+
#property copyright "Retabs 2014"
#property link      "www.-----"
#property version   "1.00"
#property strict
//--- input parameters
input int   StopLoss=60;
input int   TakeProfit=100;
input double   Lots=0.10;
input int   Shift=5;

double SL;
double TP;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   double val1=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,0,0);
   double val2=iCustom(NULL,0,"RegressionPolynomial",10000,55,5,2,0,1,0);
   
 
   if(val1>val2)
   OrderSend(Symbol(),OP_BUY, Lots,Ask,Shift,Ask-StopLoss*Point,Ask+TakeProfit*Point,"коммент",5371533,0,Red);
   
   
   if(val1<val2)
   OrderSend(Symbol(),OP_SELL,Lots,Bid,Shift,Bid+StopLoss*Point,Bid-TakeProfit*Point,"коммент",5371533,0,Blue);
   
   
  }
//+------------------------------------------------------------------+