//+------------------------------------------------------------------+ //| Proverka.mq4(プロベルカ) //| アスビー //| | //+------------------------------------------------------------------+ #property copyright"asb" #プロパティリンク "" extern int Bar_First_1=3; extern int Bar_Sec_1=0; extern int Applied_Price_First; extern int int Applied_Price_Sec;
//+------------------------------------------------------------------+ int start() { //----
ごきげんよう。褒めているととるか、逆に褒めているととるかわかりませんが、いずれにせよ、回答ありがとうございました。
残念ながら解決策が見つからないので、メインは品質と文法だと思うのですが、これについては、私の理解では、コードが行かなかったので、まだギャップがあります。
質問に対する回答を待っています...。
使用するすべてのインジケーターが揃っていないと、何もチェックできない。
特に、すべてのインジケータの正しさを確認する必要があるため、私の質問に対する回答を待っています。
使用するすべてのインジケーターがないと、何もチェックできない
すべてのインジケータが正しく動作していることを確認する必要があります。
ビクター、ごきげんよう。
また、2つの指標が関係しています。彼らのコードはシンプルだ。そのコードを添付します。
ご参加、ご協力ありがとうございました。
EQUITYとBALANCEの概念とその違いに慣れ親しむ。
このインジケータは、リアルタイムでエクイティラインを表示します。エクイティラインは未決済ポジションの現在の損益であるため、「キーポイント(注文の決済)で本当にエクイティを決定することが可能」-不可能なので、決済したポジションのエクイティラインの変化を検討することになるのです。
"エクイティは過去のデータに基づいて何とか計算されている" - いいえ。この指標は、市場のオープンポジションに基づいて、現在の瞬間のエクイティラインを計算します。
だから、後で分析できるようにファイルに保存しておく必要があります。
double m[x][y]のような配列にいくつのセルを作れるか; double m[10000][10000]; を試しましたが、コンパイラは顔をしかめます、どこで調べればいいでしょうか? 。
この効果を説明できる人はいるのだろうか。可視化ではangle_line 変数を返すが(angleを返す)、テスト実行では返さない(0を返す)。ありがとうございます。
//+------------------------------------------------------------------+
//| Proverka.mq4(プロベルカ)
//| アスビー
//| |
//+------------------------------------------------------------------+
#property copyright"asb"
#プロパティリンク ""
extern int Bar_First_1=3;
extern int Bar_Sec_1=0;
extern int Applied_Price_First;
extern int int Applied_Price_Sec;
//+------------------------------------------------------------------+
int start()
{
//----
double a_price_UP= iMA(NULL,0,1,0,0,Applied_Price_First,Bar_First_1);
double a_price_DOWN=iMA(NULL,0,1,0,0,Applied_Price_Sec, Bar_Sec_1);
double angle_line=ObjectGet("LineAngle",OBJPROP_ANGLE)。
Print(" angle_line ",angle_line," a_price_UP ",a_price_UP," a_price_DOWN ",a_price_DOWN)を実行。
SetTLineByAngle(Red, "LineAngle",Time[Bar_First_1],a_price_UP,Time[Bar_Sec_1],a_price_DOWN,0,0,0) になります。
//----
//----
return(0)です。
}
//+----------------------------------------------------------------------------+
void SetTLineByAngle(color cl, string nm=",
datetime t1=0, double p1=0, datetime t2=0, double p2=0,
double an=0, bool ry=False, int st=0, int wd=1) {.
if (nm=="") nm=DoubleToStr(Time[0], 0);
if (t1<=0) t1=Time[0];
if (p1<=0) p1=Bid;
if (t2<=0) t2=Time[0];
if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0;)。
ObjectSet(nm, OBJPROP_TIME1, t1)です。
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2, t2)です。
if (p2>0) ObjectSet(nm, OBJPROP_PRICE2, p2);
else ObjectSet(nm, OBJPROP_ANGLE, an);
ObjectSet(nm, OBJPROP_COLOR, cl)です。
ObjectSet(nm, OBJPROP_RAY, ry)です。
ObjectSet(nm, OBJPROP_STYLE, st)です。
ObjectSet(nm, OBJPROP_WIDTH, wd)を使用します。
}
//+----------------------------------------------------------------------------+
Kimiv SetTLineByAngleからの関数、信頼性が高く、どこで間違うかわからない。
一般的には、最後の1枚から順番に見ていくとよいでしょう。2つ目のケースでは、条件に括弧をつけることを恐れてはいけません。
なぜ、この条件が最初のケースで考慮されず、2番目のケースで考慮されるのか、詳しく説明してください。