Lesson 13 初めてのExpert Advisor (パート1) - ページ 5

 
KelchMonteiro:
mladenさん、本当にありがとうございます。

今、見たよ。

私もそうしました。見てください。

新しい人生のために-1.ex4

for_a_new_life-1_1.mq4

私は私のバージョンをテストしていた、あまりにもあなたのをテストします。

このインジケータが正しければ、反転ポイントを捕らえるのに、いくつかの素晴らしいことをしました。

両移動平均の差を2倍力で割ることで、トレンドの反転をより高感度に表示できるからだ。他のボーダー指標で試してみてください。

写真もあります。

これはフォーラムへの私の最初の貢献であるため、私はあまりにもうれしいです。そして、私はあなたの助けなしでそれを行うことができませんでした。

Mladenさん、ありがとうございました。

Kelch

1つだけ変更したのは、その方向を変えたことです。この方法で、もう少し論理的な値が表示されるようになったようです。この方法も試してみてください。

for_a_new_life-1.01.mq4

ファイル:
 

こんにちは、Mladenです。

icustomでEAを作ったのですが、コンパイル後、エラーや警告は出なかったのですが、Backtestで OPが全く出ないのですが?

このスレッドに私のEAを投稿することは可能ですか?

ありがとうございます。

よろしくお願いします。

 
Dova:
こんにちは、Mladen。

icustomでEAを作ったのですが、コンパイル後、エラーや警告が出ないのに、バックテストではOPが全く出ないのですが?

このスレッドに私のEAを投稿することができます私はそれを修正するためにあなたの助けをしたいと思います。

ありがとうございます。

よろしくお願いします

Dova

誰かが見てくれるように投稿してください。

 
mladen:
Kelch

ひとつだけ変更したのは、向きを変えたことです。この方法で、もう少し論理的な値が表示されるようになったようです。こちらも試してみてください。

for_a_new_life-1.01.mq4

mladenさん、ありがとうございました。

 

私の試用版です。

コンパイル中はエラーも警告も出ないが、BT時にOPが出ない。

このEAはOPから逆行させることができるようにしたい。

サンプルは、すでに買いポジションの場合、次のキャンドルで売り矢印が表示され、買いから売りにポジションを自動反転させます。

Trailling Stopも追加してください。

英語が下手ですみません

pfi.ex4ea_pfi.mq4

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

ファイル:
pfi.ex4  6 kb
ea_pfi.mq4  4 kb
 
Dova:
私の試用版はこちらです。

このソフトはコンパイル中はエラーも警告も出ないが、BT時にOPが出ない。

このEAはOPから逆行することができます。

サンプルとして、すでに買いポジションの場合、次のキャンドルで売り矢印が表示され、買いから売りにポジションを自動で反転させることができます。

Trailling Stopも追加してください。

英語が下手ですみません

pfi.ex4ea_pfi.mq4

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

この投稿を読んでいる人に分かりやすくするために、「OPから反転」または「BT時はOPなし」とはどういう意味なのでしょうか?

 
mladen:
その投稿を読んでいる人のわかりやすさのために、「OPから反転」または「BT時にOPなし」とは具体的にどういう意味なのでしょうか?

OP=オープンポジション、BT=バックテストという 意味です。

バックテスト後、オープンポジションはありません。

買いポジションがある場合、次のキャンドルで売り矢印/シグナルが表示されると、自動的にロングポジションをクローズしてショートポジションをオープンし、その逆もあります。

私は私の説明はそれが明確になることを願っています...

ありがとうございます

 

皆様にご挨拶申し上げます。

新しいメンバーなので、場所が違うかもしれませんが、お許しください。

このインジケータをEAに組み込むために、マスター・コーディングのサポートをお願いします。

このインディケータをEAにコーディングするために。

EAのつもりで私が望んでいたように動作することができるようになります、すなわち。

1.Open自動価格はラインTL1に触れたときに購入する。

