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

 

mladenありがとうございます....

しかし、動作しない....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

ファイル:
1223123.png  22 kb
 
rizkyd:

mladenありがとうございます....

しかし、動作しない....

私はコードのこの平和はあなたが興味を持つことができると思います。

グラフィックオブジェクトを使用する代わりに、私は通常のバッファを使用していました。

この指標は、常にH1とD1を比較します。

だから、それはH1のタイムフレームより上の価格をマークすることはありません、しかし、それは意志

H1と同じかそれ以下のタイムフレームにマークされます。時々

下位の時間枠では奇妙に見えますが(バーを早くマークするような)、よく見ると

しかし、1時間単位のシフトに近いものを見れば、それは大丈夫です。

のようになります。

dhl_e.mq4

ファイル:
dhl_e.mq4  3 kb
gbpusdh1.png  30 kb
 
Kalenzo:
私はコードのこの平和はあなたに興味があるかもしれないと思います。

グラフィックオブジェクトを使う代わりに、通常のバッファを使用しました。

この指標は常にH1とD1を比較します。

だから、H1より上の値段はマークしないが、H1と同じか下の値段はマークする。

H1と同じかそれ以下のタイムフレームにマークします。時々

下位の時間枠では奇妙に見えますが(バーを早くマークするような)。

しかし、1時間単位のシフトに近いものを見れば、それは大丈夫です。

という感じです。

dhl_e.mq4

ありがとうカレンゾ...このインディを試してみます。

 
rizkyd:

mladenありがとうございます....

しかし、動作しない....

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

//| text.mq4 |

//| Copyright 2013, MetaQuotes Software Corp. |

//| http://www.metaquotes.net |

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

#property copyright "Copyright 2013, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net"

#property indicator_chart_window

extern int timeframe1 = PERIOD_H1;

extern int timeframe2 = PERIOD_D1;

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

//| Custom indicator initialization function |

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

int init()

{

return(0);

}

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

//| Custom indicator deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| Custom indicator iteration function |

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

int start()

{

int counted_bars=IndicatorCounted();

//----

string name1="";

string name2="";

color color1;

color color2;

double H1 = iClose(NULL,timeframe1,0);

double D1H = iHigh(NULL,timeframe2,1);

double D1L = iLow(NULL,timeframe2,1);

if(H1>D1H)

{

name1 = "up"; color1 = Blue;

}

if(H1<D1L)

{

name2 = "down"; color2 = Red;

}

ObjectCreate("signal",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal",OBJPROP_XDISTANCE,3);

ObjectSet("signal",OBJPROP_YDISTANCE,12);

ObjectSetText("signal",name1,12,"Tahoma",color1);

ObjectCreate("signal2",OBJ_LABEL,0,0,0,0,0);

ObjectSet("signal2",OBJPROP_XDISTANCE,59);

ObjectSet("signal2",OBJPROP_YDISTANCE,12);

ObjectSetText("signal2",name2,12,"Tahoma",color2);

//----

return(0);

}

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

あなたは2つの異なる時間枠を比較しています。

もし、時間枠1の現在のバーが時間枠2の最後の閉じたバーより高いか低いなら、メッセージが表示されるでしょう。もし、時間枠1の現在のバーが時間枠2の前の高値と安値より高くも低くもない場合は、何も表示されません。投稿されたコードからは、それがあなたの意図であるように思えました(私のテストでは、問題なく動作しました)。

___________________

追記:ヒストリカルデータ(過去のデータ)にはテキストは表示されません。もしヒストリカルデータに表示させたいのであれば、古典的なインジケーターとは全く異なる書き方をする必要があります。

 

フィボラインに依存してストップロスやテイクプロフィットを 自動的に配置するEA

こんにちは

ストップロスとテイクプロフィットを注文ごとに設定できるEAを作りたいです。

EAは、販売価格または購入価格を参照してくださいする必要があり、例えば購入価格のための例。

38.2ラインと50ラインの間で注文を開始すると、EAは自動的にfibo=23.6より前の1ラインに損切りを置き、fibo=61.8より後の1ラインに利食いすることができます。

この手順でEAは売りポジションのために行う。例えば、ポジションが売りストップ@ X価格と38.2 fibo<x<50 fibo!である場合、EAは自動的に23.2 fiboに利食いする。EAは自動的に23.6フィボで利食い、61.8フィボで損切りします。

誰かこのEAのコードで私を助けることができるか、またはこのEAの類似のコードを教えてください

****注。

フィボラインは前日の安値と高値で自動的に計算されます。

Tnx

 
mladen:
2つの異なるタイムフレームを比較しています。

タイムフレーム1の現在のバーがタイムフレーム2の直近のクローズしたバーより高いか低い場合、メッセージが表示されます。もし、時間枠1の現在のバーが時間枠2の前の高値と安値より高くないか安くない場合は、何も 表示されません。投稿されたコードからは、それがあなたの意図であるように思えました(私のテストでは、問題なく動作しました)。

___________________

PS: ヒストリカルデータ(過去のデータ)にはテキストは表示されません。もし、ヒストリカルデータに表示させたい場合は、古典的なインジケーターとは全く異なる記述をする必要があります。

もし時間があれば、ヒストリカルデータを表示するようにしてください。

PS : この指標は、トレンドアップやトレンドダウンを表示するのに役立ちます。

 
rizkyd:
もし時間があれば、ヒストリカルデータを表示するようにしてください...。 PS : このindiは、私にトレンドアップまたはトレンドダウンを表示するのに役立ちます。

rizkyd

マルチタイムフレームのドンチャンネルを使って みましたか(例えば、ドンチャンネルのタイムフレームを日足、期間を1に設定すると、あなたが探しているものとほとんど同じものが得られます)。

 

新参者がアドバイス/ヘルプを求める

こんにちは。

私はFXの初心者で、今はインジケータとEAに興味があります。mq4コードについてはある程度理解していますが、私が望むものを得るにはまだ十分ではありません。そこで、専門家やmq4コーディングについて十分な知識を持つ人々からアドバイスやヘルプを求めたいと思います。

私の現在のタスクは、EAにカスタムインジケータを 追加することで、ついでに素敵なEAテンプレート(と思う)も手に入れたので、それを共有しようと思っています。

さて、私のインジケータからの最終的な売買シグナルは以下の通りです:g_ibuf_BUY[1]g_ibuf_SELL[1]

この部分は、インジケータが音を鳴らしたり、ポップアップしたり、メールを送ったりするときのコードです。

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}

