コーディングの方法は? - ページ 43

 
jimven:
Flytox: 私のTrendStrengthのコピーには、そのようなコードは見当たりません。

それはTrendStrength v2.2です。

 

カスタムプライスモード

カスタムプライスモードの作り方をご存知の方はいらっしゃいますか?私は、価格(extern int PriceMode = 6; //(high+low+close+close)/4) がMAを越えたときに信号を送るために、次のアラートを使用しています。私は、例えば1または2%のオフセットを追加することによって、これをカスタムにしたいと思います。これは可能ですか?こんな感じです。

extern int PriceMode = ((高値+安値+終値+終値)/4))* 1.01

----------------------------------------------------

#プロパティ indicator_chart_window

extern int MA1.period =5; //期間 5

extern int MA1.shift=0;

extern int MA1.method=2; //SMMA

extern int lMA1.price=2; //MAをローソク足の高値に設定

extern int sMA1.price=3; //MAをローソク足の安値に設定

extern int PriceMode = 6; //(high+low+close+close)/4

int cBar,pBarLong,pBarShort;

int start()

{

cBar = Time[0];

if(CheckMACross(1)== 1 && cBar!=pBarLong ) {EmailAlert(1); pBarLong=cBar;}.

さもなくば

if(CheckMACross(2)==-1 && cBar!=pBarShort) {EmailAlert(2); pBarShort=cBar;} }.

return(0);

}

int CheckMACross(int mode)

{

if(mode==1) int price = lMA1.price;

さもなくば

if(mode==2)価格 = sMA1.price;

double price1 = iMA(Symbol(),0,1,0,1,PriceMode,1)。

double ma1 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method, price,1)です。

double price0 = iMA(Symbol(),0,1,0,1,PriceMode,0); double ma0 = iMA(Symbol(),0,1,0,1,PriceMode,0);

double ma0 = iMA(Symbol(),0,MA1.period,MA1.shift,MA1.method,price,0); double price0 = iMA(Symbol(),0,1,0,1,PriceMode,0);

if(ma1 > price1 && ma0 <= price0) return( 1);

さもなくば

if(ma1 = price0) return(-1);

さもなければ

return(0)となります。

}

{

if(mode == 1) SendMail("LONGのシグナル",Symbol()+"Go Long"); //SendMail(送信)

さもなくば

if(mode == 2) SendMail("SHORTのシグナル",Symbol()+" Go Short");//SendMail

}

int lastBAlert = 0;

int lastSAlert = 0;

void EmailAlert(int mode)

{

if(mode == 2 && lastSAlert < Time[0] )

{

SendMail("ゴーショート1",Symbol()+" ゴーショート1"); //SendMail(送信)

lastSAlert = Time[0]。

}

}

 
vonokpasah:
私は、専門家に私の援助に来てくださいと訴えています。私は、私のためにEXPERT ADVISER META 4 TRADERを構築するのを手伝ってくれる人が必要なのです。

エキスパートを作るには何百万通りもの方法がありますが、あなたはどのような方法をお考えですか?

 

ソースコード・ヘルプ

皆さん、こんにちは。

私はEAを持っており、私はそれに入力を追加したいと思います。

もし、テイクプロフィット>= :xx , 買い :xx ロット

extern int Deltaopen1 =100;

と書きました。

if (タイプ == OP_BUY)

{

if (M2.BuyCnt == 0 && OrderTakeProfit() > OrderOpenPrice() + Deltaopen1*point)

{

買い(Symbol(), GetLots2(), Ask, 0, 0, Magic2);

を返します。

}

if (type == OP_SELL)

{

if (M2.SellCnt == 0 && OrderTakeProfit() <= OrderOpenPrice() - Deltaopen1*point)

{

売り(Symbol(), GetLots2(), Bid, 0, 0, Magic2);

を返します。

}

}

}

というのをやっているのですが、うまくいきません。

何かありましたら、よろしくお願いします。

ありがとうございます。

 

このEAを改良するのに少し手助けが必要です

このフォーラムで見つけた "GAPS EA "の修正版であるこのEAを持っています。

とにかく、添付はコードのコピーです。

#property link ""

//---- input parameters

extern int min_gapsize = 1;

extern double lotsize_gap = 5;

extern int MagicNumber = 10;

//----

datetime order_time = 0;

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

//| expert initialization function |

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

int init()

{

//----

return(0);

}

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

//| expert deinitialization function |

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

int deinit()

{

//----

return(0);

}

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

//| expert start function |

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

int start()