2.Open自動的に価格がラインTL2に触れたときに販売する

3.Open自動的に価格がラインTL2を超えているときに購入する

4.Openは自動的に価格がラインTL1以上であるとき販売する

5.Closed自動価格はラインTL2に触れるとき、直接開いている販売を続行する購入

価格がラインTL1に触れたときに6.Closed自動販売機は、直接開いて買うに進みます。

7.nomor 3と4は手動で(TrailingStopなし)閉じました。

8.SL 50ピップス、ロット0.1に置く

すべてのペアのための9.TimeフレームH4。

どうもありがとうございました

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

/ / | SHI_Channel_true.mq4||。

/ / | 著作権©2004、Shurka&ケビン|。

/ / | |

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

# プロパティ コピーライト " Copyright © 2004 , Shurka & Kevin "

# プロパティリンク "

/ / ----

# プロパティindicator_chart_window

# プロパティ indicator_buffers 1

# プロパティ indicator_color1 Red

ExtMapBuffer1 double [ ] ;

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

extern int AllBars = 240 ;

BarsForFract extern int = 0 ;

CurrentBar int = 0 ;

double Step = 0 ;

int B1 = -1 , B2 = -1 ;

UpDown int = 0 ;

double P1 = 0 , P2 = 0 , PP = 0 ;

int i = 0 , AB = 300 , BFF = 0 ;

ishift int = 0 ;

double iprice = 0 ;

datetime T1 , T2 ;

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

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

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

int init ( )

