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

 
Air92:
こんにちは、Mladen.さんはこのインジケータのバージョンを作成されました。もし可能であれば、他のインジケータの例のように、ここに移動平均を別に作ることをお願いしたいのです。 ありがとうございます。

Air92

それはできません(すでに8つの描画バッファが 使用されている - メタトレーダー4は8つ以上の描画バッファを許可しない)

 
mladen:
Air92 それはできません(すでに8つの描画バッファを使用している - メタトレーダー4は8つ以上の描画バッファを許可していません)。

OK、Mladen、了解しました。

 

こんにちは、Mladenです。

このMACD MTF indiをEAに変換していただけないでしょうか。3つのtfでmacdが緑になったら買い、3つの赤になったら売る。

必要な設定:トレール、ブレークイーブン、スロス、オープンまたはクローズドバーでのエントリー、マジックナンバーとロットサイズ .低いtfではうまくいきます!よろしくお願いします。ありがとうございます。

ファイル:
 

こんにちは、私はフォーラムで私たちのすべてのために興味深いものを見つけました。私はそれに揮発性を追加するには、このMt4スクリプトに取り組んできましたが、できませんでした。このスクリプトは本当に機能している。CodergurusやMladinのようなプログラマーに、このスクリプトを見てもらいたいものだ。

#プロパティ indicator_chart_window

#プロパティ indicator_buffers 2

#property indicator_color1 Lime (プロパティ インジケータカラー1ライム)

#property indicator_color2 レッド

#property indicator_width1 4

#プロパティ indicator_width2 4

extern bool Alerts = TRUE;

double CrossUp[];

double CrossDown[];

bool CrossedUp = falseです。

bool CrossedDown = falseです。

int SignalLabeled = 0; // 0: 初期状態、1: アップ、2: ダウン。

int upalert=false,downalert=false;

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

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

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

int init()

{

//---- インジケータ

SetIndexStyle(0,DRAW_ARROW, EMPTY).SetIndexStyle(0,DRAW_ARROW)を設定します。

SetIndexArrow(0,233)を設定します。

SetIndexBuffer(0,CrossUp)を設定します。

SetIndexStyle(1,DRAW_ARROW, EMPTY).SetIndexBuffer(0,233)。

SetIndexArrow(1,234)を設定します。

SetIndexBuffer(1,CrossDown)を設定します。

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

//| カスタムインジケーターイテレーション関数

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

int start(){

int limit,i,counter;

double pnow;

double p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;

double SOT,SOT1,SOT2,SOT3,SOT4,SOT5,SOT6,SOT7,SOT8,SOT9,SOT10;

double SOTAV10;

double SOTAV2;

double Range, AvgRange;

int counted_bars=IndicatorCounted();

//---- エラーの可能性をチェック

if(counted_bars<0) return(-1);

//---- 最後にカウントされたバーが再カウントされる

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++) {

counter=i;

Range=0;

AvgRange=0;

for (counter=i;counter<=i+12;counter++)。

{

AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

}

Range=AvgRange/10;

// 現在の価格 クローズとオープン

double OpenPricenow = Open ;

double ClosePricenow = Close ;

double Volumenow = Volume ;

// ローソク足1

double OpenPrice1 = Open ;

double ClosePrice1 = Close ;

double Volume1 = Volume ;

// ローソク足2

double OpenPrice2 = Open ;

ダブルClosePrice2 = Close ;

ダブルボリューム2 = ボリューム ;

// ローソク足3

double OpenPrice3 = Open ;

ダブルClosePrice3 = Close ;

ダブルボリューム3 = ボリューム ;

// ローソク足4

double OpenPrice4 = Open ;

ダブルClosePrice4 = Close ;

ダブルボリューム4 = ボリューム ;

// ローソク足5

double OpenPrice5 = Open ;

ダブルClosePrice5 = Close ;

double Volume5 = Volume ;

// ローソク足6

double OpenPrice6 = Open ;

ダブルClosePrice6=Close ;

double Volume6=Volume ;

// ローソク足7

double OpenPrice7 = Open ;

ダブルClosePrice7=Close ;

double Volume7 = Volume ;

// ローソク足8

ダブルOpenPrice8 =Open ;

ダブルClosePrice8 =Close ;

double Volume8 =Volume;

// ローソク足9

double OpenPrice9 = Open ;

ダブルClosePrice9 = Close ;

double Volume9 = Volume ;

// ローソク足10

ダブルOpenPrice10 =Open;

ダブルClosePrice10=Close。

double Volume10=Volume;

pnow =(ClosePricenow - OpenPricenow);

SOT = (pnow / Volumenow)*10000;

p1=(ClosePrice1-OpenPrice1)。

SOT1= (p1 / Volume1) *10000;

p2 = (ClosePrice2 - OpenPrice2)。

SOT2 =(p2/ Volume2) *10000;

p3 =(ClosePrice3 - OpenPrice3)。

SOT3 =(p3/Volume3)*10000;

p4=(ClosePrice4-OpenPrice4)です。

SOT4=(p4/Volume4)*10000;

p5=(ClosePrice5-OpenPrice5)です。

SOT5=(p5/Volume5)*10000。

p6=(ClosePrice6-OpenPrice6)です。

SOT6 =(p6/Volume6)*10000。

p7=(ClosePrice7-OpenPrice7)です。

SOT7 =(p7 / Volume7)*10000;

p8 =(ClosePrice8 - OpenPrice8);

SOT8=(p8/Volume8)*10000;

p9 =(ClosePrice9-OpenPrice9);

SOT9 =(p9/Volume9)*10000。

p10 =(ClosePrice10 -OpenPrice10)。

SOT10=(p10/Volume10)*10000.SOT10=(p10/Volume10)*10000;

SOTAV10=(SOT1+SOT2+SOT3+SOT4+SOT5+SOT6+SOT7+SOT8+SOT9+SOT10/100*10);

sotav2 = (sotav10*2);

if ((SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1)){ (SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1))

CrossedUp=trueとする。

CrossedDown=falseです。

}

それ以外

if((SOT>SOTAV2)&&(ClosePrice1>OpenPrice1)&&(ClosePricenow>OpenPricenow)){ CrossedUp = false; } } else

