コーディングのヘルプ - ページ 88

 

Mladenさんへ。

基本的な質問で申し訳ないのですが、コードに日付と時間の操作が必要な場合、いつも困ってしまいます。数日前にこのフォーラムに投稿されたAverageJoe EAの97行目に120という 定数があります。

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

その120の 測定単位は何ですか?

よろしくお願いします。

Chrisstoff

 
mladen:
Chrisstoff これらは秒数です(メタトレーダーは私の記憶が間違っていなければ1.1.1970から秒数で時間を保存しますが、ポイントはdatetime変数が宣言されているかCurrentTime()などの関数が呼ばれると常に秒数で動作することです)。

ムラデンです。

迅速な対応をありがとうございました。

 
chrisstoff:
ムラデンさんへ

基本的な質問で申し訳ないのですが、コードに日付と時間の操作が必要な場合、いつも困ってしまいます。数日前にこのフォーラムに投稿されたAverageJoe EAの97行目に120という 定数があります。

if (OrderType() == OP_SELL && CurTime()-LastSellTime >=120) result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red );

その120の 測定単位は何ですか?

よろしくお願いします。

Chrisstoff

クリスストッフ

それは秒です(メタトレーダーは1970年1月1日からの経過秒数で時間を保存しますが、ポイントはdatetime変数が宣言されているかCurrentTime()のような関数が 呼ばれているときは常に秒を使って動作することです)。

 

インジケーターの修正 ありがとうございました

#プロパティ indicator_chart_window

#property indicator_buffers 5

//---- 入力パラメータ

extern int TimeFramePeriod;

extern int N=100;

//

extern double CustoMA1;

extern double CustoMA2; // extern double CustoMA2;

extern double CustoMA3; extern double CustoMA3;

extern double CustoMA4;

extern double high20;

extern double low20;

//

#property indicator_color1 レッド

#property indicator_color2 ライム

#property indicator_color3 オレンジ

#property indicator_color4 レッド

//--- バッファ

double CustoMA1[];

double CustoMA2[];

double CustoMA3[];

double CustoMA4[];

double tr[];

//

int init() {

SetIndexStyle(0, DRAW_LINE).SetIndexBuffer(0,CustoMA1)を設定します。

SetIndexBuffer(0, CustoMA1).SetIndexStyle(1,DRAW_LINE)を設定します。

SetIndexStyle(1, DRAW_LINE)を設定します。

SetIndexBuffer(1, CustoMA2);

SetIndexStyle(2, DRAW_LINE)を設定します。

SetIndexBuffer(2, CustoMA3);

SetIndexStyle(3, DRAW_LINE)を設定します。

SetIndexBuffer(3, CustoMA4);

SetIndexStyle(4, DRAW_LINE)を設定します。

SetIndexBuffer(4,tr)を設定します。

return (0);

}

//---- バッファ

double buff[];

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

//| カスタムインジケータ 初期化関数

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

//int init()

//{

//if (Bars < MIN_BARS_REQUIRED) return(-1);

//IndicatorDigits(Digits);

//SetIndexStyle(0、DRAW_LINE、STYLE_SOLID、2)を設定します。

//SetIndexBuffer(0, buff);

//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";

//IndicatorShortName("" + paramDesc);

// インデックスラベルを設定

//SetIndexLabel(0, "" + paramDesc);

//----

//return(0);

}

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

//| カスタムインジケータ初期化関数

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

int start()

{

int Limit;

int counted_bars=IndicatorCounted();

//----

if(counted_bars<0)リターン(-1);

if(counted_bars>0) counted_bars--;

int limit=Bars-counted_bars;

int i=0;

for (i=Mathmin(Bars-5,Limit);i>=0;i--);

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low));

higt20=H=HV(H,N).low20=L=LLV(L,H,N);

low20=L=LLV(L,N)。

//

MA1=H-tr[]*0.1;

MA2=H-tr[]*0.2;

MA3=L+tr[]*0.1;

MA4=L+tr[]*0.2です。

//

CustoMA1=REF(MA1,BarsSince(higt20));

CustoMA2=REF(MA2,BarsSince(higt20));

CustoMA3=REF(MA3,BarsSince(low20))とします。

CustoMA4=REF(MA4,BarsSince(low20))。

//

Plot(CustoMA1, "TREND",colorRed);

Plot(CustoMA2, "TREND",colorLime); // プロット(CustoMA2, "TREND",colorLime);

Plot(CustoMA3, "TREND",colorOrange); // プロット(CustoMA3, "TREND",colorOrange);

Plot(CustoMA4, "TREND",colorRed);

//----

return(0);

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

string getPeriodDesc(int aNumMinutes)

{

switch(aNumMinutes)

{

case PERIOD_M1 : return("M1")。

case PERIOD_M15 : return("M15")。

case PERIOD_M30: return("M30"); case PERIOD_H1 : return("M1");

case PERIOD_H1 : return("H1")。

case PERIOD_H4 : return("H4")。

case PERIOD_D1 : return("D1")。

case PERIOD_W1 : return("W1")。

case PERIOD_MN1 : return("MN1")。

case 0: return("Chart");

default: return("M" + aNumMinutes);

}

}

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

//| |

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

double getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift])));

}

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

//| |

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

int start()

{

for(int shift=Bars-1;shift>=0;shift--)

{

buff[shift]=getDeMarker(shift)。

}

return(0);

}

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

申し訳ありません。ここにコードを貼り付けてください

Kreangast

2013/5/21

 
Kreangast:
インジケータを修正する ありがとうございます!

#property indicator_chart_window

#property indicator_buffers 5

//---- 入力パラメータ

