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

 

ご回答ありがとうございます。

このようなダッシュボードがあれば完璧なのですが、bb squeeze では見つかりませんでしたし、既存のダッシュボードを bb squeeze で検出できるように変更する方法がわかりません。

私自身のアイデアはとてもシンプルで、こんな感じです。

int Current;

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

//| expert start function |

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

int start() {

int USDCHF, GBPUSD, EURUSD, AUDUSD;

double upperBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, Current + 0);

double upperKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 0, Current + 0);

double lowerBB_USDCHF = iBands("USDCHF", 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, Current + 0);

double lowerKC_USDCHF = iCustom("USDCHF", 0, "Keltner Channels", 20, 2, Current + 0);

if(upperBB_USDCHFlowerKC_USDCHF)

Comment(": BollingerSqueeze for USDCHF");

return(0);

}

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

しかし、私が言ったように、「コメント」は常にリフレッシュされます。

edit: OK、私はそれを修正しました。

 
crexsking:
こんにちは、Mladen さん、そしてメンバーの皆さん。

私は「大きなローソクの動き」(Open[0]-Close[0] > 32 pips またはその逆)のあるチャートパターンと、ユーロドル(FXOpenのH1 <---最も正確なローソクのサイズとパターン)を取引しています...。

ということで、インジケータは全くありませんでした。トレード哲学だけです。

このロジックでEAを作ろうと思っているのですが、何かが足りないような気がしています...。

何か欠けているもの」とは何でしょうか?

-大きなローソク足が発生する前に、システムが最後の4つのローソク足 < 20pips (open - close or vice versa)を計算することです。

一方、何が起こったかというと、私のmql4コーディングは、大きなろうそくの前に最後の4つのろうそくを読んでいません...私はとても混乱しています...

何が起こるべきかというと

1.ビッグキャンドルの時間 :-)

- 3pm,4pm,5pm(London Open) ..n....8pm,9pm,10pm(US Open) <---- 私はマレー人なので、コンピュータをGMT 8.00++に切り替えてください。

2.大きなローソク足のサイズ :-)

- 32 pips n above ( もし、20 pips n belowの前にサイドウェイがあれば )

- 42 pips n above ( もし、前のサイドウェイが20 pips n aboveなら)

3.サイドウェイ市場 :-)

- 最低4時間、50pips以下であり、異なる色を持っている必要があります。

4.4.ボイドまたは危険な市場(市場キャンセル):<---この市場条件が発生した場合、取引はできません。

1.ロンドンオープン前のサイドウェイ B、B、B、B上昇またはS、S、S下降 <--- B、B、B、B = キャンドル 買い、買い、買い、買い...の連続。

2.2.日足ゾーンの最大値で大きなローソク足が閉じる。 <---- 75 pips 最小値 高値 安値

3.大きなキャンドルは午後10時に発生します。 <----- GMT 8++ またはマレーシア時間

4.大きなろうそくが大きすぎると80ピップ以上。

5.5.ロンドンオープンの前に50ピップス以上のキャンドルがあります。

6.東京セッションで上向きの市場とロンドンオープンで上向きの大きなろうそくの形(下向きの場合はその逆)。

コーディングの問題は、添付してください: - 。

extern double trigger = 32;

extern double sideway = 20;

extern int hour1 = 6;

extern int hour2 = 7;

extern int hour3 = 8;

extern int hour4 = 9;

extern int hourCB = 10;

extern int hourTRADE = 11;

extern int TradeTimeStart = 0;

extern int TradeTimeEnd = 23;

//---Variables

double currentPrice = 0.00000;

static datetime barStart;

string openTrades = "none";

int ticket;

int i = 0;

double lotSize;

double CBB = 0;

double CBS = 0;

double CBBT;

double CBST;

double PreviousCBB;

double PreviousCBS;

double CS1B;

double CS2B;

double CS3B;

double CS4B;

double CS5B;

double CS6B;

double CS1S;

double CS2S;

double CS3S;

double CS4S;

double CS5S;