CrossedUp = false;

CrossedDown = true;

}

if((CrossedUp==true)&&(SignalLabeled!=1)){ (CrossedUp=true)&(SignalLabeled!=1))。

CrossUp=Low-Range*1.3;

if(i<=2 && アラート && !アップアラート)

{

アラート(Symbol()," ",Period()," M Price UP ");

/SendMail("買い "+Symbol(),").SendMail("買い "+Symbol(),");

upalert=true。

downalert=false。

}

SignalLabeled = 1;

if ((CrossedDown == true) && (SignalLabeled != 2)) { { (CrossedDown = High + Range*1.3).

CrossDown = High + Range*1.3;

if(i<=2 && アラート && !ダウンアラート)

{

アラート(Symbol()," ",Period(), "M価格DOWN");

/SendMail("売り "+Symbol(),").SendMail("売り "+Symbol(),");

downalert=true。

upalert=false。

SignalLabeled = 2;

}

return(0);

}

これがこのソフトの原理です。

取引速度=単位時間当たりの(価格変動/出来高)=(オープン-クローズ)/デフォルト期間でのティック出来高。

現在のローソク足のSoTが選択した期間の平均SoTの2倍より大きい場合、次のローソク足は現在のローソク足と同じ方向になります。(当社のシグナルは現在のローソク足の終値で出すことができます)。

注意現在のローソク足の後に同じ色のローソク足が2~3本続く場合、シグナルは出ません。例として日付 E/J(始値) E/J(高値) E/J(安値) E/J(終値) 出来高(E/J) 方向 価格変動 スピード 11/06/2012 03:56:00 102.456 102.429 102.429 96 DOWN -0.027 2.81 11/06/2012 03:57:00 102.429 102.429 102.398 102.413 158 DOWN -0.016 1.01 スピードが 1.70 (14本平均)以上なので次のキャンドルがダウンすることを予測するものである。このインジケータは、スピードメーターのように見せることもできますし、ローソク足のシグナルと一緒に数字だけを表示させることもできます。これは、正しい判断をするために大いに役立つと思います。この背後にある理論は、すべての上昇または下降は、既存の力よりも大きな力または慣性を必要とするので、すぐに我々はそのような余分な力を見たり、キャプチャとして、我々はまた、次のろうそくの方向と値を決定することができるということです。

......................................................................................................................

 
Mastercash:
こんにちは、私はフォーラムで私たちのすべてのために興味深いものを見つけました。そこに次のろうそくの方向を予測するために役立つことができるこのソフトウェアです。私はそれに揮発性を追加するには、このMT4スクリプトに取り組んできましたが、できませんでした。このスクリプトは本当に働いている。私はCodergurusとMladinのようなプログラマがこのスクリプトを見てくださいしたい。それは本当に今うまく機能していません。

#property indicator_chart_window

#property インジケーターバッファー2

#property indicator_color1 ライム

#property indicator_color2 レッド

#property indicator_width1 4

#プロパティ indicator_width2 4

extern bool Alerts = TRUE;

double CrossUp[];

double CrossDown[];

bool CrossedUp = falseです。

bool CrossedDown = falseです。

int SignalLabeled = 0; // 0: 初期状態、1: アップ、2: ダウン。

int upalert=false,downalert=false;

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

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

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

int init()

{

//---- インジケータ

SetIndexStyle(0,DRAW_ARROW, EMPTY).SetIndexStyle(0,DRAW_ARROW)を設定します。

SetIndexArrow(0,233)を設定します。

SetIndexBuffer(0,CrossUp)を設定します。

SetIndexStyle(1,DRAW_ARROW, EMPTY).SetIndexBuffer(0,233)。

SetIndexArrow(1,234)を設定します。

SetIndexBuffer(1,CrossDown)を設定します。

//----

return(0);

}

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

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

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

int deinit()

{

//----

//----

return(0);

}

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

//| カスタムインジケーターイテレーション関数

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

int start(){

int limit,i,counter;

double pnow;

double p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;

double SOT,SOT1,SOT2,SOT3,SOT4,SOT5,SOT6,SOT7,SOT8,SOT9,SOT10;

double SOTAV10;

double SOTAV2;

double Range, AvgRange;

int counted_bars=IndicatorCounted();

//---- エラーの可能性をチェック

if(counted_bars<0) return(-1);

//---- 最後にカウントされたバーが再カウントされる

if(counted_bars>0) counted_bars--;

limit=Bars-counted_bars;

for(i = 0; i <= limit; i++) {

counter=i;

Range=0;

AvgRange=0;

for (counter=i;counter<=i+12;counter++)。

{

AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);

}

Range=AvgRange/10;

// 現在の価格 クローズとオープン

double OpenPricenow = Open ;

double ClosePricenow = Close ;

double Volumenow = Volume ;

// ローソク足1

double OpenPrice1 = Open ;

double ClosePrice1 = Close ;

double Volume1 = Volume ;

// ローソク足2

double OpenPrice2 = Open ;

ダブルClosePrice2 = Close ;

ダブルボリューム2 = ボリューム ;

// ローソク足3

double OpenPrice3 = Open ;

ダブルClosePrice3 = Close ;

ダブルボリューム3 = ボリューム ;

// ローソク足4

double OpenPrice4 = Open ;

ダブルClosePrice4 = Close ;

ダブルボリューム4 = ボリューム ;

// ローソク足5

double OpenPrice5 = Open ;

ダブルClosePrice5 = Close ;

double Volume5 = Volume ;

// ローソク足6

double OpenPrice6 = Open ;

ダブルClosePrice6=Close ;

double Volume6=Volume ;

// ローソク足7

double OpenPrice7 = Open ;

ダブルClosePrice7=Close ;

double Volume7 = Volume ;

// ローソク足8

ダブルOpenPrice8 =Open ;

ダブルClosePrice8 =Close ;

double Volume8 =Volume;

// ローソク足9

double OpenPrice9 = Open ;

ダブルClosePrice9 = Close ;

double Volume9 = Volume ;

// ローソク足10

ダブルOpenPrice10 =Open;

ダブルClosePrice10=Close。

double Volume10=Volume;

pnow =(ClosePricenow - OpenPricenow);

SOT = (pnow / Volumenow)*10000;

p1=(ClosePrice1-OpenPrice1)。

SOT1= (p1 / Volume1) *10000;

p2 = (ClosePrice2 - OpenPrice2)。

SOT2 =(p2/ Volume2) *10000;

p3 =(ClosePrice3 - OpenPrice3)。

SOT3 =(p3/Volume3)*10000;

p4=(ClosePrice4-OpenPrice4)です。

SOT4=(p4/Volume4)*10000;

p5=(ClosePrice5-OpenPrice5)です。

SOT5=(p5/Volume5)*10000。

p6=(ClosePrice6-OpenPrice6)です。

SOT6 =(p6/Volume6)*10000。

p7=(ClosePrice7-OpenPrice7)です。

SOT7 =(p7 / Volume7)*10000;

p8 =(ClosePrice8 - OpenPrice8);

SOT8=(p8/Volume8)*10000;

p9 =(ClosePrice9-OpenPrice9);

SOT9 =(p9/Volume9)*10000。

p10 =(ClosePrice10 -OpenPrice10)。

SOT10=(p10/Volume10)*10000.SOT10=(p10/Volume10)*10000;

SOTAV10=(SOT1+SOT2+SOT3+SOT4+SOT5+SOT6+SOT7+SOT8+SOT9+SOT10/100*10);

sotav2 = (sotav10*2);

if ((SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1)){ (SOT>SOTAV2)&&(ClosePrice1<OpenPrice1)&&(ClosePricenow<OpenPrice1))

CrossedUp=trueとする。

CrossedDown=falseです。

}

それ以外

if((SOT>SOTAV2)&&(ClosePrice1>OpenPrice1)&&(ClosePricenow>OpenPricenow)){ CrossedUp = false; } } else

