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

 
tfi_markets:
こんにちは、プロコーダさん。

警告が表示されるのですが。"check operator precedence for possible error; use parenthes to clarify precedence" という警告が表示されます。

if ((STC115)||(STC185)&&(Ask>emaFilter && ADXmain>25))

{

OpenBuy();

}

.AND (Ask>emaFilter) の記述もMT4では無視されるようです。

どなたかアドバイスをお願いします。

事前にありがとうございます。

このように書くとよいでしょう。

if (((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) ) と書くべきでしょう。

しかし、それは主にあなたが正確に何をテストしたいかに依存します。この警告は、以前は && (and) と || (or) の優先順位が異なっていたため、それを逆転させ、すべての論理比較をチェック しなければならなくなったため発生しました。

 
mladen:
おそらく、このように書くべきでしょう。

if (((STC115) || (STC185)) && (Ask>emaFilter && ADXmain>25) )

しかし、それは主にあなたが正確に何をテストしたいかに依存します。この警告は、以前は && (and) と || (or) の優先順位が異なっていたため、それを逆転させ、すべての論理比較をチェックしなければならないようにしたものです。

Mladenさん、こんにちは。

ご指摘ありがとうございます。試してみますね。いつも大変助かっています

簡単に言うと、EAがトレードを開始する前に3つの括弧がすべて真になる必要があるということです。

あなたのコードがこの機能を 提供するのでしょうね。

よろしくお願いします。

T.

 

コーダーです。

どなたか、次のことを教えていただけませんか?

エリオット波動スクリプトを使って、手動で波動をラベル付けしています。スクリプトはチャート上に8つの異なるオブジェクトを配置します(i,ii,iii,iv,v,a,b,c)。

すべてうまくいくのですが、オブジェクトを削除するのが大変です。なぜなら、削除するためには、すべてのオブジェクト(i,ii,iii,iv,v,a,b,c)をクリックしなければならないからです。オブジェクトを1回クリックするだけで、すべてのオブジェクト(i,ii,iii,iv,v,a,b,c)をハイライトできるようなコードを追加したいのですが、可能でしょうか?すでに検索しましたが、私が必要とする関数を 見つけることができませんでした。

(チャート上のすべてのオブジェクトを削除するスクリプトを探しているわけではありません。)

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

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

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

#property version "1.00"

#property strict

#include

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

//| Script program start function |

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

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

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

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

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

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

//+------------------------------------------------------------------+
 
xtractalpha:
コーダー

どなたか次のことを教えていただけませんか?

私はエリオット波動スクリプトを使って手動で波動をラベル付けしています。スクリプトはチャート上に8つの異なるオブジェクトを配置します(i,ii,iii,iv,v,a,b,c).

すべてうまくいくのですが、オブジェクトを削除するのが大変です。なぜなら、削除するためには、すべてのオブジェクト(i,ii,iii,iv,v,a,b,c)をクリックしなければならないからです。オブジェクトを1回クリックするだけで、すべてのオブジェクト(i,ii,iii,iv,v,a,b,c)をハイライトできるようなコードを追加したいのですが、可能でしょうか?すでに検索しましたが、私が必要とする関数を見つけることができませんでした。

(チャート上のすべてのオブジェクトを削除するスクリプトを探しているわけではありません。)

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

//+------------------------------------------------------------------+//| wave labels ff.mq4 |

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

#property version "1.00"

#property strict

#include

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

//| Script program start function |

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

extern string Text1 = "(i)"; // Enter Text to place on screen

extern string Text2 = "(ii)"; // Enter Text to place on screen

extern string Text3 = "(iii)"; // Enter Text to place on screen

extern string Text4 = "(iv)"; // Enter Text to place on screen

extern string Text5 = "(v)"; // Enter Text to place on screen

extern string Text6 = "(a)"; // Enter Text to place on screen

extern string Text7 = "(b)"; // Enter Text to place on screen

extern string Text8 = "(c)"; // Enter Text to place on screen

extern string Text_font="Arial Bold"; // font of text

extern int Text_fontsize = 14; // size of text

extern color Text_color = Red; // color of text

int TextBarsAhead2 = 7; // # bars to space 2nd letter from first

int TextBarsAhead3 = 14; // # bars to space 3rd letter from first

int TextBarsAhead4 = 21; // # bars to space 4th letter from first

int TextBarsAhead5 = 28; // # bars to space 5th letter from first

int TextBarsAhead6 = 35; // # bars to space 6th letter from first

int TextBarsAhead7 = 42; // # bars to space 7th letter from first

int TextBarsAhead8 = 49; // # bars to space 8th letter from first

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

//+-----------------------------SCRIPT CODE--------------------------+

int OnStart(){

double price = WindowPriceOnDropped(); // find the price point where dropped

datetime Time1 = WindowTimeOnDropped(); // find the time point where dropped

datetime TimeNow = TimeCurrent(); // get the current time ( makes name unique)

datetime Time2 = (int)Time1+TextBarsAhead2*(int)Period()*60;

datetime Time3 = (int)Time1+TextBarsAhead3*(int)Period()*60;

datetime Time4 = (int)Time1+TextBarsAhead4*(int)Period()*60;

datetime Time5 = (int)Time1+TextBarsAhead5*(int)Period()*60;

datetime Time6 = (int)Time1+TextBarsAhead6*(int)Period()*60;

datetime Time7 = (int)Time1+TextBarsAhead7*(int)Period()*60;

datetime Time8 = (int)Time1+TextBarsAhead8*(int)Period()*60;

string gap=" "; // spacing between text characters

string text=Text1+gap+Text2+gap+Text3+gap+Text4+gap+Text5; // put the text in a line

TextToPrint ("Wave labels 1 " + (string)TimeNow, Text1, Text_fontsize, Text_font, Text_color, Time1, price); //print 1st letter

TextToPrint ("Wave labels 2 " + (string)TimeNow, Text2, Text_fontsize, Text_font, Text_color, Time2, price); //print 1st letter

TextToPrint ("Wave labels 3 " + (string)TimeNow, Text3, Text_fontsize, Text_font, Text_color, Time3, price); //print 1st letter

TextToPrint ("Wave labels 4 " + (string)TimeNow, Text4, Text_fontsize, Text_font, Text_color, Time4, price); //print 1st letter

TextToPrint ("Wave labels 5 " + (string)TimeNow, Text5, Text_fontsize, Text_font, Text_color, Time5, price); //print 1st letter

TextToPrint ("Wave labels 6 " + (string)TimeNow, Text6, Text_fontsize, Text_font, Text_color, Time6, price); //print 1st letter

TextToPrint ("Wave labels 7 " + (string)TimeNow, Text7, Text_fontsize, Text_font, Text_color, Time7, price); //print 1st letter

TextToPrint ("Wave labels 8 " + (string)TimeNow, Text8, Text_fontsize, Text_font, Text_color, Time8, price); //print 1st letter

return(0);

}

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

void TextToPrint(string TextName,string LabelText,int FontSize,string FontName,color TextColor,datetime Time0,double Price0)

{

if(StringLen(LabelText)>1){

ObjectCreate(TextName,OBJ_TEXT,0,Time0,Price0);

ObjectSetText(TextName,LabelText,FontSize,FontName,TextColor);

}

}

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

xtractalpha

deinit() プロシージャにクリーンアップの部分を追加してください。

あなたの場合、それはあなたのコードが作成した各オブジェクトのObjectDelete(objectName)でしょう。

 

こんにちは、Mladenです。

以下のコンパイルエラーについて教えてください。

ファイル:
 
candyman752:
こんにちは、Mladenさん。以下のコンパイルエラーについて教えてください。

今すぐ確認する :genie_stoch_rsittt_1.mq4

ファイル:
 

親愛なるムラデン

この素晴らしいIndyをありがとうございます。

ヒストグラムバージョンは可能でしょうか?

 
SLAVOLJUB:
親愛なるMladen

この偉大なインディのためのサンクス

ヒストグラムバージョンは可能ですか?

それは可能です購入し、2つの信号線は 完全に無視され、カットされなければなりません。

 
mladen:
可能です。その場合、2本の信号線は完全に無視され、切り取られなければなりません。

大丈夫です、この赤と緑のラインだけが必要です。

(ヒストグラムのような赤緑の線)

事前にありがとうございました

 

Mladenさん、こんにちは。

EAにトレーリングストップのコードを追加しました。2つのコンパイルエラーが発生します。コードを追加する際の説明書には

どのように使用するのですか?

以下のコードをExpert Advisorプログラムの任意の場所に配置し、Start()関数内でfunctiontrail2(#ticket)を呼び出して ください。しかし、それは保留中の順序ではなく、ライブの順序である必要があります。

{...(あなたのコード)

ticket=ordersend(...)です。

...

}

..

トレイル2(チケット)

またはtrail2(ticket, 300, 40, 250, 100)

..

ファイル:
wip.mq4  8 kb