{

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

SetIndexStyle ( 0 , DRAW_ARROW ) ;

SetIndexArrow ( 0 , 164 ) ;

SetIndexBuffer ( 0 , ExtMapBuffer1 ) ;

SetIndexEmptyValue ( 0 , 0.0 ) ;

/ / ----

return ( 0 ) ;

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

/ カストマーインジケーター関数の初期化について

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

deinit int ( )

{

ObjectDelete ( " TL1 " ) ;

ObjectDelete ( " TL2 " ) ;

ObjectDelete ( " MIDL " ) ;

コメント ( " " ) ;

/ / ----

return ( 0 ) ;

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

/ / | |

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

DelObj void ( )

{

ObjectDelete ( " TL1 " ) ;

ObjectDelete ( " TL2 " ) ;

ObjectDelete ( " MIDL " ) ;

}

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

/ カスタムインジケーターイテレーション機能

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

int start ( )

{

IndicatorCounted counted_bars = int ( ) ;

/ / ----

if ( ( AllBars == 0 ) | | ( Bars < AllBars ) )

AB = Bars ;

else AB = AllBars ; / / AB - ÷ ÷ åñòâî Ian èòûâîõ áàðiiâî

もし( BarsForFract > 0 )

BFF = BarsForFract ;

それ以外

switch ( ピリオド ( ) )

{

ケース1:BFF = 12 ;ブレーク。

case 5 : BFF = 48 ;ブレーク。

case 15 : BFF = 24 ; break;

ケース30 : BFF = 24 ;ブレーク;

case 60 : BFF = 12 ;ブレーク;

ケース240BFF = 15 ;ブレーク

ケース1440BFF = 10 ;ブレーク;

ケース 10080 : BFF = 6 ;ブレーク。

デフォルト : DelObj ( ), return ( -1 ) ; break;

}

B1 = -1 ;

B2 = -1 ;

UpDown = 0 ;

while ( ( ( B1 == -1 ) | | ( B2 == -1 ) ) && ( CurrentBar < AB ) ) )

{

/ / UpDown = 1 ÷ CIA の場合、UpDown = -1 ÷ CIA の場合、UpDown = -1 となります。

/ / íàéäåí ñíèçó , CIA UpDown = 0 ÷ AU EO he íàéäåí ....

/ / A1 a2 è - ÿ áÕ áÕ áÕ áÕ áÕ、ADAC IEO áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ。

/ / È D1 D2 - ÷ ADAC åíu åíu åíu åíu åíu åíu áíu åíu åíu åíu áíu åíu åíu åíu áíu åíu åíu åíu åíu áíu åíu áíu åìi ááíu áíu

if ( ( UpDown < 1 ) && ( CurrentBar == Lowest ( Symbol ( ) , Period ( ) , MODE_LOW , BFF * 2 + 1 ,

CurrentBar - BFF ) ))

{

if ( UpDown == 0 )

{

UpDown = -1 ;

B1 = CurrentBar ;

P1 = Low [ B1 ] ;

}

さもなくば

{

B2 = CurrentBar ;

P2 = Low [ B2 ] ;

}

}

if ( ( UpDown > -1 ) && ( CurrentBar == Highest ( Symbol ( ) , Period ( ) , MODE_HIGH , BFF * 2 + 1 ,

CurrentBar - BFF ) ))

{

if ( UpDown == 0 )

{

UpDown = 1 ;

B1 = CurrentBar ;

P1 = High [ B1 ] ;

}

さもなくば

{

B2 = CurrentBar ;

P2 = High [ B2 ] ;

}

}

CurrentBar + + ;

}

if ( ( B1 == -1 ) | | ( B2 == -1 ) )

{

DelObj ( ) ;

return ( -1 ) ;

}/ / Eo ÷ CIA he íàÕÕè 300 áðàÕè 8-)

ステップ = ( P2 - P1 ) / ( B2 - B1 ) / / Au ÷ OAA , II ÷ OI ÷ OA

P1 = P1 - B1 * ステップ ;

B1 = 0 ;/ / AADの動作に影響を与える。

/ / À ÷ eo Oi í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í ì í ì á

ishift = 0 ;

iprice = 0 ;

if ( UpDown == 1 )

{

PP = Low [ 2 ] - 2 * ステップ ;

for (i = 3 ; i < = B2 ; i + + )

{

if ( Low [ i ] < PP + Step * i )

PP = Low [ i ] - i * Step ;

}

if ( Low [ 0 ] < PP )

{

ishift = 0 ;

iprice = PP ;

}

if ( 安値 [ 1 ] < PP + ステップ )

{

ishift = 1 ;

iprice = PP + Step ;

}

if ( 高値 [ 0 ] > P1 )

{

ishift = 0 ;

iprice = P1 ;

}

if ( 高値 [ 1 ] > P1 + ステップ )

{

ishift = 1 ;

iprice = P1 + Step ;

}

}

さもなくば

PP = High [ 2 ] - 2 * Step ;

for (i = 3 ; i < = B2 ; i + + )

{

if ( High [ i ] > PP + Step * i )

PP = High [ i ] - i * Step ;

}

if ( Low [ 0 ] < P1 )

{

ishift = 0 ;

iprice = P1 ;

}

if ( 安値 [ 1 ] < P1 + ステップ )

{

ishift = 1 ;

iprice = P1 + Step ;

}

if ( 高値 [ 0 ] > PP )

{

ishift = 0 ;

iprice = PP ;

}

if ( 高値 [ 1 ] > PP + ステップ )

{

ishift = 1 ;

iprice = PP + Step ;

}

}

/ / åÕÕÕÕÕÕ åÕÕÕÕÕÕÕÕÕ åÕÕÕ åÕÕÕÕ åÕÕÕÕ åÕÕÕÕ åÕÕÕ åÕÕÕ åÕÕ åÕÕ åÕ åÕ åÕ åÕ åÕ åÕ åÕ ååÕ ååÕ AAD AA ããÕÕÕÕÕÕÕÕÕ åÕÕÕÕáááÕØ

P2 = P1 + AB * ステップ ;

T1 = 時間 [ B1 ] ;

T2 = 時間 [ AB ] ;

/ / Åñëje he ÷ åíèy ère èreà , oi 0 , EIA ÷ åñàyèi Ineno .

if ( iprice ! = 0 )