double CS6S;

double CS1BT;

double CS2BT;

double CS3BT;

double CS4BT;

double CS1ST;

double CS2ST;

double CS3ST;

double CS4ST;

double PreviousCS1B;

double PreviousCS2B;

double PreviousCS3B;

double PreviousCS4B;

double PreviousCS1S;

double PreviousCS2S;

double PreviousCS3S;

double PreviousCS4S;

double GroupSW1B;

double GroupSW2B;

double GroupSW3B;

double GroupSW4B;

double GroupSW5B;

double GroupSW6B;

double GroupSW1S;

double GroupSW2S;

double GroupSW3S;

double GroupSW4S;

double GroupSW5S;

double GroupSW6S;

string permit = "suspended";

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

//| expert initialization function |

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

int init()

{

//----

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

//----

return(0);

}

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

//| expert start function |

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

int start(){

CBB=(Close[1]-Open[1])/Point;

CBS=(Open[1]-Close[1])/Point;

CBBT=(hourCB==Hour());

CBST=(hourCB==Hour());

PreviousCBB = (CBB == CBBT);

PreviousCBS = (CBS == CBST);

CS1B=(Close[7]-Open[7])/Point;

CS2B=(Close[6]-Open[6])/Point;

CS3B=(Close[5]-Open[5])/Point;

CS4B=(Close[4]-Open[4])/Point;

CS5B=(Close[3]-Open[3])/Point;

CS6B=(Close[2]-Open[2])/Point;

CS1S=(Open[7]-Close[7])/Point;

CS2S=(Open[6]-Close[6])/Point;

CS3S=(Open[5]-Close[5])/Point;

CS4S=(Open[4]-Close[4])/Point;

CS5S=(Open[3]-Close[3])/Point;

CS6S=(Open[2]-Close[2])/Point;

CS1BT=(hour1==Hour());

CS2BT=(hour2==Hour());

CS3BT=(hour3==Hour());

CS4BT=(hour4==Hour());

CS1ST=(hour1==Hour());

CS2ST=(hour2==Hour());

CS3ST=(hour3==Hour());

CS4ST=(hour4==Hour());

PreviousCS1B = (CS1B == CS1BT);

PreviousCS2B = (CS2B == CS2BT);

PreviousCS3B = (CS3B == CS3BT);

PreviousCS4B = (CS4B == CS4BT);

PreviousCS1S = (CS1S == CS1ST);

PreviousCS2S = (CS2S == CS2ST);

PreviousCS3S = (CS3S == CS3ST);

PreviousCS4S = (CS4S == CS4ST);

GroupSW1B = (CS3B<sideway&&CS4S<sideway&&CS5B<sideway&&CS6S=trigger);

GroupSW1S = (CS3S<sideway&&CS4B<sideway&&CS5S<sideway&&CS6B=trigger);

currentPrice = iClose(NULL,0,0);

Comment("Price Continuation\n",

"Status: ",status()

);

//----Trade Algorithm

//trade hours value...

if(TradeTimeStart <= Hour() && Hour() <= TradeTimeEnd){

if(openTrades == "none" && permit == "approved"){

requestLongOrder();

requestShortOrder();

}

else{

requestPermit();

}

}

if(openTrades == "long"){

manageLongTrade();

}

if(openTrades == "short"){

manageShortTrade();

}

return(0);

}

//---FUNCTIONS---

//--

void requestLongOrder(){

if(hourTRADE==Hour() && GroupSW1B){

//--

Lots = CalcLots ();

ticket = OrderSend(Symbol(),OP_BUY,Lots,Ask,3,currentPrice-stopLoss,currentPrice+takeProfit,"My order ",06010,0,Green);

if(ticket<0){

//add email/sms alert here with GetLastError();

}

if(ticket>0){

openTrades = "long";

permit = "suspended";

}

}

}