extern int TimeFramePeriod;

extern int N=100;

//

extern double CustoMA1;

extern double CustoMA2; // extern double CustoMA2;

extern double CustoMA3; extern double CustoMA3;

extern double CustoMA4;

extern double high20;

extern double low20;

//

#property indicator_color1 レッド

#property indicator_color2 ライム

#property indicator_color3 オレンジ

#property indicator_color4 レッド

//--- バッファ

double CustoMA1[];

double CustoMA2[];

double CustoMA3[];

double CustoMA4[];

double tr[];

//

int init() {

SetIndexStyle(0, DRAW_LINE).SetIndexBuffer(0,CustoMA1)を設定します。

SetIndexBuffer(0, CustoMA1).SetIndexStyle(1,DRAW_LINE)を設定します。

SetIndexStyle(1, DRAW_LINE)を設定します。

SetIndexBuffer(1, CustoMA2);

SetIndexStyle(2, DRAW_LINE)を設定します。

SetIndexBuffer(2, CustoMA3);

SetIndexStyle(3, DRAW_LINE)を設定します。

SetIndexBuffer(3, CustoMA4);

SetIndexStyle(4, DRAW_LINE)を設定します。

SetIndexBuffer(4,tr)を設定します。

return (0);

}

//---- バッファ

double buff[];

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

//| カスタムインジケータ初期化関数

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

//int init()

//{

//if (Bars < MIN_BARS_REQUIRED) return(-1);

//IndicatorDigits(Digits);

//SetIndexStyle(0、DRAW_LINE、STYLE_SOLID、2)を設定します。

//SetIndexBuffer(0, buff);

//string paramDesc = "("+getPeriodDesc(TimeFramePeriod) + ", "")";

//IndicatorShortName("" + paramDesc);

// インデックスラベルを設定

//SetIndexLabel(0, "" + paramDesc);

//----

//return(0);

}

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

//| カスタムインジケータ初期化関数

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

int start()

{

int Limit;

int counted_bars=IndicatorCounted();

//----

if(counted_bars<0)リターン(-1);

if(counted_bars>0) counted_bars--;

int limit=Bars-counted_bars;

int i=0;

for (i=Mathmin(Bars-5,Limit);i>=0;i--);

tr[]=MathMax(MathMax(High-Low,MathAbs(Close-High)),MathAbs(Close-Low));

higt20=H=HV(H,N).low20=L=LLV(L,H,N);

low20=L=LLV(L,N)。

//

MA1=H-tr[]*0.1;

MA2=H-tr[]*0.2;

MA3=L+tr[]*0.1;

MA4=L+tr[]*0.2です。

//

CustoMA1=REF(MA1,BarsSince(higt20));

CustoMA2=REF(MA2,BarsSince(higt20))。

CustoMA3=REF(MA3,BarsSince(low20))とします。

CustoMA4=REF(MA4,BarsSince(low20))。

//

Plot(CustoMA1, "TREND",colorRed);

Plot(CustoMA2, "TREND",colorLime); // プロット(CustoMA2, "TREND",colorLime);

Plot(CustoMA3, "TREND",colorOrange); // プロット(CustoMA3, "TREND",colorOrange);

Plot(CustoMA4, "TREND",colorRed);

//----

return(0);

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

string getPeriodDesc(int aNumMinutes)

{

switch(aNumMinutes)

{

case PERIOD_M1 : return("M1")。

case PERIOD_M15 : return("M15")。

case PERIOD_M30: return("M30"); case PERIOD_H1 : return("M1");

case PERIOD_H1 : return("H1")。

case PERIOD_H4 : return("H4")。

case PERIOD_D1 : return("D1")。

case PERIOD_W1 : return("W1")。

case PERIOD_MN1 : return("MN1")。

case 0: return("Chart");

default: return("M" + aNumMinutes);

}

}

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

//| |

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

double getDeMarker(int aShift)

{

return(iDeMarker(NULL, TimeFramePeriod, 13, iBarShift(NULL, TimeFramePeriod, Time[aShift])));

}

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

//| |

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

int start()

{

for(int shift=Bars-1;shift>=0;shift--)

{

buff[shift]=getDeMarker(shift)。

}

return(0);

}

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

申し訳ありません。ここにコードを貼り付けてください

Kreangast

2013/5/21

これは、誰かがtadestationのコードとmetatraderのコードを組み合わせようとしているのです。それはそのように動作しませんし、そのように結合することはできません。

 

mladenさんへ

MT4には大丈夫でしたか?TSコードのセクションは、私はMT4を書くことはありません。ありがとうございます。

Kreangast

2013-5-21

 
Kreangast:
へ:mladen

あなたは大丈夫MT4にすることができますか?TSコードのセクションは、私はMT4を書くことはありません。ありがとうございました。

Kreangast

2013-5-21

あなたが投稿したものから、それはそれが何をすべきかを確認することはできません。

 

mladen さんへ

どうすればいいのでしょうか?

ありがとうございました。

クレアンガスト

 
Kreangast:
mladenへ

どうすればいいのでしょうか?

ありがとうございます。

Kreangast

まずは、https://www.mql5.com/en/forum/172969/page2、それからtradestationの同様のものを読んで、コードをあるコーディング言語から別のコーディング言語へ変換することができます。

 
mladen:
開始するために、まず、これらを読まなければならないでしょう:https://www.mql5.com/en/forum/172969/page2 そして、tradestationのための同様の何か、その後、1つのコーディング言語から別のコーディング言語へのコードを変換することができます。

しかし、このコードは、トラブル、MT4大丈夫に書き込まないのですか?非常に感謝しています

Kreangast

2013/5/21