ExtMapBuffer1 [ ishift ] = iprice ;

DelObj ( ) ;

ObjectCreate ( " TL1 " , OBJ_TREND , 0 , T2 , PP + Step * AB , T1 , PP ) ;

このとき、"TL1" は、"TL1" と同じ色になります。

オブジェクトセット ( " TL1 " , OBJPROP_WIDTH , 2 ) ;

ObjectSet ( " TL1 " , OBJPROP_STYLE , STYLE_SOLID ) ;

ObjectCreate ( " TL2 " , OBJ_TREND , 0 , T2 , P2 , T1 , P1 ) ;

ObjectSet ( " TL2 " , OBJPROP_COLOR , White ) ;

オブジェクトセット ( " TL2 " , OBJPROP_WIDTH , 2 ) ;

ObjectSet ( " TL2 " , OBJPROP_STYLE , STYLE_SOLID ) ;

ObjectCreate ( " MIDL " , OBJ_TREND , 0 , T2 , ( P2 + PP + Step * AB ) / 2 , T1 , ( P1 + PP ) / 2 ) ;

オブジェクトセット ( " MIDL " , OBJPROP_COLOR , 黄色 ) ;

ObjectSet ( " MIDL " , OBJPROP_WIDTH , 1 ) ;

オブジェクトセット ( " MIDL " , OBJPROP_STYLE , STYLE_DOT ) ;

コメント ( " チャンネルサイズ = " , DoubleToStr ( MathAbs ( PP - P1 ) / Point , 0 ) )) , " スロープ = " ,

DoubleToStr ( - Step / Point , 2 ) ) ;

/ / ----

return ( 0 ) ;

}

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

 
djiwenk:
すべての人にご挨拶....

新メンバーのため、場所が間違っていたらお許しください。

マスターコーディングのサポートをお願いします。

このインジケータをEAにコーディングしてください。

EAのつもりで私が望んでいたように動作することができるようになります、すなわち。

1.Open自動価格はラインTL1に触れたときに購入する。

2.Open自動的に価格がラインTL2に触れたときに販売する

3.Openは自動的に価格がラインTL2を超えているときに購入する

4.Openは自動的に価格がラインTL1以上であるとき販売する

5.Closed自動価格はラインTL2に触れるとき、直接開いている販売を続行する購入

価格がラインTL1に触れたときに6.Closed自動販売機は、直接開いて買うに進みます。

7.nomor 3と4は手動で(TrailingStopなし)閉じました。

8.SL 50ピップス、ロット0.1に置く

すべてのペアのための9.TimeフレームH4。

どうもありがとうございました

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

/ / | SHI_Channel_true.mq4||。

/ / | 著作権©2004、Shurka&ケビン|。

/ / | |

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

# プロパティ コピーライト " Copyright © 2004 , Shurka & Kevin "

# プロパティリンク "

/ / ----

# プロパティ indicator_chart_window

# プロパティ indicator_buffers 1

# プロパティ indicator_color1 Red

ExtMapBuffer1 double [ ] ;

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

extern int AllBars = 240 ;

BarsForFract extern int = 0 ;

CurrentBar int = 0 ;

double Step = 0 ;

int B1 = -1 , B2 = -1 ;

UpDown int = 0 ;

double P1 = 0 , P2 = 0 , PP = 0 ;

int i = 0 , AB = 300 , BFF = 0 ;

ishift int = 0 ;

double iprice = 0 ;

datetime T1 , T2 ;

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

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

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

int init ( )