void requestShortOrder(){

if(hourTRADE==Hour() && GroupSW1S){

//--

Lots = CalcLots ();

ticket = OrderSend(Symbol(),OP_SELL,Lots,Bid,3,currentPrice+stopLoss,currentPrice-takeProfit,"My order ",06010,0,Red);

if(ticket<0){

//add email/sms alert here with GetLastError();

}

if(ticket>0){

openTrades = "short";

permit = "suspended";

}

}

}

* スクリーンショットが添付されているように何が起こるべきでしょうか。

助けてください...

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

ありがとうございます。

クレックスキング

こんにちは、Crexsking。

唯一考えられるのは、5桁のブローカー用に変換する必要があるかもしれないことで、開始後に次のようなものを置きます。

double pipMultiplier = 1; (開始前)

int start()

{

if (桁数==3 || 桁数==5)

pipMultiplier = 10;

else pipMultiplier = 1;

そして、すべての Point の後に、Point*pipMultiplier のような値を指定します。

 

コメントはどのように解決されたのですか?

Deorn:
ご回答ありがとうございます。

このようなダッシュボードがあれば完璧なのですが、bb squeeze では見つかりませんでしたし、既存のダッシュボードを bb squeeze で検出できるように変更する方法がわかりません。

私自身のアイデアはとてもシンプルで、次のようなものでした。

========

しかし、私が言ったように、'Comment' は常に更新されます。

edit: OK, I fixed it, no help needed anymore.

こんにちは、Deorn。

課題を解決されたようで、なによりです。コメント "の更新を修正するために何をしたのか、教えていただけますか?

コーディング、楽しんでください

ロバート

 
cosmiclifeform:
こんにちは、Deorn。

課題を解決されたとのことで、素晴らしいです。コメント」のリフレッシュを修正するために何をしたのか、教えていただけますか...?

楽しくコーディングしてください...!

ロバート

おっしゃるとおり、objectcreateで作りました。

10種類のペアでM5から月足までのタイムフレームで実現しました。

ケルトナー・チャンネルは正確には 'Keltner Channels' という名前で必要で、私はファクター1.5で設定20を選びました。

両方とも2つの通常の指標です。

私はそれを置くために空白のウィンドウを選択します。

私の初めての自作インジケータなので、プログラミングが不細工で申し訳ないのですが、これで仕事はできます。

ご挨拶

ファイル:
 
mrtools:
こんにちは、Crexsking。

唯一考えられるのは、5桁のブローカー用に変換する必要があるかもしれないので、開始後に次のようなものを置きます。

double pipMultiplier = 1; (開始前)

int start()

{

if (桁数==3 || 桁数==5)

pipMultiplier = 10;

else pipMultiplier = 1;

そして、すべてのPointの後に、Point*pipMultiplierのようなものが表示されます。

こんにちは、mrtoolsさん、ありがとうございます...

私はそれを行うだろうが、その前に尋ねることができます...5桁のブローカーでそれを変換するためにどのような関係でしょうか?

つまり...これ以前は、サイドウェイ市場の最後の4本のローソク足では、システムは強気か弱気を認識することができません。

このコードを入れれば、システムはそれを認識するのでしょうか?

私の貧しい英語で申し訳ありません...

よろしくお願いします。

crexsking

 
crexsking:
こんにちはmrtoolsさん、ありがとうございます...

その前に、5桁のブローカーで変換する関係はどうなっているのでしょうか?

つまり...これ以前は、サイドウェイ市場の最後の4本のローソク足では、システムは強気か弱気かを認識することができません。

このコードを入れれば、システムはそれを認識するのでしょうか?

私の貧しい英語で申し訳ありません...

よろしくお願いします。

crexsking

Crexsking、それはピップにそれをもたらすので、例えば、あなたが開いて.91135と閉じて.90685を持っている場合、その差は.0045ですあなたが5桁のブローカーポイントにいる場合、それは.00001で割ったので450と等しくなりますが、あなたが変換を使用している場合は、正しくそれを作る45ピップ、なぜならあなたはその後.0001または.00001×10で割っているためです。

 

大選手のコーディング...助けてください...

\\---- ♪♪~

よし完了...

問題解決だ。

よろしくお願いします。

よろしく

 

ヘルプが必要

すべてのマスターのコーディングのためにこんにちは、私はあなたの助けを必要としてください。

私は水平線を 作成したい場合はどのようなコーディングについてろうそくのグループの上限と下限(閉じる - 開く)が値で小さいです。値(閉じる - 開く)* 100000 =極性がなく、常に正である。外部コンテンツの私のろうそく番号。

例を示します。

extern int(閉じる - 開く)* 100000 = 10; // その平均(閉じる - 開く)<= 10

extern int キャンドルの最大数= 3。

"水平線上限" = グループ内で最も高い開閉を内在しているものから取得

「水平線の下限」=グループ固有の最も高い開閉値から取る

よろしくお願いします。

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

ファイル:
 

...

私はあなたが何を意味するのか正確に理解していないのが怖いですので、あなたの質問の一部だけを答える。

5桁のブローカーで5桁のシンボルの差に100000を掛けると、希望する値が得られますが、シンボルが例えばJPYクロスの一つである場合、その値をはるかに超える値が得られることになります。また、4桁のブローカーでは、より大きな値を持つことになります。それを防ぐために、最良の方法は、ピップスで差を計算することです。これは、あなたがそれを行うことができます方法です。
double pipMultiplier = 1;

if (Digits==3 || Digits==5) pipMultiplier = 10;

//

//

// calculate the difference in pips

//

//

double difference = MathAbs((Close[shift] - Open[shift])/(Point*pipMultiplier));[/PHP]

そして、それはシンボルやブローカーに関係なく、常にピップスでされます

最小値と最大値として、次のようなコードでバーの範囲の最低値と最高値を見つけることができます(この例は、あなたがそれについて話しているように3バーの範囲を見るように設定されています):
【PHP】double highest = high;

double lowest = low;

paijowijaya:
すべてのマスターのコーディングのためにこんにちは、私はあなたの助けを必要としてください。

私は水平線を作成したい場合はどのようなコーディングについてろうそくのグループの上限と下限(閉じる - オープン)は、値が小さいです。値(クローズ - オープン)* 100000 =極性がなく、常に正である。外部コンテンツの私のろうそく番号。

例を示します。

extern int(閉じる - 開く)* 100000 = 10; // その平均(閉じる - 開く)<= 10

extern int キャンドルの最大数= 3。

"水平線上限" = グループ内で最も高い開閉を内在しているものから取得

「水平線の下限」=グループ固有の最も高い開閉値から取る

よろしくお願いします。

ありがとうございました。
 
mladen:
5桁のブローカーで5桁のシンボルの差に100000を掛けた場合、希望する値が得られますが、そのシンボルが例えば円クロスであれば、その値をはるかに超える値が得られることになります。また、4桁のブローカーでは、より大きな値を持つことになります。それを防ぐために、最良の方法は、ピップスで差を計算することです。これは、あなたがそれを行うことができる方法です。
double pipMultiplier = 1;

if (Digits==3 || Digits==5) pipMultiplier = 10;

// calculate the difference in pips

double difference = MathAbs((Close[shift] - Open[shift])/(Point*pipMultiplier));[/PHP]

:
[PHP]double highest = high;

double lowest = low;

私の質問に答えてくれて、とてもうれしいです。

しかし、申し訳ありませんが、私はまだ混乱している、あなたは完全なコーディングを与えるのだろうか?値* 100000私は0.0002(カンマの後ろに4桁)ではなく、読書で簡単にすることを意味しますが、あなたはより簡単な方法を持っている場合、私はあなたの方法に従います。本質的には、(その値は、クローズとの差から取られる - オープン)私はちょうど私がアップロードした画像として水平線を 描きたい小さい3キャンドル(バランスゾーンまたは買い手=売り手または横道ゾーン、それぞれのTFその異なる数)を発見したときに、。この線によって、チャートの需要と供給がわかります。または、そのようなインジケータはありますか?

よろしくお願いします。

Mladen様、ありがとうございます。