次のステップは、これらのシグナルをEAテンプレートに追加することでしょうか?iCustom関数か何かでインジケータに追加してからでないと使えないのでしょうか?どんな助けでも感謝されます。ありがとうございました。

ファイル:
 
otnepx:
こんにちは。

私はFXの初心者で、今のところインジケータとEAに興味があります。mq4コードについてはある程度理解していますが、私が望むものを得るにはまだ十分ではありません。そこで、専門家やmq4コードについて十分に知っている人からのアドバイスや助けを求めたいと思います。

私の現在のタスクはEAにカスタムインジケータを追加することです。ところで、私は素敵なEAテンプレートを手に入れました(と思う)それをあなたと共有するつもりです さて、私のインジケータからの最終的な買い/売りシグナルは次のとおりです:g_ibuf_BUY[1]g_ibuf_SELL[1]

ここで、サウンド、ポップアップ、メール送信を行うコードの一部を紹介します。

void Alert_PlaySound_SendMail() {

string ls_ms = "MS PRO";

if (g_ibuf_BUY[1] == Low[1] - Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": BUY | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessBuySound(Buy_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - BUY signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

if (g_ibuf_SELL[1] == High[1] + Arrow_Distance * Point && gi_flag_alert != Time[0]) {

if (Alert_PopUp_On) Alert(ls_ms + ": SELL | " + Symbol() + " " + TfToStr(Period()) + " | ", TimeToStr(TimeLocal(), TIME_SECONDS), " | " + DoubleToStr(Ask, 4));

PlaySound(ProcessSellSound(Sell_Sound));

gi_flag_alert = Time[0];

if (Send_Email) {

SendMail(ls_ms + " Alert! ", Symbol() + " " + TfToStr(Period()) + " - SELL signal issued at " + TimeToStr(TimeLocal(), TIME_SECONDS) + " on " + TimeToStr(TimeCurrent(),

TIME_DATE) + " (Last price: " + DoubleToStr(Ask, 4) + ")" + "\r\n \r\n Scalper PRO");

}

}

}
次のステップは、これらのシグナルをEAテンプレートに追加することでしょうか?iCustom関数か何かでインジケータに追加してからでないと使えないのでしょうか?どんな助けでも感謝されます。ありがとうございました。

アラートを別のコード(インジケータ、EA)にインポート することはできません。

iCustom()を使用するのが最もクリーンな方法です。

 

Mladen/MrToolsの皆様へ。

以下のロジックで1分足チャート用のIndicatorを作りたいのですが・・・。また、チャート上に売買の矢印が表示されるようにしてほしいです。

買いエントリーのロジック

1分足のEMA(90)が1分足のEMA(390)をクロスオーバーする(直前のEMA90がEMA390より小さく、EMA90がEMA150より大きければ良いという意味)。

買い終了のロジック

1分足のEMA(90)>EMA(390)かつEMA(90)<EMA(150)。

売りエントリーのロジック:

1分足のEMA(90)が1分足のEMA(390)を下回る(直前の1分足のEMA(90)がEMA(390)より大きい)、かつEMA(90)がEMA(150)よりも小さくなければならない。

売りのロジック

1分足のEMA(90) ema(150)です。

*******************************************************

同じロジックのネストコードも以下に共有します。

買いアラート表現

EMA(CLOSE,90) > EMA(CLOSE,390) and REF(EMA(CLOSE,90),1) EMA(CLOSE,150)

買い終了条件

EMA(CLOSE,90) > EMA(CLOSE,390)かつ EMA(CLOSE,90) < EMA(CLOSE,150)

売り警戒式

EMA(CLOSE,90) REF(EMA(CLOSE,390),1) and EMA(CLOSE,90) < EMA(CLOSE,150)

売り終了条件

EMA(終値,90) EMA(終値,150)です。

ありがとうございます。

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