{

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

SetIndexStyle ( 0 , DRAW_ARROW ) ;

SetIndexArrow ( 0 , 164 ) ;

SetIndexBuffer ( 0 , ExtMapBuffer1 ) ;

SetIndexEmptyValue ( 0 , 0.0 ) ;

/ / ----

return ( 0 ) ;

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

/ カストマーインジケーター関数の初期化について

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

deinit int ( )

{

ObjectDelete ( " TL1 " ) ;

ObjectDelete ( " TL2 " ) ;

ObjectDelete ( " MIDL " ) ;

コメント ( " " ) ;

/ / ----

return ( 0 ) ;

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

/ / | |

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

DelObj void ( )

{

ObjectDelete ( " TL1 " ) ;

ObjectDelete ( " TL2 " ) ;

ObjectDelete ( " MIDL " ) ;

}

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

/ カスタムインジケーターイテレーション機能

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

int start ( )

{

IndicatorCounted counted_bars = int ( ) ;

/ / ----

if ( ( AllBars == 0 ) | | ( Bars < AllBars ) )

AB = Bars ;

else AB = AllBars ; / / AB - ÷ ÷ åñòâî Ian èòûâîõ áàðiiâî

もし( BarsForFract > 0 )

BFF = BarsForFract ;

それ以外

switch ( ピリオド ( ) )

{

ケース1:BFF = 12 ;ブレーク。

case 5 : BFF = 48 ;ブレーク。

case 15 : BFF = 24 ; break;

ケース30 : BFF = 24 ;ブレーク;

case 60 : BFF = 12 ;ブレーク;

ケース240BFF = 15 ;ブレーク

ケース1440BFF = 10 ;ブレーク;

ケース 10080 : BFF = 6 ;ブレーク。

デフォルト : DelObj ( ), return ( -1 ) ; break;

}

B1 = -1 ;

B2 = -1 ;

UpDown = 0 ;

while ( ( ( B1 == -1 ) | | ( B2 == -1 ) ) && ( CurrentBar < AB ) ) )

{

/ / UpDown = 1 ÷ CIA の場合、UpDown = -1 ÷ CIA の場合、UpDown = -1 となります。

/ / íàéäåí ñíèçó , CIA UpDown = 0 ÷ AU EO he íàéäåí ....

/ / A1 a2 è - ÿ áÕ áÕ áÕ áÕ áÕ、ADAC IEO áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ áÕ。

/ / È D1 D2 - ÷ ADAC åíu åíu åíu åíu åíu åíu áíu åíu åíu åíu áíu åíu åíu åíu áíu åíu åíu åíu åíu áíu åíu áíu åìi ááíu áíu

if ( ( UpDown < 1 ) && ( CurrentBar == Lowest ( Symbol ( ) , Period ( ) , MODE_LOW , BFF * 2 + 1 ,

CurrentBar - BFF ) ))

{

if ( UpDown == 0 )

{

UpDown = -1 ;

B1 = CurrentBar ;

P1 = Low [ B1 ] ;

}

さもなくば

{

B2 = CurrentBar ;

P2 = Low [ B2 ] ;

}

}

if ( ( UpDown > -1 ) && ( CurrentBar == Highest ( Symbol ( ) , Period ( ) , MODE_HIGH , BFF * 2 + 1 ,

CurrentBar - BFF ) ))

{

if ( UpDown == 0 )

{

UpDown = 1 ;

B1 = CurrentBar ;

P1 = High [ B1 ] ;

}

さもなくば

{

B2 = CurrentBar ;

P2 = High [ B2 ] ;

}

}

CurrentBar + + ;

}

if ( ( B1 == -1 ) | | ( B2 == -1 ) )

{

DelObj ( ) ;

return ( -1 ) ;

}/ / Eo ÷ CIA he íàÕÕè 300 áðàÕè 8-)

ステップ = ( P2 - P1 ) / ( B2 - B1 ) / / Au ÷ OAA , II ÷ OI ÷ OA

P1 = P1 - B1 * ステップ ;

B1 = 0 ;/ / AADの動作に影響を与える。

/ / À ÷ eo Oi í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í í ì í ì á

ishift = 0 ;

iprice = 0 ;

if ( UpDown == 1 )

{

PP = Low [ 2 ] - 2 * ステップ ;

for (i = 3 ; i < = B2 ; i + + )

{

if ( Low [ i ] < PP + Step * i )

PP = Low [ i ] - i * Step ;

}

if ( Low [ 0 ] < PP )

{

ishift = 0 ;

iprice = PP ;

}

if ( 安値 [ 1 ] < PP + ステップ )

{

ishift = 1 ;

iprice = PP + Step ;

}

if ( 高値 [ 0 ] > P1 )

{

ishift = 0 ;

iprice = P1 ;

}

if ( 高値 [ 1 ] > P1 + ステップ )

{

ishift = 1 ;

iprice = P1 + Step ;

}

}

さもなくば

PP = High [ 2 ] - 2 * Step ;

for (i = 3 ; i < = B2 ; i + + )

{

if ( High [ i ] > PP + Step * i )

PP = High [ i ] - i * Step ;

}

if ( Low [ 0 ] < P1 )

{

ishift = 0 ;

iprice = P1 ;

}

if ( 安値 [ 1 ] < P1 + ステップ )

{

ishift = 1 ;

iprice = P1 + Step ;

}

if ( 高値 [ 0 ] > PP )

{

ishift = 0 ;

iprice = PP ;

}

if ( 高値 [ 1 ] > PP + ステップ )

{

ishift = 1 ;

iprice = PP + Step ;

}

}