CrossedUp = false;

CrossedDown = true;

}

if((CrossedUp==true)&&(SignalLabeled!=1)){。

CrossUp=Low-Range*1.3;

if(i<=2 && アラート && !アップアラート)

{

アラート(Symbol()," ",Period()," M Price UP ");

/SendMail("買い "+Symbol(),").SendMail("買い "+Symbol(),");

upalert=true。

downalert=false。

}

SignalLabeled = 1;

if ((CrossedDown == true) && (SignalLabeled != 2)) { { (CrossedDown = High + Range*1.3).

CrossDown = High + Range*1.3;

if(i<=2 && アラート && !ダウンアラート)

{

アラート(Symbol()," ",Period(), "M価格DOWN");

/SendMail("売り "+Symbol(),").SendMail("売り "+Symbol(),");

downalert=true。

upalert=false。

SignalLabeled = 2;

}

return(0);

}

これがこのソフトの原理です。

取引速度=単位時間当たりの(価格変動/出来高)=(オープン-クローズ)/デフォルト期間でのティック出来高。

現在のローソク足のSoTが選択した期間の平均SoTの2倍より大きい場合、次のローソク足は現在のローソク足と同じ方向になります。(当社のシグナルは現在のローソク足の終値で出すことができます)。

注意現在のローソク足の後に同じ色のローソク足が2~3本続く場合、シグナルは出ません。例として日付 E/J(始値) E/J(高値) E/J(安値) E/J(終値) 出来高(E/J) 方向 価格変動 スピード 11/06/2012 03:56:00 102.456 102.429 102.429 96 DOWN -0.027 2.81 11/06/2012 03:57:00 102.429 102.429 102.398 102.413 158 DOWN -0.016 1.01 スピードが 1.70 (14本平均)以上なので次のキャンドルがダウンすることを予測するものである。このインジケータは、スピードメーターのように見せることもできますし、ローソク足のシグナルと一緒に数字だけを表示させることもできます。これは、正しい判断をするために大いに役立つと思います。理論的には、すべての上昇や下降は、既存の力よりも大きな力や慣性を必要とするので、できるだけ早く我々はそのような余分な力を見たり、キャプチャ、我々はまた、次のろうそくの方向と値を決定することができますされていることです。

マスターキャッシュ

私はそれがコードに何かをする前に、いくつかのランタイムテストを必要とすることがわかりますように。市場が開くとすぐに何ができるかを参照してください。

 

こんにちは

このスクリプトにコードを追加したいのですが、どなたかお手伝いいただけないでしょうか。jarroo_level_picker.mq4

このスクリプトは、燭台の半分の下に落とすか下に落とすかで、燭台の開閉に線を引きます。また、後でどの燭台で使われたか分かるように、燭台の下か下に小さな矢印を描いて欲しいです

よろしくお願いします。

ファイル:
 
Andrewsurfer:
こんにちは

このスクリプトにコードを追加したいのですが、どなたかお手伝いいただけないでしょうか。jarroo_level_picker.mq4

このスクリプトは、燭台の半分の下に落とすか下に落とすかで、燭台の開閉に線を引きます。また、後でどの燭台で使われたかを知るために、燭台の下か下に小さな矢印を描いて欲しいです

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

アンドリュース・サーファー

このバージョンを試してみてください。これは、矢印を追加しませんが、どのキャンドルが使用されたバーで線の色と同じ色のバーを追加します。

ファイル:
 
mladen:
Andrewsurfer このバージョンを試してみてください。それは矢印を追加しませんが、ろうそくが使用されたバーで線の色と同じ色のバーを追加します。

申し訳ありませんが、何の変化も感じられません。まだ青い線だけで、他の記号はありません。

 
Andrewsurfer:
申し訳ありませんが、私は何の変化も見ません。まだ青い線だけで、他の記号はありません。

でスクリプトをドロップしたバーで1行余分に(写真のように)作成されています。

ファイル:
v_line.gif  36 kb
 
mladen:
画像にあるように、スクリプトをドロップしたバーで1行余分な行が作成されます。

MT4のチャートをフォアグラウンドにする設定を間違えていたのですが、今は動作しています。

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