{

/*

Thing to be done in future in this program to make it more efficient

and more powerful:

1. Make the dicission of the quantity of lots used according to

the scillators;

2. This program will catch the gaps.

Things to ware of:

1. the spread;

2. excuting the order not on the gap ends a little bit less.

*/

// Defining the variables to decide.

Print("order time", order_time);

double current_openprice = iOpen(Symbol(), 0, 0);

double previous_highprice = iHigh(Symbol(), 0, 1);

double previous_lowprice = iLow(Symbol(), 0, 1);

double point_gap = MarketInfo(Symbol(), MODE_POINT);

int spread_gap = MarketInfo(Symbol(), MODE_SPREAD)+1;

datetime current_time = iTime(Symbol(), 0, 0);

// catching the gap on sell upper gap

if(current_openprice > previous_highprice + (min_gapsize + spread_gap)*point_gap &&

current_time != order_time)

{

int ticket = OrderSend(Symbol(), OP_SELL, lotsize_gap, Bid, 0, 0,

previous_highprice + spread_gap,

"Gapped Up Sell " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Red);

order_time = iTime(Symbol(), 0, 0);

Print("I am inside (sell) :-)", order_time);

//----

if(ticket < 0)

{

Print("OrderSend failed with error #", GetLastError());

}

}

//catching the gap on buy down gap

if(current_openprice < previous_lowprice - (min_gapsize + spread_gap)*point_gap &&

current_time != order_time)

{

ticket = OrderSend(Symbol(), OP_BUY, lotsize_gap, Ask, 0, 0,

previous_lowprice - spread_gap,

"Gapped Down Buy " + Symbol()+ " " +Period()+ "", MagicNumber, 0, Green);

order_time = iTime(Symbol(), 0, 0);

Print("I am inside (buy) :-)", order_time);

if(ticket < 0)

{

Print("OrderSend failed with error #", GetLastError());

}

}

//----

return(0);

}

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

このEAをStrategy Testerに 入れると、いつもトレードを開始しません。ジャーナルを覗いてみると、注文回数はたくさん作られていることが分かります。何がいけなかったのでしょうか?

 

ヘルプ基本的なヒストグラムの質問

これはおそらく本当に簡単で、私は何かを過ぎて見ているのですが、私はリソースが不足しており、答えを見つけることができません。

私がしようとしていることは、以前に描かれたヒストグラムバーの値を呼び出すことです。

何かアイデアはありますか?

例えば、Close[1]は最後に閉じたバーをチャート上に表示している...。

では、この別窓のインジケーターで最後に引いたヒストグラムバーを表示するにはどうしたらいいのでしょうか?

アドバイスよろしくお願いします。

-dharsant

 
dharsant:
これはおそらく本当に簡単で、私は何かを過ぎて見ているが、私はリソースが不足しており、答えを見つけることができません。

私がしようとしているのは、前に描かれたヒストグラムバーの値を呼び出すことだけです。

何かアイデアはありますか?

例えば、Close[1]はチャート上で最後に閉じたバーを表示しています...。

では、この別窓のインジケーターで最後に引いたヒストグラムバーを表示するにはどうしたらいいのでしょうか?

アドバイスをよろしくお願いします。

-dharsant

どのインジケータを呼び出しているのでしょうか?前のバーを呼び出すようにシフトを設定するだけです。

例:現在のバーの移動平均の場合。

iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,0);

前のバーの移動平均の場合。

iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,1);

インディケータを呼び出す際の最後のパラメータは、現在から何本のバーを読み込むかを意味します。

これがあなたが探していたものであることを願っています。

 

コーディングのヘルプが必要です。

私はEAでいくつかの異なる指標を使用しようとしていますが、システムにそれらを実装する方法を見つけ出すことができないようです。インジケータのどの部分を使用して、買いまたは売りを言うことができます。どのように私はEAの一部に傾斜方向線を取得することができます。

ご苦労様です。

ベノ

ファイル:
 

私はおそらく自分自身をかなり正しく説明していない。

私は iCustom に何を入れる必要があるのかを見つけようとしています。

double SDL=iCustom(NULL,0, "Slope Direction Line", period,method,price)

そして、私のEAでSlope Direction Lineインジケータから売買シグナルを 生成するために必要なことは何でしょうか。以下は私がこれまでに行ったことですが、コンパイルはできますが、ポジションは生成されません。

bool Long = TML && SDL && HeikenAshiOpen < HeikenAshiClose && hasOpen < hasClose.Bool Short = TMS && SDL && HeikenAshiClose && hasOpen < hasClose;

bool Short = TMS && SDL && HeikenAshiOpen > HeikenAshiClose && hasOpen > hasClose;

どのようなヘルプでも結構です。

乾杯

ベノ

 

まず、iCustom 呼び出しは最後に 2 つの追加引数を必要とします。 つまり、どのインジケータバッファから 読み込むか、そしてどのインデックスから読み込むかです。

第二に、"SDL" は 2 つの数値であり、"SDL" を条件として指定すると、何らかの混乱が生じます。