/ / åÕÕÕÕÕÕ åÕÕÕÕÕÕÕÕÕ åÕÕÕ åÕÕÕÕ åÕÕÕÕ åÕÕÕÕ åÕÕÕ åÕÕÕ åÕÕ åÕÕ åÕ åÕ åÕ åÕ åÕ åÕ ååÕ ååÕ AAD AA ãÔÇÔÇÔÕÕÕÕÕ åÕÕÕÕÕáááÕØ

P2 = P1 + AB * ステップ ;

T1 = 時間 [ B1 ] ;

T2 = 時間 [ AB ] ;

/ / Åñëje he ÷ åíèy ère èreà , oi 0 , EIA ÷ åñàyèi Ineno .

if ( iprice ! = 0 )

ExtMapBuffer1 [ ishift ] = iprice ;

DelObj ( ) ;

ObjectCreate ( " TL1 " , OBJ_TREND , 0 , T2 , PP + Step * AB , T1 , PP ) ;

このとき、"TL1" は、"TL1" と同じ色になります。

オブジェクトセット ( " TL1 " , OBJPROP_WIDTH , 2 ) ;

ObjectSet ( " TL1 " , OBJPROP_STYLE , STYLE_SOLID ) ;

ObjectCreate ( " TL2 " , OBJ_TREND , 0 , T2 , P2 , T1 , P1 ) ;

ObjectSet ( " TL2 " , OBJPROP_COLOR , White ) ;

オブジェクトセット ( " TL2 " , OBJPROP_WIDTH , 2 ) ;

ObjectSet ( " TL2 " , OBJPROP_STYLE , STYLE_SOLID ) ;

ObjectCreate ( " MIDL " , OBJ_TREND , 0 , T2 , ( P2 + PP + Step * AB ) / 2 , T1 , ( P1 + PP ) / 2 ) ;

オブジェクトセット ( " MIDL " , OBJPROP_COLOR , 黄色 ) ;

ObjectSet ( " MIDL " , OBJPROP_WIDTH , 1 ) ;

オブジェクトセット ( " MIDL " , OBJPROP_STYLE , STYLE_DOT ) ;

コメント ( " チャンネルサイズ = " , DoubleToStr ( MathAbs ( PP - P1 ) / Point , 0 ) )) , " スロープ = " ,

DoubleToStr ( - Step / Point , 2 ) ) ;

/ / ----

return ( 0 ) ;

}

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

djiwenk

あなたは、shiチャネルが常に変化することを知っていますか(現在の価格が変化 すると、shiチャネルも変更されます)?

 

電子書籍の作成

独自のeaを作成する

ファイル:
eaprog.pdf  1296 kb